示例#1
0
    public function registerClientScripts()
    {
        //> .register js file;
        $this->cs->registerCoreScript('jquery')->registerScriptFile($this->baseUrl . '/jqueryui.js', CClientScript::POS_END);
        $this->cs->registerCoreScript('jquery')->registerScriptFile($this->baseUrl . '/jquery.iviewer.js', CClientScript::POS_END);
        $this->cs->registerCoreScript('jquery')->registerScriptFile($this->baseUrl . '/jquery.mousewheel.js', CClientScript::POS_END);
        if (empty($this->cssFile)) {
            $this->cs->registerCssFile($this->baseUrl . '/jquery.iviewer.css');
        } else {
            $this->cs->registerCssFile($this->cssFile);
        }
        if (empty($this->selector)) {
            // manually use it ?
            return $this;
        }
        if (empty($this->jsHandlerVar)) {
            $this->jsHandlerVar = 'iviewerHandler';
        }
        $jsCode = '';
        //> handle some settings
        $options = CJavaScript::encode($this->options);
        //>  the js code for setup
        $jsCode .= <<<SETUP
        var {$this->jsHandlerVar}=\$("{$this->selector}").iviewer({$options});
SETUP;
        //> register jsCode
        $this->cs->registerScript(__CLASS__ . '#' . $this->getId(), $jsCode, CClientScript::POS_READY);
        return $this;
    }
示例#2
0
 /**
  * Init widget
  */
 public function init()
 {
     $assetsUrl = Yii::app()->assetManager->publish(dirname(__FILE__) . '/assets', false, -1, YII_DEBUG);
     $this->cs = Yii::app()->getClientScript();
     $this->cs->registerCoreScript('cookie');
     $this->cs->registerScriptFile($assetsUrl . '/jstree.js');
     $this->cs->registerCssFile($assetsUrl . '/themes/default/style.css');
 }
示例#3
0
 /**
  * Init widget
  */
 public function init()
 {
     $this->assetsUrl = Yii::app()->assetManager->publish(dirname(__FILE__) . '/assets', false, -1, YII_DEBUG);
     $this->cs = Yii::app()->getClientScript();
     $this->cs->registerCoreScript('cookie');
     if (Yii::app()->request->isAjaxRequest) {
         Yii::app()->clientScript->scriptMap['jquery.js'] = false;
         Yii::app()->clientScript->scriptMap['cookie.js'] = false;
     }
     $this->cs->registerScriptFile($this->assetsUrl . '/jquery.jstree.js');
     $this->cs->registerCssFile($this->assetsUrl . "/themes/{$this->theme}/style.css");
 }
 public function registerCoreScript($name)
 {
     if (in_array($name, $this->bannedCoreScripts)) {
         return $this;
     }
     parent::registerCoreScript($name);
 }
示例#5
0
    /**
     * @return JTimeAgo
     */
    public function registerClientScripts()
    {
        //> .register js file;
        $this->cs->registerCoreScript('jquery')->registerScriptFile($this->baseUrl . '/jquery.timeago.js');
        if ($this->useLocale == true) {
            $this->handleLocale(true);
        }
        if (empty($this->selector)) {
            // manually use it ?
            return $this;
        }
        $jsCode = '';
        //> handle some settings
        if (!empty($this->settings)) {
            $settings = CJavaScript::encode($this->settings);
            $jsCode .= <<<SETTINGS
   jQuery.timeago.settings = {$settings};
SETTINGS;
            $jsCode .= "\n";
        }
        $options = CJavaScript::encode($this->options);
        //>  the js code for setup
        $jsCode .= <<<SETUP
        jQuery("{$this->selector}").timeago({$options});
SETUP;
        //> register jsCode
        $this->cs->registerScript(__CLASS__ . '#' . $this->getId(), $jsCode, CClientScript::POS_READY);
        return $this;
    }
示例#6
0
 /**
  * @return JTagIt
  */
 public function registerClientScripts()
 {
     $this->cs->registerCoreScript('jquery')->registerCoreScript('jquery.ui')->registerScriptFile($this->baseUrl . '/js/tag-it.js');
     //register the css file
     $this->cs->registerCssFile($this->baseUrl . '/css/jquery.tagit.css')->registerCssFile('http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/' . $this->theme . '/jquery-ui.css');
     return $this;
 }
 /**
  * Registers a script package that is listed in {@link packages}.
  * @param string $name the name of the script package.
  * @param array $options
  * @return YdClientScript the CClientScript object itself (to support method chaining, available since version 1.1.5).
  * @see renderCoreScript
  */
 public function registerCoreScript($name, $options = array())
 {
     // do not load these scripts on ajax
     $ignoreAjax = array('jquery', 'yiiactiveform', 'bootstrap-yii', 'jquery-css', 'notify', 'bootstrap.js', 'bootbox');
     if (Yii::app()->request->isAjaxRequest && in_array($name, $ignoreAjax)) {
         return $this;
     }
     return parent::registerCoreScript($name);
 }
