/** * 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); } }
/** * 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 ); }
/** * 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)); }