summaryrefslogtreecommitdiff
path: root/tests/FunctionalTests/features/protected/pages/MyJavascriptLib.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/FunctionalTests/features/protected/pages/MyJavascriptLib.php')
-rw-r--r--tests/FunctionalTests/features/protected/pages/MyJavascriptLib.php32
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/FunctionalTests/features/protected/pages/MyJavascriptLib.php b/tests/FunctionalTests/features/protected/pages/MyJavascriptLib.php
new file mode 100644
index 00000000..964b48a5
--- /dev/null
+++ b/tests/FunctionalTests/features/protected/pages/MyJavascriptLib.php
@@ -0,0 +1,32 @@
+<?php
+
+class MyJavascriptLib extends TComponent
+{
+ private $_packages=array(); //keep track of all registrations
+
+ private $_manager;
+
+ protected function __construct(TPage $owner)
+ {
+ $this->_manager = $owner->getClientScript();
+ $owner->onPreRenderComplete = array($this, 'registerScriptLoader');
+ }
+
+ public static function registerPackage(TControl $control, $name)
+ {
+ static $instance;
+ if($instance===null)
+ $instance=new self($control->getPage());
+ $instance->_packages[$name]=true;
+ }
+
+ protected function registerScriptLoader()
+ {
+ $dir = dirname(__FILE__).'/myscripts'; //contains my javascript files
+ $scripts = array_keys($this->_packages);
+ $url = $this->_manager->registerJavascriptPackages($dir, $scripts);
+ $this->_manager->registerScriptFile($url,$url);
+ }
+}
+
+?> \ No newline at end of file