示例#8
0
 public function registerCoreScript($name)
 {
     if (!Yii::app()->request->isAjaxRequest || !in_array($name, $this->notLoadCoreScriptsOnAjax)) {
         parent::registerCoreScript($name);
     }
 }
 /**
  * @dataProvider providerCoreScripts
  * 
  * @param string $name
  * @param array $assertion 
  */
 public function testRegisterCoreScript($name, $assertion)
 {
     $returnedClientScript = $this->_clientScript->registerCoreScript($name);
     $this->assertEquals($assertion, $returnedClientScript->corePackages[$name]);
 }
 /**
  * Registers the external javascript files
  */
 public function registerClientScripts()
 {
     if ($this->baseUrl === '') {
         throw new CException(Yii::t('EJqueryUiWidget', 'baseUrl must be set. This is done automatically by calling publishAssets()'));
     }
     $this->clientScript = Yii::app()->getClientScript();
     $this->clientScript->registerCoreScript('jquery');
     switch ($this->getCompression()) {
         case 'none':
             $this->clientScript->registerScriptFile($this->baseUrl . '/js/jquery-ui-1.7.1.custom.js');
             break;
         case 'packed':
             $this->clientScript->registerScriptFile($this->baseUrl . '/js/jquery-ui-1.7.1.custom.packed.js');
             break;
         default:
             $this->clientScript->registerScriptFile($this->baseUrl . '/js/jquery-ui-1.7.1.custom.min.js');
             break;
     }
     if ($this->getUseBundledStyleSheet()) {
         $this->clientScript->registerCssFile($this->baseUrl . '/css/' . $this->getTheme() . '/jquery-ui-1.7.1.custom.css');
     }
 }
示例#11
0
 public function registerCoreScript($name)
 {
     if ($name == 'jquery' && $this->customJquery) {
         return;
     }
     parent::registerCoreScript($name);
 }
示例#12
0
 /**
  * В метод CClientScript::registerCoreScript добавлена поддержка CDN.
  * 
  * Для того, чтобы подключить библиотеку через CDN, необходимо подключить
  * package вида
  *     [type]:[cdn]:[name]
  * или, если подключается js библиотека,
  *     [cdn]:[name]
  * где
  *     type - css или js (по умолчанию - js),
  *     cdn  - название CDN-сервиса,
  *     name - название библиотеки.
  *
  * В названии библиотеки можно указать желаемый номер версии через символ "@", например,
  * jsdelivr:jquery@1.5.2 подключит jQuery версии 1.5.2.
  * 
  * Поддержка различных CDN-сервисов реализуется через поведения.
  * 
  * @param  string $name
  * @return EClientScript
  */
 public function registerCoreScript($name)
 {
     $matches = null;
     if (!preg_match('/([^:]+):([^:]+)(:(.+)|)/', $name, $matches)) {
         return parent::registerCoreScript($name);
     }
     if (isset($matches[4])) {
         $type = $matches[1];
         $cdn = $matches[2];
         $script = $matches[4];
     } else {
         $type = 'js';
         $cdn = $matches[1];
         $script = $matches[2];
     }
     if (!isset($this->cdn[$type])) {
         $this->cdn[$type] = array();
     }
     if (!isset($this->cdn[$type][$cdn])) {
         $this->cdn[$type][$cdn] = array();
     }
     $this->cdn[$type][$cdn][] = $script;
     $this->hasScripts = true;
     return $this;
 }
示例#13
0
 /**
  * Registers a script package that is listed in {@link packages}.
  * @param string $name the name of the script package.
  * @param array $options
  * @return YdClientScript the CClientScript object itself (to support method chaining, available since version 1.1.5).
  * @see renderCoreScript
  */
 public function registerCoreScript($name, $options = array())
 {
     // do not load these scripts on ajax
     if (Yii::app()->request->isAjaxRequest) {
         if (in_array($name, $this->ignoreAjaxCoreScript)) {
             return $this;
         }
     } else {
         if (in_array($name, $this->ignoreCoreScript)) {
             return $this;
         }
     }
     return parent::registerCoreScript($name);
 }