Class kartik\popover\PopoverX
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
Property | Type | Description | Defined 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
Property | Type | Description | Defined 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
Method | Description | Defined 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
Method | Description | Defined 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
Event | Type | Description | Defined 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
Constant | Value | Description | Defined 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
The HTML attributes for the popover indicator arrow.
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.
The body content
The footer content in the popover dialog.
The HTML attributes for the footer. The following special options are supported:
- tag: string, the HTML tag for rendering the footer. Defaults to 'div'.
The header content in the popover dialog.
The HTML attributes for the header. The following special options are supported:
- tag: string, the HTML tag for rendering the header. Defaults to 'div'.
The popover placement. Must be one of the ALIGN constants Defaults to PopoverX::ALIGN_RIGHT
or
`right`.
The plugin name
The size of the popover dialog. Must be kartik\popover\PopoverX::SIZE_LARGE or kartik\popover\PopoverX::SIZE_MEDIUM
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 popover contextual type. Must be one of the TYPE constants Defaults to
PopoverX::TYPE_DEFAULT
or default
.
Method Details
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 |
---|
Initializes the widget options.
This method sets the default values for various options.
protected void initOptions ( ) |
Initializes the widget
public void initWidget ( ) |
Registers the needed assets
public void registerAssets ( ) |
Renders the opening tag of the popover dialog body.
protected string renderBodyBegin ( ) | ||
return | string | The rendering result |
---|
Renders the closing tag of the popover dialog body.
protected string renderBodyEnd ( ) | ||
return | string | The rendering result |
---|
Renders the close button.
protected string renderCloseButton ( ) | ||
return | string | The rendering result |
---|
Renders the HTML markup for the footer of the popover dialog.
protected string renderFooter ( ) | ||
return | string | The rendering result |
---|
Renders the header HTML markup of the popover dialog.
protected string renderHeader ( ) | ||
return | string | The rendering result |
---|
Renders the toggle button.
protected string renderToggleButton ( ) | ||
return | string | The rendering result |
---|
Executes the widget.
public string|void run ( ) | ||
return | string|void | The rendering result may be directly "echoed" or returned as a string |
---|
Runs the widget
public void runWidget ( ) |