From 58837d63e65caa41f0c13e671d1e2abeec17887d Mon Sep 17 00:00:00 2001 From: Kartik Visweswaran Date: Fri, 8 Sep 2017 10:00:42 +0530 Subject: [PATCH] Updates to release v1.3.4 --- .github/CONTRIBUTING.md | 126 +++++++++++++++++++++++++++++++ .github/ISSUE_TEMPLATE.md | 47 ++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 16 ++++ CHANGE.md | 8 ++ LICENSE.md | 2 +- PopoverX.php | 30 ++++---- PopoverXAsset.php | 4 +- README.md | 11 ++- 8 files changed, 223 insertions(+), 21 deletions(-) create mode 100644 .github/CONTRIBUTING.md create mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000..afeef8a --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,126 @@ +Contributing to yii2-popover-x +============================== +Looking to contribute something to yii2-popover-x? **Here's how you can help.** + +Please take a moment to review this document in order to make the contribution +process easy and effective for everyone involved. + +Following these guidelines helps to communicate that you respect the time of +the developers managing and developing this open source project. In return, +they should reciprocate that respect in addressing your issue or assessing +patches and features. + +Using the issue tracker +----------------------- +When [reporting bugs][reporting-bugs] or +[requesting features][requesting-features], the +[issue tracker on GitHub][issue-tracker] is the recommended channel to use. + +The issue tracker **is not** a place for support requests. Refer the +[extension documentation and demos](http://demos.krajee.com/popover-x) and/or refer to the +[webtips Q & A forum](http://webtips.krajee.com/questions) which are the better places to get help. + +Reporting bugs with yii2-popover-x +---------------------------------- +We really appreciate clear bug reports that _consistently_ show an issue +_within yii2-popover-x_. + +The ideal bug report follows these guidelines: + +1. **Use the [GitHub issue search][issue-search]** — Check if the issue + has already been reported. +2. **Check if the issue has been fixed** — Try to reproduce the problem + using the code in the `master` branch. +3. **Isolate the problem** — Try to share a demo or a test case that + consistently reproduces the problem. + +Please try to be as detailed as possible in your bug report, especially if an +isolated test case cannot be made. Some useful questions to include the answer +to are: + +- What steps can be used to reproduce the issue? +- What is the bug and what is the expected outcome? +- What browser(s) and Operating System have you tested with? +- Does the bug happen consistently across all tested browsers? +- What version of jQuery are you using? And what version of yii2-popover-x? +- Are you using yii2-popover-x with other plugins? + +All of these questions will help others fix and identify any potential bugs. + +Requesting features in yii2-popover-x +------------------------------------------ +Before starting work on a major feature for yii2-popover-x, **read the +[documentation](http://demos.krajee.com/popover-x) first** or you may risk spending a considerable amount of +time on something which the project developers are not interested in bringing into the project. + +### Submitting a pull request + +We use GitHub's pull request system for submitting patches. Here are some +guidelines to follow when creating the pull request for your fix. + +1. Make sure to create a ticket for your pull request. This will serve as the +bug ticket, and any discussion about the bug will take place there. Your pull +request will be focused on the specific changes that fix the bug. +2. Make sure to reference the ticket you are fixing within your pull request. +This will allow us to close off the ticket once we merge the pull request, or +follow up on the ticket if there are any related blocking issues. +3. Explain why the specific change was made. Not everyone who is reviewing your +pull request will be familiar with the problem it is fixing. +4. Run your tests first. If your tests aren't passing, the pull request won't +be able to be merged. If you're breaking existing tests, make sure that you +aren't causing any breaking changes. +5. Only include source changes. While it's not required, only including changes +from the `src` directory will prevent merge conflicts from occuring. Making +this happen can be as a simple as not committing changes from the `dist` +directory. + +By following these steps, you will make it easier for your pull request to be +reviewed and eventually merged. + +Triaging issues and pull requests +--------------------------------- +Anyone can help the project maintainers triage issues and review pull requests. + +### Handling new issues + +yii2-popover-x regularly receives new issues which need to be tested and organized. + +When a new issue that comes in that is similar to another existing issue, it +should be checked to make sure it is not a duplicate. Duplicates issues should +be marked by replying to the issue with "Duplicate of #[issue number]" where +`[issue number]` is the url or issue number for the existing issue. This will +allow the project maintainers to quickly close off additional issues and keep +the discussion focused within a single issue. + +If you can test issues that are reported to yii2-popover-x that contain test cases and +confirm under what conditions bugs happen, that will allow others to identify +what causes a bug quicker. + +### Reviewing pull requests + +It is very common for pull requests to be opened for issues that contain a clear +solution to the problem. These pull requests should be rigorously reviewed by +the community before being accepted. If you are not sure about a piece of +submitted code, or know of a better way to do something, do not hesitate to make +a comment on the pull request. + +### Reviving old tickets + +If you come across tickets which have not been updated for a while, you are +encouraged to revive them. While this can be as simple as saying `:+1:`, it is +best if you can include more information on the issue. Common bugs and feature +requests are more likely to be fixed, whether it is by the community or the +developers, so keeping tickets up to date is encouraged. + +Licensing +--------- + +It should also be made clear that **all code contributed to yii2-popover-x** must be +licensable under the [BSD-3 license][licensing]. Code that cannot be released +under this license **cannot be accepted** into the project. + +[issue-search]: https://github.com/kartik-v/yii2-popover-x/search?q=&type=Issues +[issue-tracker]: https://github.com/kartik-v/yii2-popover-x/issues +[licensing]: https://github.com/kartik-v/yii2-popover-x/blob/master/LICENSE.md +[reporting-bugs]: #reporting-bugs-with-yii2-popover-x +[requesting-features]: #requesting-features-in-yii2-popover-x \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..9956059 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,47 @@ +## Prerequisites + +- [ ] I have searched for similar issues in both open and closed tickets and cannot find a duplicate. +- [ ] The issue still exists against the latest `master` branch of yii2-popover-x. +- [ ] This is not an usage question. I confirm having gone through and read the [documentation and demos](http://demos.krajee.com/popover-x). +- [ ] This is not a general programming / coding question. (Those should be directed to the [webtips Q & A forum](http://webtips.krajee.com/questions)). +- [ ] I have attempted to find the simplest possible steps to reproduce the issue. +- [ ] I have included a failing test as a pull request (Optional). + +## Steps to reproduce the issue + +1. +2. +3. + +## Expected behavior and actual behavior + +When I follow those steps, I see... + +I was expecting... + +## Environment + +#### Browsers + +- [ ] Google Chrome +- [ ] Mozilla Firefox +- [ ] Internet Explorer +- [ ] Safari + +#### Operating System + +- [ ] Windows +- [ ] Mac OS X +- [ ] Linux +- [ ] Mobile + +#### Libraries + +- jQuery version: +- yii2-popover-x version: + +## Isolating the problem + +- [ ] This bug happens [on the demos page](https://demos.krajee.com/popover-x) +- [ ] The bug happens consistently across all tested browsers +- [ ] This bug happens when using yii2-popover-x without other plugins. \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..53e8953 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,16 @@ +## Scope +This pull request includes a + +- [ ] Bug fix +- [ ] New feature +- [ ] Translation + +## Changes +The following changes were made (this change is also documented in the [change log](https://github.com/kartik-v/yii2-popover-x/blob/master/CHANGE.md)): + +- +- +- + +## Related Issues +If this is related to an existing ticket, include a link to it as well. \ No newline at end of file diff --git a/CHANGE.md b/CHANGE.md index 3a49e67..9bca94a 100644 --- a/CHANGE.md +++ b/CHANGE.md @@ -1,6 +1,14 @@ Change Log: `yii2-popover-x` ============================ +## Version 1.3.4 + +**Date:** 08-Sep-2017 + +- (enh #18): Enhancements for BS4 support for bootstrap popover-x v1.4.5. +- (enh #16): Added more positioning constants. +- Add github contribution and issue/PR logging templates. + ## Version 1.3.3 **Date:** 12-Jan-2016 diff --git a/LICENSE.md b/LICENSE.md index 047ee53..20208bf 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,4 +1,4 @@ -Copyright (c) 2014 - 2016, Kartik Visweswaran +Copyright (c) 2014 - 2017, Kartik Visweswaran Krajee.com All rights reserved. diff --git a/PopoverX.php b/PopoverX.php index 10e9eec..f24067c 100644 --- a/PopoverX.php +++ b/PopoverX.php @@ -1,8 +1,8 @@ header)) { $tag = ArrayHelper::remove($this->headerOptions, 'tag', 'div'); - Html::addCssClass($this->headerOptions, 'popover-title'); + Html::addCssClass($this->headerOptions, ['popover-header', 'popover-title']); return Html::tag($tag, "\n" . $this->header . "\n", $this->headerOptions); } else { return null; @@ -223,7 +223,7 @@ protected function renderHeader() */ protected function renderBodyBegin() { - return Html::beginTag('div', ['class' => 'popover-content']); + return Html::beginTag('div', ['class' => 'popover-body popover-content']); } /** @@ -248,7 +248,7 @@ protected function renderFooter() Html::addCssClass($this->footerOptions, 'popover-footer'); return Html::tag($tag, "\n" . $this->footer . "\n", $this->footerOptions); } else { - return null; + return ''; } } @@ -267,7 +267,7 @@ protected function renderToggleButton() } return Html::tag($tag, $label, $this->toggleButton); } else { - return null; + return ''; } } @@ -284,10 +284,9 @@ protected function renderCloseButton() if ($tag === 'button' && !isset($this->closeButton['type'])) { $this->closeButton['type'] = 'button'; } - return Html::tag($tag, $label, $this->closeButton); } else { - return null; + return ''; } } @@ -297,17 +296,17 @@ protected function renderCloseButton() */ protected function initOptions() { - $this->options = array_merge([ - 'role' => 'dialog' - ], $this->options); - $size = !empty($this->size) ? ' popover-' . $this->size : ''; - Html::addCssClass($this->options, 'popover popover-' . $this->type . $size); + if (!isset($this->options['role'])) { + $this->options['role'] = 'dialog'; + } + Html::addCssClass($this->options, ['popover', 'popover-x', "popover-{$this->type}"]); + if (isset($this->size)) { + Html::addCssClass($this->options, "popover-{$this->size}"); + } Html::addCssClass($this->arrowOptions, 'arrow'); - if ($this->pluginOptions !== false) { $this->pluginOptions = ArrayHelper::merge($this->pluginOptions, ['show' => false]); } - if ($this->closeButton !== null) { $this->closeButton = ArrayHelper::merge($this->closeButton, [ 'data-dismiss' => 'popover-x', @@ -315,7 +314,6 @@ protected function initOptions() 'class' => 'close', ]); } - if ($this->toggleButton !== null) { $this->toggleButton = ArrayHelper::merge($this->toggleButton, [ 'data-toggle' => 'popover-x', diff --git a/PopoverXAsset.php b/PopoverXAsset.php index 60e5b25..1ea62c0 100644 --- a/PopoverXAsset.php +++ b/PopoverXAsset.php @@ -1,8 +1,8 @@ NOTE: The latest version of the plugin v1.3.3 has been released. Refer the [CHANGE LOG](https://github.com/kartik-v/yii2-popover-x/blob/master/CHANGE.md) for details. +> NOTE: The latest version of the plugin v1.3.4 has been released. Refer the [CHANGE LOG](https://github.com/kartik-v/yii2-popover-x/blob/master/CHANGE.md) for details. ## Features @@ -24,7 +24,14 @@ The plugin offers these enhanced features: - Add a close icon/button to a popover window. - Configure various prebuilt styles/templates. In addition to a default (grey), the bootstrap 3 contextual color styles of `primary`, `info`, `success`, `danger`, and `warning` can be used. -- Control popover placements with respect to the target element. The plugin supports 12 different placement options: +- Control popover placements with respect to the target element. The plugin supports 19 different placement options: + - auto + - auto-left + - auto-right + - auto-top + - auto-bottom + - horizontal + - vertical - right - left - top