Class kartik\popover\PopoverX

Inheritancekartik\popover\PopoverX » kartik\base\Widget » yii\base\Widget » yii\base\Component » yii\base\BaseObject
Implementskartik\base\BootstrapInterface, yii\base\Configurable, yii\base\ViewContextInterface
Uses Traitskartik\base\BootstrapTrait, kartik\base\TranslationTrait, kartik\base\WidgetTrait

PopoverX is 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:

PopoverX::begin([
    'header' => 'Hello world',
    'footer' => Html::button('View', ['class'=>'btn btn-primary']),
    'toggleButton' => ['label' => 'Open Popover'],
]);

echo 'Say hello...';

PopoverX::end();

See also:

Public Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
$arrowOptions array The HTML attributes for the popover indicator arrow. kartik\popover\PopoverX
$autoIdPrefix string The prefix to the automatically generated widget IDs. yii\base\Widget
$baseSourcePath string|false Get parsed base source path based on $sourcePath setting. If $sourcePath is not set, it will return the current working directory of this widget class. kartik\base\WidgetTrait
$behaviors yii\base\Behavior[] List of behaviors attached to this component. yii\base\Component
$bsColCssPrefixes array The bootstrap grid column css prefixes mapping, the key is the bootstrap versions, and the value is an array containing the sizes and their corresponding grid column css prefixes. kartik\base\BootstrapTrait
$bsCssMap array CSS conversion mappings across bootstrap library versions. kartik\base\BootstrapTrait
$bsExtBasename integer The yii2 bootstrap extension base name (readonly property available via getter method getBsExtBasename()) kartik\base\BootstrapTrait
$bsVer integer Bootstrap version number currently set (readonly property available via getter method getBsVer()) kartik\base\BootstrapTrait
$bsVersion integer|string The bootstrap library version that you wish to use for this specific extension / widget. kartik\base\BootstrapTrait
$closeButton array The options for rendering the close button tag. kartik\popover\PopoverX
$content string The body content kartik\popover\PopoverX
$counter integer A counter used to generate $id for widgets. yii\base\Widget
$defaultBtnCss string Default bootstrap button CSS (readonly property available via getter method getDefaultBtnCss()) kartik\base\BootstrapTrait
$defaultIconPrefix string Default icon prefix (readonly property available via getter method getDefaultIconPrefix()) kartik\base\BootstrapTrait
$defaultOptions array Default HTML attributes or other settings for widgets. kartik\base\WidgetTrait
$defaultPluginOptions array Default plugin options for the widget kartik\base\WidgetTrait
$dropdownClass string Bootstrap dropdown class name based on currently configured bootstrap version (readonly property available via getter method getDropdownClass()) kartik\base\BootstrapTrait
$footer string The footer content in the popover dialog. kartik\popover\PopoverX
$footerOptions array The HTML attributes for the footer. kartik\popover\PopoverX
$hashVarLoadPosition integer The position where the client JS hash variables for the input widget will be loaded. kartik\base\WidgetTrait
$header string The header content in the popover dialog. kartik\popover\PopoverX
$headerOptions array The HTML attributes for the header. kartik\popover\PopoverX
$i18n array The the internalization configuration for this widget. kartik\base\TranslationTrait
$id string|null ID of the widget. Note that the type of this property differs in getter and setter. See getId() and setId() for details. yii\base\Widget
$moduleId string The module identifier if this widget is part of a module. kartik\base\WidgetTrait
$options array HTML attributes or other settings for widgets. kartik\base\Widget
$pjaxContainerId string The identifier for the PJAX widget container if the widget is to be rendered inside a PJAX container. kartik\base\WidgetTrait
$pjaxDuplicationFix boolean Prevent duplication of pjax containers when browser back & forward buttons are pressed. kartik\base\WidgetTrait
$placement string The popover placement. kartik\popover\PopoverX
$pluginDestroyJs string The javascript that will be used to destroy the jQuery plugin kartik\base\WidgetTrait
$pluginEvents array Widget JQuery events. kartik\base\WidgetTrait
$pluginName string The plugin name kartik\popover\PopoverX
$pluginOptions array Widget plugin options. kartik\base\WidgetTrait
$size string The size of the popover dialog. kartik\popover\PopoverX
$sourcePath string Directory path to the original widget source. kartik\base\WidgetTrait
$stack yii\base\Widget[] The widgets that are currently being rendered (not ended). yii\base\Widget
$toggleButton array The options for rendering the toggle button tag. kartik\popover\PopoverX
$type string The popover contextual type. kartik\popover\PopoverX
$view yii\web\View The view object that can be used to render views or view files. Note that the type of this property differs in getter and setter. See getView() and setView() for details. yii\base\Widget
$viewPath string The directory containing the view files for this widget. yii\base\Widget

