summaryrefslogtreecommitdiff
path: root/framework/Web/UI/JuiControls/TJuiResizable.php
diff options
context:
space:
mode:
authorJens Klaer <kj.landwehr.software@gmail.com>2015-05-20 15:54:33 +0200
committerJens Klaer <kj.landwehr.software@gmail.com>2015-05-20 15:54:33 +0200
commit0fb75d64f8dbcc98b4c06e7556125b94bf612819 (patch)
tree248dcab8fc248ab0b0d521e093c9da3b90ab560a /framework/Web/UI/JuiControls/TJuiResizable.php
parentee25e9fc2a4cc702f1ac9af5645134eaa893cf4c (diff)
made TJuiControl options changeable during callback
- TJuiControlOptions are now stored in viewstate and tracked by the new TJuiCallbackPageStateTracker class extending the default viewstate tracker class - TJuiCallbackPageStateTracker registers endscripts automatically for each changed option for the clientside changes, added some normalized getter for that
Diffstat (limited to 'framework/Web/UI/JuiControls/TJuiResizable.php')
-rw-r--r--framework/Web/UI/JuiControls/TJuiResizable.php27
1 files changed, 23 insertions, 4 deletions
diff --git a/framework/Web/UI/JuiControls/TJuiResizable.php b/framework/Web/UI/JuiControls/TJuiResizable.php
index 5e1f8d31..ef0cb059 100644
--- a/framework/Web/UI/JuiControls/TJuiResizable.php
+++ b/framework/Web/UI/JuiControls/TJuiResizable.php
@@ -53,14 +53,33 @@ class TJuiResizable extends TActivePanel implements IJuiOptions, ICallbackEventH
}
/**
+ * @return string the name of the jQueryUI widget method
+ */
+ public function getWidget()
+ {
+ return 'resizable';
+ }
+
+ /**
+ * @return string the clientid of the jQueryUI widget element
+ */
+ public function getWidgetID()
+ {
+ return $this->getClientID();
+ }
+
+ /**
* Object containing defined javascript options
* @return TJuiControlOptions
*/
public function getOptions()
{
- if($this->_options===null)
- $this->_options=new TJuiControlOptions($this);
- return $this->_options;
+ if (($options=$this->getViewState('JuiOptions'))===null)
+ {
+ $options=new TJuiControlOptions($this);
+ $this->setViewState('JuiOptions', $options);
+ }
+ return $options;
}
/**
@@ -101,7 +120,7 @@ class TJuiResizable extends TActivePanel implements IJuiOptions, ICallbackEventH
$writer->addAttribute('id',$this->getClientID());
$options=TJavascript::encode($this->getPostBackOptions());
$cs=$this->getPage()->getClientScript();
- $code="jQuery('#".$this->getClientId()."').resizable(".$options.");";
+ $code="jQuery('#".$this->getWidgetID()."').".$this->getWidget()."(".$options.");";
$cs->registerEndScript(sprintf('%08X', crc32($code)), $code);
}