/** * Widget's initialization method */ public function init() { $this->attachBehavior('ywplugin', array('class' => 'yiiwheels.behaviors.WhPlugin')); $this->htmlOptions['id'] = WhHtml::getOption('id', $this->htmlOptions, $this->getId()); if (!$this->selector) { $this->selector = '#' . WhHtml::getOption('id', $this->htmlOptions); } }
/** * Registers required client script for bootstrap multiselect. It is not used through bootstrap->registerPlugin * in order to attach events if any */ public function registerClientScript() { /* publish assets dir */ $path = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'assets'; $assetsUrl = $this->getAssetsUrl($path); /* @var $cs CClientScript */ $cs = Yii::app()->getClientScript(); $cs->registerScriptFile($assetsUrl . '/js/jquery.maskmoney.js'); /* initialize plugin */ $selector = '#' . WhHtml::getOption('id', $this->htmlOptions, $this->getId()); $this->getApi()->registerPlugin('maskMoney', $selector, $this->pluginOptions); }
/** * Registers required client script for bootstrap typeahead. It is not used through bootstrap->registerPlugin * in order to attach events if any */ public function registerClientScript() { /* publish assets dir */ $path = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'assets'; $assetsUrl = $this->getAssetsUrl($path); /* @var $cs CClientScript */ $cs = Yii::app()->getClientScript(); $min = $this->debugMode ? '.min' : ''; $cs->registerCssFile($assetsUrl . '/css/typeahead' . $min . '.css'); $cs->registerScriptFile($assetsUrl . '/js/typeahead' . $min . '.js'); /* initialize plugin */ $selector = '#' . WhHtml::getOption('id', $this->htmlOptions, $this->getId()); $this->getApi()->registerPlugin('typeahead', $selector, $this->pluginOptions); }
/** * Registers required client script for bootstrap multiselect. It is not used through bootstrap->registerPlugin * in order to attach events if any */ public function registerClientScript() { /* publish assets dir */ $path = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'assets'; $assetsUrl = $this->getAssetsUrl($path); /* @var $cs CClientScript */ $cs = Yii::app()->getClientScript(); $cs->registerCssFile($assetsUrl . '/css/bootstrap-multiselect.css'); $cs->registerScriptFile($assetsUrl . '/js/bootstrap-multiselect.js'); /* initialize plugin */ $selector = '#' . WhHtml::getOption('id', $this->htmlOptions, $this->getId()); $this->getApi()->registerPlugin('multiselect', $selector, $this->pluginOptions); $this->getApi()->registerEvents($selector, $this->events); }
/** * Registers required client script for finuploader */ public function registerClientScript() { /* publish assets dir */ $path = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'assets'; $assetsUrl = $this->getAssetsUrl($path); /* @var $cs CClientScript */ $cs = Yii::app()->getClientScript(); $script = YII_DEBUG ? 'jquery.fineuploader-3.2.js' : 'jquery.fineuploader-3.2.min.js'; $cs->registerCssFile($assetsUrl . '/css/fineuploader.css'); $cs->registerScriptFile($assetsUrl . '/js/' . $script); /* initialize plugin */ $selector = '#' . WhHtml::getOption('id', $this->htmlOptions, $this->getId()); $this->getApi()->registerPlugin('fineUploader', $selector, CMap::mergeArray($this->defaultOptions, $this->pluginOptions)); $this->getApi()->registerEvents($selector, $this->events); }
/** * Registers client script */ public function registerClientScript() { /* publish assets dir */ $path = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'assets'; $assetsUrl = $this->getAssetsUrl($path); /* @var $cs CClientScript */ $cs = Yii::app()->getClientScript(); $cs->registerCssFile($assetsUrl . '/css/jquery.fileupload-ui.css'); $cs->registerScriptFile($assetsUrl . '/js/vendor/jquery.ui.widget.js'); $cs->registerScriptFile($assetsUrl . '/js/jquery.iframe-transport.js'); $cs->registerScriptFile($assetsUrl . '/js/jquery.fileupload.js'); /* initialize plugin */ $selector = '#' . WhHtml::getOption('id', $this->htmlOptions, $this->getId()); $this->getApi()->registerPlugin('fileupload', $selector, $this->pluginOptions); }
/** * Registers required client script for sparklines */ public function registerClientScript() { /* publish assets dir */ $path = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'assets'; $assetsUrl = $this->getAssetsUrl($path); /* @var $cs CClientScript */ $cs = Yii::app()->getClientScript(); $script = $this->debugMode ? 'jquery.sparkline.js' : 'jquery.sparkline.min.js'; $cs->registerScriptFile($assetsUrl . '/js/' . $script); /* initialize plugin */ $selector = '#' . WhHtml::getOption('id', $this->htmlOptions, $this->getId()); $data = CJavaScript::encode($this->data); $options = CJavaScript::encode($this->pluginOptions); $cs->registerScript(__CLASS__ . '#' . $selector, "jQuery('{$selector}').sparkline({$data}, {$options});"); }
/** * Registers required client script for bootstrap datepicker. */ public function registerClientScript() { /* publish assets dir */ $path = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'assets'; $assetsUrl = $this->getAssetsUrl($path); /* @var $cs CClientScript */ $cs = Yii::app()->getClientScript(); $cs->registerCssFile($assetsUrl . '/css/datepicker.css'); $cs->registerScriptFile($assetsUrl . '/js/bootstrap-datepicker.js'); if ($language = WhHtml::getOption('language', $this->pluginOptions)) { $cs->registerScriptFile($assetsUrl . '/js/locales/bootstrap-datepicker.' . $language . '.js', CClientScript::POS_END); } /* initialize plugin */ $selector = '#' . WhHtml::getOption('id', $this->htmlOptions, $this->getId()); $this->getApi()->registerPlugin('datepicker', $selector, $this->pluginOptions); $this->getApi()->registerEvents($selector, $this->events); }
/** * Registers required client script for bootstrap select2. It is not used through bootstrap->registerPlugin * in order to attach events if any */ public function registerClientScript() { /* publish assets dir */ $path = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'assets'; $assetsUrl = $this->getAssetsUrl($path); /* @var $cs CClientScript */ $cs = Yii::app()->getClientScript(); $script = $this->debugMode ? 'redactor.js' : 'redactor.min.js'; $cs->registerCssFile($assetsUrl . '/css/redactor.css'); $cs->registerScriptFile($assetsUrl . '/js/' . $script); /* register language */ $language = WhHtml::getOption('lang', $this->pluginOptions); if (!empty($language) && $language != 'en') { $cs->registerScriptFile($assetsUrl . '/js/langs/' . $language . '.js', CClientScript::POS_END); } /* register plugins (if any) */ $this->registerPlugins($assetsUrl); /* initialize plugin */ $selector = '#' . WhHtml::getOption('id', $this->htmlOptions, $this->getId()); $this->getApi()->registerPlugin('redactor', $selector, $this->pluginOptions); }
/** * * Registers required css js files */ public function registerClientScript() { /* publish assets dir */ $path = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'assets'; $assetsUrl = $this->getAssetsUrl($path); /* register required moment.js */ $this->getYiiWheels()->registerAssetJs('moment.min.js'); /* @var $cs CClientScript */ $cs = Yii::app()->getClientScript(); $cs->registerCssFile($assetsUrl . '/css/daterangepicker.css'); $cs->registerScriptFile($assetsUrl . '/js/daterangepicker.js', CClientScript::POS_END); /* initialize plugin */ $selector = null === $this->selector ? '#' . WhHtml::getOption('id', $this->htmlOptions, $this->getId()) : $this->selector; $callback = $this->callback instanceof CJavaScriptExpression ? $this->callback : ($this->callback === null ? '' : new CJavaScriptExpression($this->callback)); $cs->registerScript(__CLASS__ . '#' . $this->getId(), '$("' . $selector . '").daterangepicker(' . CJavaScript::encode($this->pluginOptions) . ($callback ? ', ' . CJavaScript::encode($callback) : '') . ');'); }
/** * Registers required files and initialization script */ public function registerClientScript() { /* publish assets dir */ $path = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'assets'; $assetsUrl = $this->getAssetsUrl($path); $id = WhHtml::getOption('id', $this->htmlOptions, $this->getId()); $jsFile = !empty($this->scales) ? 'JQAllRangeSliders-withRuler-min.js' : 'JQAllRangeSliders-min.js'; /* @var $cs CClientScript */ $cs = Yii::app()->getClientScript(); $cs->registerCoreScript('jquery'); $cs->registerCoreScript('jquery.ui'); $this->getYiiWheels()->registerAssetJs('jquery.mousewheel.min.js'); $cs->registerCssFile($assetsUrl . '/css/' . $this->theme . '.css'); $cs->registerScriptFile($assetsUrl . '/js/' . $jsFile); $options = !empty($this->options) ? CJavaScript::encode($this->options) : ''; $inputValSet = "\$('#{$id}').val(data.values.min+','+data.values.max);"; //inserting trigger if (isset($this->events['valuesChanged'])) { $orig = $this->events['valuesChanged']; if (strpos($orig, 'js:') === 0) { $orig = substr($orig, 3); } $orig = "\n({$orig}).apply(this, arguments);"; } else { $orig = ''; } $this->events['valuesChanged'] = "js: function(id, data) {\r\n\t\t\t{$inputValSet} {$orig}\r\n\t\t}"; ob_start(); echo "jQuery('#slider_{$id}').{$this->type}Slider({$options})"; foreach ($this->events as $event => $handler) { echo ".on('{$event}', " . CJavaScript::encode($handler) . ")"; } $cs->registerScript(__CLASS__ . '#' . $this->getId(), ob_get_clean() . ';'); }
/** * Publishes and registers the necessary script files. */ protected function registerClientScript() { /* publish assets dir */ $path = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'assets'; $assetsUrl = $this->getAssetsUrl($path); /* @var $cs CClientScript */ $cs = Yii::app()->getClientScript(); $cs->registerScriptFile($assetsUrl . '/js/highcharts.js'); /* register required files */ $defaultOptions = array('exporting' => array('enabled' => true)); $this->pluginOptions = CMap::mergeArray($defaultOptions, $this->pluginOptions); if (isset($this->options['exporting']) && @$this->options['exporting']['enabled']) { $cs->registerScriptFile($assetsUrl . '/js/modules/exporting.js'); } if ($theme = WhHtml::getOption('theme', $this->pluginOptions)) { $cs->registerScriptFile($assetsUrl . '/js/themes/' . $theme . '.js'); } $options = CJavaScript::encode($this->pluginOptions); $cs->registerScript(__CLASS__ . '#' . $this->getId(), "var highchart{$this->getId()} = new Highcharts.Chart({$options});"); }
/** * Registers client scripts */ protected function registerClientScript() { $path = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'assets'; $assetsUrl = $this->getAssetsUrl($path); /* @var $cs CClientScript */ $cs = Yii::app()->clientScript; $cs->registerCoreScript('jquery'); $cs->registerCssFile($assetsUrl . '/css/bootstrap-toggle-buttons.css'); $cs->registerScriptFile($assetsUrl . '/js/jquery.toggle.buttons.js'); /* initialize plugin */ $selector = '#wrapper-' . WhHtml::getOption('id', $this->htmlOptions, $this->getId()); $this->getApi()->registerPlugin('toggleButtons', $selector, $this->getConfiguration(), CClientScript::POS_READY); }
/** * Registers required client script for bootstrap ace editor. */ public function registerClientScript() { /* publish assets dir */ $path = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'assets'; $assetsUrl = $this->getAssetsUrl($path); /* @var $cs CClientScript */ $cs = Yii::app()->getClientScript(); $cs->registerScriptFile($assetsUrl . '/js/ace.js'); $id = WhHtml::getOption('id', $this->htmlOptions, $this->getId()); /* Global value that will hold the editor */ $cs->registerScript(uniqid(__CLASS__ . '#' . $id, true), 'var ' . $id . ';', CClientScript::POS_HEAD); ob_start(); /* initialize plugin */ $selector = WhHtml::getOption('id', $this->htmlOptions, $this->getId()); echo $selector . '= ace.edit("' . $id . '");' . PHP_EOL; echo $selector . '.setTheme("ace/theme/' . $this->theme . '");' . PHP_EOL; echo $selector . '.getSession().setMode("ace/mode/' . $this->mode . '");' . PHP_EOL; if (!empty($this->events) && is_array($this->events)) { foreach ($this->events as $name => $handler) { $handler = $handler instanceof CJavaScriptExpression ? $handler : new CJavaScriptExpression($handler); echo $id . ".getSession().on('{$name}', {$handler});" . PHP_EOL; } } $cs->registerScript(uniqid(__CLASS__ . '#ReadyJS' . $id, true), ob_get_clean()); }
/** * Registers and publishes required scripts */ public function registerClientScript() { /* publish assets dir */ $path = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'assets'; $assetsUrl = $this->getAssetsUrl($path); /* @var $cs CClientScript */ $cs = Yii::app()->getClientScript(); $cs->registerCssFile($assetsUrl . '/css/jquery.fileupload-ui.css'); // Upgrade widget factory // @todo remove when jquery.ui 1.9+ is fully integrated into stable Yii versions $cs->registerScriptFile($assetsUrl . '/js/vendor/jquery.ui.widget.js'); //The Templates plugin is included to render the upload/download listings $cs->registerScriptFile($assetsUrl . '/js/tmpl.min.js', CClientScript::POS_END); if ($this->previewImages || $this->imageProcessing) { $cs->registerScriptFile($assetsUrl . '/js/load-image.min.js', CClientScript::POS_END); $cs->registerScriptFile($assetsUrl . '/js/canvas-to-blob.min.js', CClientScript::POS_END); // gallery :) $this->getApi()->registerAssetCss("bootstrap-image-gallery.min.css"); $this->getApi()->registerAssetJs("bootstrap-image-gallery.min.js", CClientScript::POS_END); } //The Iframe Transport is required for browsers without support for XHR file uploads Yii::app()->bootstrap->registerAssetJs('fileupload/jquery.iframe-transport.js'); Yii::app()->bootstrap->registerAssetJs('fileupload/jquery.fileupload.js'); // The File Upload image processing plugin if ($this->imageProcessing) { $cs->registerScriptFile($assetsUrl . '/js/jquery.fileupload-ip.js'); } // The File Upload file processing plugin if ($this->previewImages) { $cs->registerScriptFile($assetsUrl . '/js/jquery.fileupload-fp.js'); } // locale $cs->registerScriptFile($assetsUrl . '/js/jquery.fileupload-locale.js'); //The File Upload user interface plugin $cs->registerScriptFile($assetsUrl . '/js/jquery.fileupload-ui.js'); /* initialize plugin */ $selector = '#' . WhHtml::getOption('id', $this->htmlOptions, $this->getId()); $this->getYiiWheels()->registerPlugin('fileupload', $selector, $this->options); }