Skip to content

Commit

Permalink
Update to release v1.3.2
Browse files Browse the repository at this point in the history
  • Loading branch information
kartik-v committed Jan 12, 2016
1 parent 6a21af4 commit aeec2bd
Show file tree
Hide file tree
Showing 6 changed files with 101 additions and 85 deletions.
29 changes: 19 additions & 10 deletions CHANGE.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,33 @@
version 1.3.1
=============
Change Log: `yii2-popover-x`
============================

## Version 1.3.2

**Date:** 12-Jan-2016

- (enh #12): Enhancements for PJAX based reinitialization. Complements enhancements in kartik-v/yii2-krajee-base#52 and kartik-v/yii2-krajee-base#53.

## Version 1.3.1

**Date:** 01-Jul-2015

- Updates to composer dependencies.

version 1.3.0
=============
## Version 1.3.0

**Date:** 25-Nov-2014

- (enh #5): Enhance widget to use updated plugin registration from Krajee base

version 1.2.0
=============
## Version 1.2.0

**Date:** 10-Nov-2014

- Set dependency on Krajee base components
- Set release to stable

version 1.1.0
=============
## Version 1.1.0

**Date:** 2014-10-24

- Enhancements for release v1.1.0 of bootstrap-popover-x plugin.
Expand All @@ -27,8 +36,8 @@ version 1.1.0
- enh #4: Add `arrowOptions` property to configure HTML attributes for arrow.


version 1.0.0
=============
## Version 1.0.0

**Date:** 2014-07-15
- Initial release
- PSR4 alias change
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2014 - 2015, Kartik Visweswaran
Copyright (c) 2014 - 2016, Kartik Visweswaran
Krajee.com
All rights reserved.

Expand Down
135 changes: 67 additions & 68 deletions PopoverX.php
Original file line number Diff line number Diff line change
@@ -1,23 +1,22 @@
<?php
/**
* @copyright Copyright &copy; Kartik Visweswaran, Krajee.com, 2014
* @copyright Copyright &copy; Kartik Visweswaran, Krajee.com, 2014 - 2016
* @package yii2-popover-x
* @version 1.3.1
* @version 1.3.2
*/

namespace kartik\popover;

use Yii;
use yii\helpers\Html;
use yii\helpers\ArrayHelper;
use kartik\base\Widget;

/**
* An extended popover widget for Yii Framework 2 based on the bootstrap-popover-x plugin
* by Krajee. This widget combines both the popover and bootstrap modal features and includes
* various new styling enhancements.
* An extended popover widget for Yii Framework 2 based on the bootstrap-popover-x plugin by Krajee. This widget
* combines both the popover and bootstrap modal features and includes various new styling enhancements.
*
* The following example will show the content enclosed between the [[begin()]]
* and [[end()]] calls within the popover dialog:
* The following example will show the content enclosed between the [[begin()]] and [[end()]] calls within the popover
* dialog:
*
* ~~~php
* PopoverX::begin([
Expand All @@ -36,15 +35,15 @@
* @author Kartik Visweswaran <[email protected]>
* @since 1.0
*/
class PopoverX extends \kartik\base\Widget
class PopoverX extends Widget
{
const TYPE_DEFAULT = 'default';
const TYPE_PRIMARY = 'primary';
const TYPE_INFO = 'info';
const TYPE_SUCCESS = 'success';
const TYPE_DANGER = 'danger';
const TYPE_WARNING = 'warning';

const ALIGN_RIGHT = 'right';
const ALIGN_LEFT = 'left';
const ALIGN_TOP = 'top';
Expand All @@ -57,131 +56,126 @@ class PopoverX extends \kartik\base\Widget
const ALIGN_RIGHT_TOP = 'right right-top';
const ALIGN_LEFT_BOTTOM = 'left left-bottom';
const ALIGN_RIGHT_BOTTOM = 'right right-bottom';

const SIZE_LARGE = 'lg';
const SIZE_MEDIUM = 'md';

/**
* @inherit doc
* @inheritdoc
*/
protected $_pluginName = 'popoverX';
public $pluginName = 'popoverX';

/**
* @var string the popover contextual type. Must be one of the [[TYPE]] constants
* Defaults to `PopoverX::TYPE_DEFAULT` or `default`.
* @var string the popover contextual type. Must be one of the [[TYPE]] constants Defaults to
* `PopoverX::TYPE_DEFAULT` or `default`.
*/
public $type = self::TYPE_DEFAULT;

/**
* @var string the popover placement. Must be one of the [[ALIGN]] constants
* Defaults to `PopoverX::ALIGN_RIGHT` or `right`.
* @var string the popover placement. Must be one of the [[ALIGN]] constants Defaults to `PopoverX::ALIGN_RIGHT` or
* `right`.
*/
public $placement = self::ALIGN_RIGHT;

/**
* @var string the size of the popover dialog. Must be [[PopoverX::SIZE_LARGE]]
* or [[PopoverX::SIZE_MEDIUM]]
* @var string the size of the popover dialog. Must be [[PopoverX::SIZE_LARGE]] or [[PopoverX::SIZE_MEDIUM]]
*/
public $size;

/**
* @var string the header content in the popover dialog.
*/
public $header;

/**
* @var array the HTML attributes for the header. The following special
* options are supported:
* @var array the HTML attributes for the header. The following special options are supported:
*
* - tag: string, the HTML tag for rendering the header. Defaults to 'div'.
*
*/
public $headerOptions = [];

/**
* @var string the body content
*/
public $content = '';

/**
* @var array the HTML attributes for the popover indicator arrow.
*/
public $arrowOptions = [];
public $arrowOptions = [];

/**
* @var string the footer content in the popover dialog.
*/
public $footer;

/**
* @var array the HTML attributes for the footer. The following special
* @var array the HTML attributes for the footer. The following special
* options are supported:
*
* - tag: string, the HTML tag for rendering the footer. Defaults to 'div'.
*
*/
public $footerOptions = [];

/**
* @var array the options for rendering the close button tag. The close button
* is displayed in the header of the popover dialog. Clicking on the button will
* hide the popover dialog. If this is null, no close button will be rendered.
*
* The following special options are supported:
* @var array the options for rendering the close button tag. The close button is displayed in the header of the
* popover dialog. Clicking on the button will hide the popover dialog. If this is null, no close button will
* be rendered. The following special options are supported:
*
* - tag: string, the HTML tag for rendering the button. Defaults to 'button'.
* - label: string, the label of the button. Defaults to '&times;'.
*
* The rest of the options will be rendered as the HTML attributes of the button tag.
* Please refer to the [PopoverX plugin documentation](http://plugins.krajee.com/popover-x) and the
* [Modal plugin help](http://getbootstrap.com/javascript/#modals) for the supported HTML attributes.
* The rest of the options will be rendered as the HTML attributes of the button tag. Please refer to the [PopoverX
* plugin documentation](http://plugins.krajee.com/popover-x) and the [Modal plugin
* help](http://getbootstrap.com/javascript/#modals) for the supported HTML attributes.
*/
public $closeButton = [];

/**
* @var array the options for rendering the toggle button tag.
* The toggle button is used to toggle the visibility of the popover dialog.
* If this property is null, no toggle button will be rendered.
*
* The following special options are supported:
* @var array the options for rendering the toggle button tag. The toggle button is used to toggle the visibility
* of the popover dialog. If this property is null, no toggle button will be rendered. The following special
* options are supported:
*
* - tag: string, the tag name of the button. Defaults to 'button'.
* - label: string, the label of the button. Defaults to 'Show'.
*
* The rest of the options will be rendered as the HTML attributes of the button tag.
* Please refer to the [PopoverX plugin documentation](http://plugins.krajee.com/popover-x) and the
* [Modal plugin help](http://getbootstrap.com/javascript/#modals) for the supported HTML attributes.
*
* The rest of the options will be rendered as the HTML attributes of the button tag. Please refer to the [PopoverX
* plugin documentation](http://plugins.krajee.com/popover-x) and the [Modal plugin
* help](http://getbootstrap.com/javascript/#modals) for the supported HTML attributes.
*
*/
public $toggleButton;

/**
* @inheritdoc
*/
public function init()
public function run()
{
$this->renderWidget();
}

/**
* Initializes and renders the widget
*/
public function renderWidget()
{
parent::init();
$this->initOptions();
echo $this->renderToggleButton() . "\n";
echo Html::beginTag('div', $this->options) . "\n";
echo Html::tag('div', '', $this->arrowOptions);
echo $this->renderHeader() . "\n";
echo $this->renderBodyBegin() . "\n";
}

/**
* @inheritdoc
*/
public function run()
{
echo "\n" . $this->renderBodyEnd();
echo "\n" . $this->renderFooter();
echo "\n" . Html::endTag('div');
$this->registerAssets();
}
}

/**
* Renders the header HTML markup of the popover dialog.
*
* @return string the rendering result
*/
protected function renderHeader()
Expand All @@ -201,15 +195,17 @@ protected function renderHeader()

/**
* Renders the opening tag of the popover dialog body.
*
* @return string the rendering result
*/
protected function renderBodyBegin()
{
return Html::beginTag('div', ['class' => 'popover-content']);
return Html::beginTag('div', ['class' => 'popover-content']);
}

/**
* Renders the closing tag of the popover dialog body.
*
* @return string the rendering result
*/
protected function renderBodyEnd()
Expand All @@ -219,21 +215,23 @@ protected function renderBodyEnd()

/**
* Renders the HTML markup for the footer of the popover dialog.
*
* @return string the rendering result
*/
protected function renderFooter()
{
if (!empty($this->footer)) {
$tag = ArrayHelper::remove($this->footerOptions, 'tag', 'div');
Html::addCssClass($this->footerOptions, 'popover-footer');
return Html::tag('div', "\n" . $this->footer . "\n", $this->footerOptions);
return Html::tag($tag, "\n" . $this->footer . "\n", $this->footerOptions);
} else {
return null;
}
}

/**
* Renders the toggle button.
*
* @return string the rendering result
*/
protected function renderToggleButton()
Expand All @@ -252,6 +250,7 @@ protected function renderToggleButton()

/**
* Renders the close button.
*
* @return string the rendering result
*/
protected function renderCloseButton()
Expand Down Expand Up @@ -281,7 +280,7 @@ protected function initOptions()
$size = !empty($this->size) ? ' popover-' . $this->size : '';
Html::addCssClass($this->options, 'popover popover-' . $this->type . $size);
Html::addCssClass($this->arrowOptions, 'arrow');

if ($this->pluginOptions !== false) {
$this->pluginOptions = ArrayHelper::merge($this->pluginOptions, ['show' => false]);
}
Expand All @@ -304,7 +303,7 @@ protected function initOptions()
}
}
}

/**
* Registers the needed assets
*/
Expand All @@ -313,7 +312,7 @@ public function registerAssets()
$view = $this->getView();
PopoverXAsset::register($view);
if ($this->toggleButton === null) {
$this->registerPlugin($this->_pluginName);
$this->registerPlugin($this->pluginName);
}
}
}
}
8 changes: 4 additions & 4 deletions PopoverXAsset.php
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<?php
/**
* @copyright Copyright &copy; Kartik Visweswaran, Krajee.com, 2014
* @copyright Copyright &copy; Kartik Visweswaran, Krajee.com, 2014 - 2016
* @package yii2-popover-x
* @version 1.3.1
* @version 1.3.2
*/

namespace kartik\popover;

use Yii;
use kartik\base\AssetBundle;

/**
* Asset bundle for PopoverX widget. Includes assets from
Expand All @@ -18,7 +18,7 @@
* @author Kartik Visweswaran <[email protected]>
* @since 1.0
*/
class PopoverXAsset extends \kartik\base\AssetBundle
class PopoverXAsset extends AssetBundle
{
public $depends = [
'yii\web\YiiAsset',
Expand Down
Loading

0 comments on commit aeec2bd

Please sign in to comment.