/**
  * Method to get AssetManager.
  *
  * @param  string  $option  The option name to get AssetManager.
  *
  * @return  AssetManager  The AssetManager object.
  */
 public static function getAsset($option = 'windwalker')
 {
     if (!empty(static::$assets[$option])) {
         return static::$assets[$option];
     }
     return static::$assets[$option] = AssetManager::getInstance($option);
 }
    /**
     * quickadd
     *
     * @param string $selector
     * @param array  $options
     *
     * @return  void
     */
    public static function quickadd($selector, $options = array())
    {
        $asset = static::getAsset();
        if (!static::inited(__METHOD__)) {
            JQueryScript::ui(array('effect'));
            $asset->addJS('quickadd.min.js');
        }
        if (!static::inited(__METHOD__, func_get_args())) {
            $options = AssetManager::getJSObject($options);
            $js = <<<JS
jQuery(document).ready(function(\$) {
\t\$('{$selector}').quickadd({$options});
});
JS;
            $asset->internalJS($js);
        }
    }
 /**
  * Registers the service provider with a DI container.
  *
  * @param   Container $container The DI container.
  *
  * @return  Container  Returns itself to support chaining.
  */
 public function register(Container $container)
 {
     $name = $this->name;
     // Component
     $container->alias('component', ucfirst($name) . 'Component')->share(ucfirst($name) . 'Component', $this->component);
     // ControllerResolver
     $resolverClass = '\\Windwalker\\Controller\\Resolver\\ControllerResolver';
     $container->alias('controller.resolver', $resolverClass)->share($resolverClass, function ($container) use($resolverClass) {
         return new $resolverClass($container->get('app'), $container);
     });
     // Asset Helper
     $container->share('helper.asset', function ($container) use($name) {
         $asset = AssetManager::getInstance('com_' . strtolower($name));
         $asset->setContainer($container);
         return $asset;
     });
 }
 /**
  * Registers the service provider with a DI container.
  *
  * @param   Container $container The DI container.
  *
  * @return  Container  Returns itself to support chaining.
  */
 public function register(Container $container)
 {
     // Global Config
     $container->share('joomla.config', array('JFactory', 'getConfig'));
     // Windwalker Config
     $container->share('windwalker.config', array($this, 'loadConfig'));
     // Database
     $this->share($container, 'db', 'JDatabaseDriver', array('JFactory', 'getDbo'));
     // Session
     // Global Config
     $container->share('session', function () {
         return \JFactory::getSession();
     });
     // Language
     $this->share($container, 'language', 'JLanguage', array('JFactory', 'getLanguage'));
     // Dispatcher
     $this->share($container, 'event.dispatcher', 'JEventDispatcher', array('JEventDispatcher', 'getInstance'));
     // Mailer
     $this->share($container, 'mailer', 'JMail', array('JFactory', 'getMailer'));
     // Date
     $this->set($container, 'date', 'JDate', function () {
         return DateHelper::getDate();
     });
     // Global
     $container->set('SplPriorityQueue', function () {
         return new \SplPriorityQueue();
     });
     // Asset
     $container->share('helper.asset', function () {
         return \Windwalker\Asset\AssetManager::getInstance();
     });
     // Relation
     $container->share('relation.container', function () {
         return new RelationContainer();
     });
     // Detect deferent environment
     if ($this->isConsole) {
         $container->registerServiceProvider(new CliProvider());
     } else {
         $container->registerServiceProvider(new WebProvider());
     }
 }
Exemplo n.º 5
0
    /**
     * initScript
     *
     * @param   string  $selector
     * @param   array   $options
     *
     * @return  void
     */
    protected function initScript($selector, $options)
    {
        $options = \Windwalker\Asset\AssetManager::getJSObject($options);
        $asset = Container::getInstance()->get('helper.asset');
        $asset->internalJS(<<<JS
// Finder Field for {$selector}
jQuery(document).ready(function(\$) {
    var finder = \$('{$selector}').finderField({$options});

    window.windwalkerFinderSelect_{$this->id} = function (selected, elFinder, root) {
\t\tfinder.selectFile(selected, elFinder, root);
\t}
});
JS
);
    }
Exemplo n.º 6
0
 /**
  * getAsset
  *
  * @param string $name
  *
  * @return  AssetManager
  */
 public static function getAsset($name = 'windwalker')
 {
     return AssetManager::getInstance($name);
 }
 /**
  * Method to test getJSObject().
  *
  * @return void
  *
  * @covers Windwalker\Asset\AssetManager::getJSObject
  */
 public function testGetJSObject()
 {
     $options = array('string' => 'foo', 'int' => 123, 'float' => 1.3, 'array' => array('flower' => 'sakura'), 'object' => (object) array('flower' => 'sakura'), 'function_string' => 'function () {}', 'function' => '\\function () {}');
     $expected = '{"string":"foo","int":123,"float":1.3,"array":{"flower":"sakura"},"object":{"flower":"sakura"},"function_string":"function () {}","function":function () {}}';
     $this->assertEquals($expected, AssetManager::getJSObject($options));
     $expected = '{string:"foo",int:123,float:1.3,array:{flower:"sakura"},object:{flower:"sakura"},function_string:"function () {}",function:function () {}}';
     $this->assertEquals($expected, AssetManager::getJSObject($options, false));
 }