Protected Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
$_bsVer integer Current bootstrap version number kartik\base\BootstrapTrait
$_dataVar string The HTML5 data variable name that will be used to store the Json encoded pluginOptions within the element on which the jQuery plugin will be initialized. kartik\base\WidgetTrait
$_defaultBtnCss string Default bootstrap button CSS kartik\base\BootstrapTrait
$_defaultIconPrefix string Default icon CSS prefix kartik\base\BootstrapTrait
$_encOptions string The JSON encoded plugin options. kartik\base\WidgetTrait
$_hashVar string The generated hashed variable name that will store the JSON encoded pluginOptions in yii\web\View::POS_HEAD. kartik\base\WidgetTrait
$_isBs4 boolean Flag to detect whether bootstrap 4. kartik\base\BootstrapTrait
$_msgCat string Translation message file category name for i18n. kartik\base\TranslationTrait

Public Methods

Hide inherited methods

MethodDescriptionDefined By
__call() Calls the named method which is not a class method. yii\base\Component
__clone() This method is called after the object is created by cloning an existing one. yii\base\Component
__construct() Constructor. yii\base\BaseObject
__get() Returns the value of a component property. yii\base\Component
__isset() Checks if a property is set, i.e. defined and not null. yii\base\Component
__set() Sets the value of a component property. yii\base\Component
__unset() Sets a component property to be null. yii\base\Component
addCssClass() Adds bootstrap CSS class to options by parsing the bootstrap version for the specified Bootstrap CSS type. kartik\base\BootstrapTrait
afterRun() This method is invoked right after a widget is executed. yii\base\Widget
attachBehavior() Attaches a behavior to this component. yii\base\Component
attachBehaviors() Attaches a list of behaviors to the component. yii\base\Component
beforeRun() This method is invoked right before the widget is executed. yii\base\Widget
begin() Begins a widget. yii\base\Widget
behaviors() Returns a list of behaviors that this component should behave as. yii\base\Component
canGetProperty() Returns a value indicating whether a property can be read. yii\base\Component
canSetProperty() Returns a value indicating whether a property can be set. yii\base\Component
className() Returns the fully qualified name of this class. yii\base\BaseObject
detachBehavior() Detaches a behavior from the component. yii\base\Component
detachBehaviors() Detaches all behaviors from the component. yii\base\Component
end() Ends a widget. yii\base\Widget
ensureBehaviors() Makes sure that the behaviors declared in behaviors() are attached to this component. yii\base\Component
getBSClass() Gets the respective Bootstrap class based on currently configured bootstrap version. kartik\base\BootstrapTrait
getBaseSourcePath() Get parsed base source path based on $sourcePath setting. If $sourcePath is not set, it will return the current working directory of this widget class. kartik\base\WidgetTrait
getBehavior() Returns the named behavior object. yii\base\Component
getBehaviors() Returns all behaviors attached to this component. yii\base\Component
getBsVer() Gets the current set bootstrap version number. kartik\base\BootstrapTrait
getCssClass() Gets bootstrap css class by parsing the bootstrap version for the specified BS CSS type. kartik\base\BootstrapTrait
getDefaultBtnCss() Gets the default button CSS kartik\base\BootstrapTrait
getDefaultIconPrefix() Gets the default icon css prefix kartik\base\BootstrapTrait
getDropdownClass() Gets the respective bootstrap dropdown class name based on currently configured bootstrap version. kartik\base\BootstrapTrait
getId() Returns the ID of the widget. yii\base\Widget
getView() kartik\base\WidgetTrait
getViewPath() Returns the directory containing the view files for this widget. yii\base\Widget
hasEventHandlers() Returns a value indicating whether there is any handler attached to the named event. yii\base\Component
hasMethod() Returns a value indicating whether a method is defined. yii\base\Component
hasProperty() Returns a value indicating whether a property is defined for this component. yii\base\Component
init() Initializes the object. kartik\popover\PopoverX
initI18N() Yii i18n messages configuration for generating translations kartik\base\TranslationTrait
initWidget() Initializes the widget kartik\popover\PopoverX
isBs() Validate Bootstrap version kartik\base\BootstrapTrait
isBs4() Validate if Bootstrap 4.x version. kartik\base\BootstrapTrait
off() Detaches an existing event handler from this component. yii\base\Component
on() Attaches an event handler to an event. yii\base\Component
registerAssets() Registers the needed assets kartik\popover\PopoverX
registerWidgetJs() Registers a JS code block for the widget. kartik\base\WidgetTrait
removeCssClass() Removes bootstrap CSS class from options by parsing the bootstrap version for the specified Bootstrap CSS type. kartik\base\BootstrapTrait
render() Renders a view. yii\base\Widget
renderFile() Renders a view file. yii\base\Widget
run() Executes the widget. kartik\popover\PopoverX
runWidget() Runs the widget kartik\popover\PopoverX
setId() Sets the ID of the widget. yii\base\Widget
setView() Sets the view object to be used by this widget. yii\base\Widget
trigger() Triggers an event. yii\base\Component
widget() Creates a widget instance and runs it. yii\base\Widget

