PATH:
home
/
letacommog
/
letaweb
/
protected
/
extensions
/
yiibooster
/
widgets
<?php /** *## TbRedactorJs class file * * @author: antonio ramirez <antonio@clevertech.biz> * @copyright Copyright © Clevertech 2012- * @license http://www.opensource.org/licenses/bsd-license.php New BSD License */ /** *## TbRedactorJs class * * WYSIWYG editor based on Redactor library. * @see <http://imperavi.com/redactor/docs/> * * For updates of Redactor library see <https://github.com/yiiext/imperavi-redactor-widget> by Sam Dark. * * @package booster.widgets.forms.inputs.wysiwyg */ class TbRedactorJS extends CInputWidget { /** * @var array {@link http://imperavi.com/redactor/docs/ redactor options}. */ public $editorOptions = array(); /** * @var string|null Selector pointing to textarea to initialize redactor for. * Defaults to null meaning that textarea does not exist yet and will be * rendered by this widget. */ public $selector; /** * @var string Editor width */ public $width = '100%'; /** * @var string Editor height */ public $height = '400px'; public function init() { parent::init(); if (!isset($this->editorOptions['lang'])) { $this->editorOptions['lang'] = substr(Yii::app()->getLanguage(), 0, 2); } if ($this->selector === null) { list($this->name, $this->id) = $this->resolveNameID(); $this->htmlOptions['id'] = $this->id; $this->selector = '#' . $this->id; if (!array_key_exists('style', $this->htmlOptions)) { $this->htmlOptions['style'] = "width:{$this->width};height:{$this->height};"; } if ($this->hasModel()) { echo CHtml::activeTextArea($this->model, $this->attribute, $this->htmlOptions); } else { echo CHtml::textArea($this->name, $this->value, $this->htmlOptions); } } $this->registerClientScript($this->id); } /** * Register required script files */ public function registerClientScript() { $assets = Booster::getBooster()->cs; $assets->registerPackage('redactor'); $baseUrl = $assets->packages['redactor']['baseUrl']; // Prepend language file to scripts package. if ($this->editorOptions['lang'] != 'en') { $assets->registerScriptFile($baseUrl . '/lang/' . $this->editorOptions['lang'] . '.js'); } if (isset($this->editorOptions['plugins'])) { foreach ($this->editorOptions['plugins'] as $name) { $filepath = Yii::getPathOfAlias('booster.assets.redactor.plugins') . '/' . $name . '/' . $name; $url = $baseUrl . '/plugins/' . $name . '/' . $name; if (file_exists($filepath . '.css')) $assets->registerCssFile($url.'.css'); if (file_exists($filepath . '.js')) $assets->registerScriptFile($url.'.js'); } } $options = $this->editorOptions ? CJavaScript::encode($this->editorOptions) : ''; $assets->registerScript( uniqid(__CLASS__ . '#', true), "jQuery('{$this->selector}').redactor({$options});" ); } }
[+]
..
[-] TbTabView.php
[edit]
[-] TbNavbar.php
[edit]
[-] TbHighCharts.php
[edit]
[-] TbPager.php
[edit]
[-] TbLabel.php
[edit]
[-] TbActiveForm.php
[edit]
[-] TbPanel.php
[edit]
[-] TbJsonButtonColumn.php
[edit]
[-] TbModalManager.php
[edit]
[-] TbToggleColumn.php
[edit]
[-] TbUiLayout.php
[edit]
[-] TbBaseMenu.php
[edit]
[-] widgets.md
[edit]
[-] TbEditableDetailView.php
[edit]
[-] TbButtonGroup.php
[edit]
[-] TbEditable.php
[edit]
[-] TbFileUpload.php
[edit]
[-] TbEditableField.php
[edit]
[-] TbTags.php
[edit]
[-] TbFormButtonElement.php
[edit]
[-] TbFormInputElement.php
[edit]
[-] TbJsonPager.php
[edit]
[-] TbCollapse.php
[edit]
[-] TbBulkActions.php
[edit]
[-] TbRelationalColumn.php
[edit]
[-] TbTabs.php
[edit]
[-] TbModal.php
[edit]
[-] TbExtendedGridView.php
[edit]
[-] TbJumbotron.php
[edit]
[-] TbImageGallery.php
[edit]
[-] TbWidget.php
[edit]
[-] TbMenu.php
[edit]
[-] TbProgress.php
[edit]
[-] TbButtonColumn.php
[edit]
[-] TbJsonToggleColumn.php
[edit]
[-] TbJsonPickerColumn.php
[edit]
[-] TbColorPicker.php
[edit]
[-] TbButtonGroupColumn.php
[edit]
[-] TbSwitch.php
[edit]
[-] TbHeroUnit.php
[edit]
[-] TbDatePicker.php
[edit]
[-] TbJsonCheckBoxColumn.php
[edit]
[-] TbButton.php
[edit]
[-] TbTypeahead.php
[edit]
[-] TbForm.php
[edit]
[-] TbPassfield.php
[edit]
[-] TbEditableColumn.php
[edit]
[-] TbMarkdownEditorJs.php
[edit]
[-] TbPopoverColumn.php
[edit]
[-] TbMarkdownEditor.php
[edit]
[-] TbAlert.php
[edit]
[-] TbGroupGridView.php
[edit]
[-] TbBaseInputWidget.php
[edit]
[-] TbWizard.php
[edit]
[-] TbGroupButtonColumn.php
[edit]
[-] TbExtendedFilter.php
[edit]
[-] TbGoogleVisualizationChart.php
[edit]
[-] TbHtml5Editor.php
[edit]
[-] TbGridView.php
[edit]
[-] TbListView.php
[edit]
[-] TbTimePicker.php
[edit]
[-] TbJsonGridView.php
[edit]
[-] TbCKEditor.php
[edit]
[-] TbTotalSumColumn.php
[edit]
[-] TbDateRangePicker.php
[edit]
[-] TbBadge.php
[edit]
[-] TbDropdown.php
[edit]
[-] TbBreadcrumbs.php
[edit]
[-] TbJsonGridColumn.php
[edit]
[-] TbDateTimePicker.php
[edit]
[-] TbDataColumn.php
[edit]
[-] TbCarousel.php
[edit]
[-] TbJsonDataColumn.php
[edit]
[-] TbRedactorJs.php
[edit]
[-] TbThumbnails.php
[edit]
[-] TbScrollSpy.php
[edit]
[-] TbDetailView.php
[edit]
[+]
input
[-] TbSelect2.php
[edit]
[-] TbImageColumn.php
[edit]