/** * Creates view instance from given configuration. * @param array $config view configuration. * @return View view instance. */ protected function createView(array $config) { if (!array_key_exists('className', $config)) { $config['className'] = View::className(); } return Leaps::createObject($config); }
/** * Generates a hashed variable to store the plugin `clientOptions`. Helps in reusing the variable for similar * options passed for other widgets on the same page. The following special data attribute will also be * added to the input field to allow accessing the client options via javascript: * * - 'data-plugin-inputmask' will store the hashed variable storing the plugin options. * * @param View $view the view instance * @author [Thiago Talma](https://github.com/thiagotalma) */ protected function hashPluginOptions($view) { $encOptions = empty($this->clientOptions) ? '{}' : Json::htmlEncode($this->clientOptions); $this->_hashVar = self::PLUGIN_NAME . '_' . hash('crc32', $encOptions); $this->options['data-plugin-' . self::PLUGIN_NAME] = $this->_hashVar; $view->registerJs("var {$this->_hashVar} = {$encOptions};\n", View::POS_HEAD); }