Protected Methods

Hide inherited methods

MethodDescriptionDefined By
addAsset() Adds an asset to the view. kartik\base\WidgetTrait
configureBsVersion() Configures the bootstrap version settings kartik\base\BootstrapTrait
fixPjaxDuplication() Fix for weird PJAX container duplication behavior on pressing browser back and forward buttons. kartik\base\WidgetTrait
getBsExtBasename() The yii2-bootstrap extension base name. kartik\base\BootstrapTrait
getPluginScript() Returns the plugin registration script. kartik\base\WidgetTrait
hashPluginOptions() Generates a hashed variable to store the pluginOptions. kartik\base\WidgetTrait
initBsVersion() Initializes bootstrap versions for the widgets and asset bundles. kartik\base\BootstrapTrait
initDestroyJs() Generates the pluginDestroyJs script if it is not set. kartik\base\WidgetTrait
initOptions() Initializes the widget options. kartik\popover\PopoverX
isSameVersion() Compares two versions and checks if they are of the same major BS version. kartik\base\BootstrapTrait
mergeDefaultOptions() Merge default options kartik\base\WidgetTrait
parseVer() Parses and returns the major BS version kartik\base\BootstrapTrait
registerPlugin() Registers a specific plugin and the related events kartik\base\WidgetTrait
registerPluginOptions() Registers plugin options by storing within a uniquely generated javascript variable. kartik\base\WidgetTrait
renderBodyBegin() Renders the opening tag of the popover dialog body. kartik\popover\PopoverX
renderBodyEnd() Renders the closing tag of the popover dialog body. kartik\popover\PopoverX
renderCloseButton() Renders the close button. kartik\popover\PopoverX
renderFooter() Renders the HTML markup for the footer of the popover dialog. kartik\popover\PopoverX
renderHeader() Renders the header HTML markup of the popover dialog. kartik\popover\PopoverX
renderToggleButton() Renders the toggle button. kartik\popover\PopoverX
setDataVar() Sets a HTML5 data variable. kartik\base\WidgetTrait

Events

Hide inherited events

EventTypeDescriptionDefined By
EVENT_AFTER_RUN yii\base\WidgetEvent An event raised right after executing a widget. (available since version 2.0.11) yii\base\Widget
EVENT_BEFORE_RUN yii\base\WidgetEvent An event raised right before executing a widget. (available since version 2.0.11) yii\base\Widget
EVENT_INIT yii\base\Event An event that is triggered when the widget is initialized via init(). (available since version 2.0.11) yii\base\Widget

Constants

Hide inherited constants

