summaryrefslogtreecommitdiff
path: root/framework/Web/UI/TClientScriptManager.php
diff options
context:
space:
mode:
Diffstat (limited to 'framework/Web/UI/TClientScriptManager.php')
-rw-r--r--framework/Web/UI/TClientScriptManager.php15
1 files changed, 15 insertions, 0 deletions
diff --git a/framework/Web/UI/TClientScriptManager.php b/framework/Web/UI/TClientScriptManager.php
index 94ef19b6..46203b0b 100644
--- a/framework/Web/UI/TClientScriptManager.php
+++ b/framework/Web/UI/TClientScriptManager.php
@@ -164,6 +164,21 @@ class TClientScriptManager extends TApplicationComponent
}
}
+ public function getCallbackReference($callbackHandler, $options=null)
+ {
+ $options = !is_array($options) ? array() : $options;
+ $class = new TReflectionClass($callbackHandler);
+ if($class->hasMethod('getClientSide'))
+ {
+ $clientSide = $callbackHandler->getClientSide();
+ $options = array_merge($options, $clientSide->getOptions()->toArray());
+ }
+ $optionString = TJavascript::encode($options);
+ $this->registerPradoScriptInternal('ajax');
+ $id = $callbackHandler->getUniqueID();
+ return "new Prado.CallbackRequest('{$id}',{$optionString})";
+ }
+
/**
* Registers postback javascript for a control.
* @param string javascript class responsible for the control being registered for postback