Class kartik\markdown\MarkdownEditor
Inheritance | kartik\markdown\MarkdownEditor » kartik\base\InputWidget » yii\widgets\InputWidget » yii\base\Widget » yii\base\Component » yii\base\BaseObject |
---|---|
Implements | kartik\base\BootstrapInterface, yii\base\Configurable, yii\base\ViewContextInterface |
Uses Traits | kartik\base\BootstrapTrait, kartik\base\TranslationTrait, kartik\base\WidgetTrait |
Available since version | 1.0 |
A Markdown editor that implements PHP Markdown extra and PHP SmartyPantsTypographer styled using Bootstrap 3.0. Contains a lot of custom configuration and conversion options.
Public Properties
Property | Type | Description | Defined By |
---|---|---|---|
$attribute | string|null | The model attribute that this widget is associated with. | yii\widgets\InputWidget |
$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 |
$bootstrapCssFile | string | The bootstrap CSS file on CDN which will be used to format the exported HTML | kartik\markdown\MarkdownEditor |
$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 |
$buttonGroupOptions | array | The HTML attributes for all toolbar button groups used in the header and footer | kartik\markdown\MarkdownEditor |
$buttonOptions | array | The HTML attributes for all toolbar buttons used in the header and footer | kartik\markdown\MarkdownEditor |
$containerOptions | array | The HTML attributes for the container holding all elements together | kartik\markdown\MarkdownEditor |
$convertFormat | boolean | Whether the widget should automatically format the date from the PHP DateTime format to the javascript/jquery plugin format. | kartik\base\InputWidget |
$counter | integer | A counter used to generate $id for widgets. | yii\base\Widget |
$data | array | The data (for list inputs) | kartik\base\InputWidget |
$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 |
$disabled | boolean | Whether input is to be disabled | kartik\base\InputWidget |
$dropdownClass | string | Bootstrap dropdown class name based on currently configured bootstrap version (readonly property available via getter method getDropdownClass()) | kartik\base\BootstrapTrait |
$editorOptions | array | The HTML attributes for the container holding the header, input, and footer | kartik\markdown\MarkdownEditor |
$emptyPreview | string | Message displayed if preview is empty | kartik\markdown\MarkdownEditor |
$encodeLabels | boolean | Whether to encode the button labels Defaults to true. | kartik\markdown\MarkdownEditor |
$exportCss | string | The CSS applied to the exported converted output | kartik\markdown\MarkdownEditor |
$exportFileName | string | The export file name for download. | kartik\markdown\MarkdownEditor |
$exportHeader | string | The header message appended at the beginning of the exported converted output | kartik\markdown\MarkdownEditor |
$exportHtmlAlert | string | Deprecated and not used since v1. | kartik\markdown\MarkdownEditor |
$exportMeta | string | The export meta content to be appended at the beginning of the exported converted output | kartik\markdown\MarkdownEditor |
$exportTextAlert | string | Deprecated and not used since v1. | kartik\markdown\MarkdownEditor |
$field | yii\widgets\ActiveField | Active input field, which triggers this widget rendering. | yii\widgets\InputWidget |
$footer | string | The template to display the footer. | kartik\markdown\MarkdownEditor |
$footerButtons | array | The footer toolbar configuration. | kartik\markdown\MarkdownEditor |
$footerMessage | string | Help message displayed in footer | kartik\markdown\MarkdownEditor |
$footerOptions | array | The HTML attributes for the footer | kartik\markdown\MarkdownEditor |
$hashVarLoadPosition | integer | The position where the client JS hash variables for the input widget will be loaded. | kartik\base\WidgetTrait |
$headerOptions | array | The HTML attributes for the header | kartik\markdown\MarkdownEditor |
$height | integer | The default height of the textarea input in px | kartik\markdown\MarkdownEditor |
$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 |
$language | string | The language configuration (e.g. 'fr-FR', 'zh-CN'). | kartik\base\InputWidget |
$model | yii\base\Model|null | The data model that this widget is associated with. | yii\widgets\InputWidget |
$moduleId | string | The module identifier if this widget is part of a module. | kartik\base\WidgetTrait |
$name | string|null | The input name. | yii\widgets\InputWidget |
$options | array | The HTML attributes for the textarea input | kartik\markdown\MarkdownEditor |
$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 |
$pluginDestroyJs | string | The javascript that will be used to destroy the jQuery plugin | kartik\base\WidgetTrait |
$pluginEvents | array | Widget JQuery events. | kartik\base\WidgetTrait |
$pluginLoading | boolean | Show loading indicator while plugin loads | kartik\base\InputWidget |
$pluginName | string | The plugin name | kartik\base\WidgetTrait |
$pluginOptions | array | Widget plugin options. | kartik\base\WidgetTrait |
$previewAction | string|null | Set custom action to use for preview | kartik\markdown\MarkdownEditor |
$previewOptions | array | The HTML attributes for the preview container which will display the converted HTML text | kartik\markdown\MarkdownEditor |
$previewProgress | string | The content shown in preview window while loading / processing the preview | kartik\markdown\MarkdownEditor |
$readonly | boolean | Whether input is to be readonly | kartik\base\InputWidget |
$showExport | boolean | Show the export button - defaults to true | kartik\markdown\MarkdownEditor |
$showPreview | boolean | Show the preview button - defaults to true | kartik\markdown\MarkdownEditor |
$smarty | boolean | Use Smarty templates | kartik\markdown\MarkdownEditor |
$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 |
$toolbar | array | The header toolbar configuration. | kartik\markdown\MarkdownEditor |
$value | string | The input value. | yii\widgets\InputWidget |
$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 |
$_lang | string | The two or three letter lowercase code for the language according to ISO-639. | kartik\base\InputWidget |
$_langFile | string | The language js file. | kartik\base\InputWidget |
$_loadIndicator | string | The indicator to be displayed while plugin is loading. | kartik\base\InputWidget |
$_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 |
generateMessages() | Generate default messages | kartik\markdown\MarkdownEditor |
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() | Initialize the widget | kartik\markdown\MarkdownEditor |
initI18N() | Yii i18n messages configuration for generating translations | kartik\base\TranslationTrait |
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 |
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 |
renderFooter() | Render the editor footer content | kartik\markdown\MarkdownEditor |
run() | Run the widget | kartik\markdown\MarkdownEditor |
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 |
convertDateFormat() | Automatically convert the date format from PHP DateTime to Javascript DateTime format | kartik\base\InputWidget |
fixPjaxDuplication() | Fix for weird PJAX container duplication behavior on pressing browser back and forward buttons. | kartik\base\WidgetTrait |
generateId() | Generate HTML identifiers for elements | kartik\markdown\MarkdownEditor |
getBsExtBasename() | The yii2-bootstrap extension base name. | kartik\base\BootstrapTrait |
getButtonId() | Generate HTML Identifier for a button | kartik\markdown\MarkdownEditor |
getFooterMessage() | Generates the footer message | kartik\markdown\MarkdownEditor |
getInput() | Generates an input. | kartik\base\InputWidget |
getPluginScript() | Returns the plugin registration script. | kartik\base\WidgetTrait |
hasModel() | yii\widgets\InputWidget | |
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 |
initDisability() | Validates and sets disabled or readonly inputs. | kartik\base\InputWidget |
initInputWidget() | Initializes the input widget. | kartik\base\InputWidget |
initLanguage() | Initialize the plugin language. | kartik\base\InputWidget |
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 |
parseDateFormat() | Parses and sets plugin date format based on attribute type using yii\helpers\FormatConverter. Currently this method is used only within the kartik\date\DatePicker and \kartik\datetime\DateTimePicker\ widgets. | kartik\base\InputWidget |
parseVer() | Parses and returns the major BS version | kartik\base\BootstrapTrait |
registerAssets() | Register client assets | kartik\markdown\MarkdownEditor |
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 |
renderButton() | Render each button in the toolbar | kartik\markdown\MarkdownEditor |
renderButtonGroup() | Render each button group in the toolbar | kartik\markdown\MarkdownEditor |
renderHeader() | Render the editor header content | kartik\markdown\MarkdownEditor |
renderInput() | Render the text area input | kartik\markdown\MarkdownEditor |
renderInputHtml() | Render a HTML input tag. | yii\widgets\InputWidget |
setDataVar() | Sets a HTML5 data variable. | kartik\base\WidgetTrait |
setDefaultFooter() | Setup default footer toolbar | kartik\markdown\MarkdownEditor |
setDefaultHeader() | Setup default header toolbar | kartik\markdown\MarkdownEditor |
setLanguage() | Sets the language JS file if it exists. | kartik\base\InputWidget |
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
Property Details
The bootstrap CSS file on CDN which will be used to format the exported HTML
The HTML attributes for all toolbar button groups used in the header and footer
The HTML attributes for all toolbar buttons used in the header and footer
The HTML attributes for the container holding all elements together
The HTML attributes for the container holding the header, input, and footer
Message displayed if preview is empty
Whether to encode the button labels Defaults to true.
The CSS applied to the exported converted output
The export file name for download. Defaults to markdown-export
.
The header message appended at the beginning of the exported converted output
Deprecated and not used since v1.3.1. (originally alert message displayed before saving output as HTML)
The export meta content to be appended at the beginning of the exported converted output
Deprecated and not used since v1.3.1. (originally alert message displayed before saving output as Text)
The template to display the footer. The following special variables will be replaced:
- {buttons}: array the configuration for footer toolbar buttons (see function setDefaultFooter())
- {message}: array the footer help message displayed (see $footerMessage)
The footer toolbar configuration. List of button groups to be setup for a Bootstrap styled toolbar. Each button group is an array, which requires the following parameters:
- buttons: array of buttons to be setup.
- the array key is the button identifier. Should be one of the BTN constants.
- the array values contain these special attributes
- icon: string the name of the glyphicon to be embedded before the label
- label: string the label for the button. By default is HTML encoded and supports localization.
- encodeLabel: boolean whether the label is HTML encoded (if not set will use the global $encodeLabels setting. If set to false will use the raw label as is.
- items: an array for dropdown list of links for each button. Configuration is similar to buttons array.
- options: HTML attributes for each button. If not set will use the global $buttonOptions
- options: HTML attributes for the button group
See also function setDefaultFooter().
Help message displayed in footer
The HTML attributes for the footer
The HTML attributes for the header
The default height of the textarea input in px
The HTML attributes for the textarea input
Set custom action to use for preview
The HTML attributes for the preview container which will display the converted HTML text
The content shown in preview window while loading / processing the preview
Show the export button - defaults to true
Show the preview button - defaults to true
Use Smarty templates
The header toolbar configuration. List of button groups to be setup for a Bootstrap styled toolbar. Each button group is an array, which requires the following parameters:
- buttons: array of buttons to be setup.
- Array key is the button identifier. Should be one of the BTN constants.
- Array values contain these special attributes
- icon: string the name of the glyphicon to be embedded before the label
- label: string the label for the button. By default is HTML encoded and supports localization.
- encodeLabel: boolean whether the label is HTML encoded (if not set will use the global $encodeLabels setting. If set to false will use the raw label as is.
- items: an array for dropdown list of links for each button. Configuration is similar to buttons array.
- options: HTML attributes for each button. If not set will use the global $buttonOptions
- options: HTML attributes for the button group
See also function setDefaultToolbar().
Method Details
Generate HTML identifiers for elements
protected void generateId ( ) |
Generate default messages
public void generateMessages ( ) |
Generate HTML Identifier for a button
protected string getButtonId ( $btn ) | ||
$btn | integer | The button identifier (one of the BTN constants) |
Generates the footer message
protected void getFooterMessage ( ) |
Initialize the widget
public void init ( ) |
Register client assets
protected void registerAssets ( ) |
Render each button in the toolbar
protected string renderButton ( $btn, $options = [], $markup = true ) | ||
$btn | integer | The button identifier (one of the BTN constants) |
$options | array | The HTML attributes for the button |
$markup | boolean | Identifies whether the button needs to call the markdown markup javascript on click. Defaults to true. |
Render each button group in the toolbar
protected string renderButtonGroup ( $group, $header = true ) | ||
$group | array | The button group configuration |
$header | boolean | Whether the button group is part of the header |
Render the editor footer content
public void renderFooter ( ) |
Render the editor header content
protected void renderHeader ( ) |
Render the text area input
protected void renderInput ( ) |
Run the widget
public void run ( ) |
Setup default footer toolbar
protected void setDefaultFooter ( ) |
Setup default header toolbar
protected void setDefaultHeader ( ) |