ConstantValueDescriptionDefined By
ALIGN_AUTO 'auto' kartik\popover\PopoverX
ALIGN_AUTO_BOTTOM 'auto-bottom' kartik\popover\PopoverX
ALIGN_AUTO_HORIZONTAL 'horizontal' kartik\popover\PopoverX
ALIGN_AUTO_LEFT 'auto-left' kartik\popover\PopoverX
ALIGN_AUTO_RIGHT 'auto-right' kartik\popover\PopoverX
ALIGN_AUTO_TOP 'auto-top' kartik\popover\PopoverX
ALIGN_AUTO_VERTICAL 'vertical' kartik\popover\PopoverX
ALIGN_BOTTOM 'bottom' kartik\popover\PopoverX
ALIGN_BOTTOM_LEFT 'bottom bottom-left' kartik\popover\PopoverX
ALIGN_BOTTOM_RIGHT 'bottom bottom-right' kartik\popover\PopoverX
ALIGN_LEFT 'left' kartik\popover\PopoverX
ALIGN_LEFT_BOTTOM 'left left-bottom' kartik\popover\PopoverX
ALIGN_LEFT_TOP 'left left-top' kartik\popover\PopoverX
ALIGN_RIGHT 'right' kartik\popover\PopoverX
ALIGN_RIGHT_BOTTOM 'right right-bottom' kartik\popover\PopoverX
ALIGN_RIGHT_TOP 'right right-top' kartik\popover\PopoverX
ALIGN_TOP 'top' kartik\popover\PopoverX
ALIGN_TOP_LEFT 'top top-left' kartik\popover\PopoverX
ALIGN_TOP_RIGHT 'top top-right' kartik\popover\PopoverX
SIZE_LARGE 'lg' kartik\popover\PopoverX
SIZE_MEDIUM 'md' kartik\popover\PopoverX
TYPE_DANGER 'danger' kartik\popover\PopoverX
TYPE_DEFAULT 'default' kartik\popover\PopoverX
TYPE_INFO 'info' kartik\popover\PopoverX
TYPE_PRIMARY 'primary' kartik\popover\PopoverX
TYPE_SUCCESS 'success' kartik\popover\PopoverX
TYPE_WARNING 'warning' kartik\popover\PopoverX

Property Details

$arrowOptions public property

The HTML attributes for the popover indicator arrow.

public array $arrowOptions = []
$closeButton public property

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 '×'.

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 array $closeButton = []
$content public property

The body content

public string $content ''
$footer public property

The footer content in the popover dialog.

public string $footer null
$footerOptions public property

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 array $footerOptions = []
$header public property

The header content in the popover dialog.

public string $header null
$headerOptions public property

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 array $headerOptions = []
$placement public property

The popover placement. Must be one of the ALIGN constants Defaults to PopoverX::ALIGN_RIGHT or

`right`.
public string $placement self::ALIGN_RIGHT
$pluginName public property

The plugin name

public string $pluginName 'popoverX'
$size public property
public string $size null
$toggleButton public property

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.
public array $toggleButton null
$type public property

The popover contextual type. Must be one of the TYPE constants Defaults to PopoverX::TYPE_DEFAULT or default.

public string $type self::TYPE_DEFAULT

Method Details

init() public method

Initializes the object.

This method is called at the end of the constructor. The default implementation will trigger an EVENT_INIT event.

public void init ( )
throws yii\base\InvalidConfigException
initOptions() protected method

Initializes the widget options.

This method sets the default values for various options.

protected void initOptions ( )
initWidget() public method

Initializes the widget

public void initWidget ( )
registerAssets() public method

Registers the needed assets

public void registerAssets ( )
renderBodyBegin() protected method

Renders the opening tag of the popover dialog body.

protected string renderBodyBegin ( )
return string

The rendering result

renderBodyEnd() protected method

Renders the closing tag of the popover dialog body.

protected string renderBodyEnd ( )
return string

The rendering result

renderCloseButton() protected method

Renders the close button.

protected string renderCloseButton ( )
return string

The rendering result

renderFooter() protected method

Renders the HTML markup for the footer of the popover dialog.

protected string renderFooter ( )
return string

The rendering result

renderHeader() protected method

Renders the header HTML markup of the popover dialog.

protected string renderHeader ( )
return string

The rendering result

renderToggleButton() protected method

Renders the toggle button.

protected string renderToggleButton ( )
return string

The rendering result

run() public method

Executes the widget.

public string|void run ( )
return string|void

The rendering result may be directly "echoed" or returned as a string

runWidget() public method

Runs the widget

public void runWidget ( )