protected function registerPlugin($selector)
 {
     $view = $this->getView();
     DatepickerPlugin::register($view);
     $options = JSON::encode($this->clientOptions);
     $js = "jQuery('#{$selector}').datetimepicker({$options});";
     $view->registerJs($js);
 }
示例#2
0
 protected function registerPlugin()
 {
     $view = $this->getView();
     if (isset($this->selector)) {
         $id = $this->selector;
     } else {
         $id = '#' . $this->options['id'];
     }
     $this->config = ArrayHelper::merge(['selector' => $id], $this->config);
     $options = JSON::encode($this->config);
     TinyMCEAsset::register($view);
     if ($this->toggle['active']) {
         $toggle = $this->toggle['id'];
         $start = '';
         if ($this->toggle['tinyStart']) {
             $start = 'toggleTiny' . $toggle . '();';
         }
         $view->registerJs("toggleTiny{$toggle}=function(){tinymce.init({$options});};\nunToggleTiny{$toggle}=function(){tinymce.remove('{$id}')};\n{$start}");
     } elseif (isset($this->functionName)) {
         $view->registerJs("{$this->functionName}=function(){tinymce.init({$options})}");
     } else {
         $view->registerJs("tinymce.init({$options})");
     }
 }
示例#3
0
 protected function registerPlugin()
 {
     $view = $this->getView();
     if (isset($this->language)) {
         Select2Asset::register($view)->js[] = 'select2_locale_' . $this->language . '.js';
     } else {
         Select2Asset::register($view);
     }
     $selector = $this->options['id'];
     $options = !empty($this->clientOptions) ? JSON::encode($this->clientOptions) : '';
     $view->registerJs("jQuery('#{$selector}').select2({$options});");
     if (!empty($this->events)) {
         $js = [];
         foreach ($this->jsEvents as $event => $handler) {
             $js[] = "jQuery('#{$selector}').on('{$event}', {$handler});";
         }
         $view->registerJs(implode("\n", $js));
     }
 }
 protected function registerPlugin($selector)
 {
     $view = $this->getView();
     TypeaheadPlugin::register($view);
     if ($this->limit == false) {
         $this->limit = count($this->source);
     }
     $selectored = str_replace('-', '_', $selector);
     $options1 = \moonland\helpers\JSON::encode($this->clientOptions);
     $options2 = Json::encode(['name' => $selector, 'displayKey' => 'value', 'source' => new JsExpression("{$selectored}.ttAdapter()")]);
     $js = "var {$selectored}_data = " . JSON::encode($this->source) . ";" . PHP_EOL;
     $js .= "var {$selectored} = new Bloodhound({\n\t\tlimit:{$this->limit},\n\t\tdatumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),\n\t\tqueryTokenizer: Bloodhound.tokenizers.whitespace,\n\t\tlocal: \$.map({$selectored}_data, function(data) { return { value: data }; })\n});" . PHP_EOL;
     $js .= "{$selectored}.initialize();" . PHP_EOL;
     $js .= "jQuery('#{$selector}_typeahead .typeahead').typeahead({$options1},{$options2});";
     $view->registerJs($js);
 }