diff options
author | wei <> | 2006-09-16 01:27:27 +0000 |
---|---|---|
committer | wei <> | 2006-09-16 01:27:27 +0000 |
commit | 203b10531a65a4d59bdce74bc6644d8621cd6a1a (patch) | |
tree | ad0def9f1fcaebbd6639ca10b765ee555d63edda | |
parent | 6bc7f2812ec16d5b46e2b75b1ae5172f7f778bcf (diff) |
Fixed #363
8 files changed, 24 insertions, 5 deletions
diff --git a/.gitattributes b/.gitattributes index 24aa6eb6..a04e48b2 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1691,6 +1691,7 @@ framework/Web/Javascripts/effects/slider.js -text framework/Web/Javascripts/extended/base.js -text framework/Web/Javascripts/extended/builder.js -text framework/Web/Javascripts/extended/date.js -text +framework/Web/Javascripts/extended/effects.js -text framework/Web/Javascripts/extended/event.js -text framework/Web/Javascripts/extended/string.js -text framework/Web/Javascripts/extra/json.js -text diff --git a/buildscripts/jsbuilder/build.php b/buildscripts/jsbuilder/build.php index e364a4d6..dbfb169f 100644 --- a/buildscripts/jsbuilder/build.php +++ b/buildscripts/jsbuilder/build.php @@ -95,7 +95,8 @@ $libraries = array( //effects
'effects.js' => array(
- 'effects/effects.js'
+ 'effects/effects.js',
+ 'extended/effects.js'
),
//active controls
'ajax.js' => array(
diff --git a/framework/Web/Javascripts/extended/effects.js b/framework/Web/Javascripts/extended/effects.js new file mode 100644 index 00000000..236686df --- /dev/null +++ b/framework/Web/Javascripts/extended/effects.js @@ -0,0 +1,7 @@ +Prado.Effect =
+{
+ Highlight : function(element, options)
+ {
+ new Effect.Highlight(element,options||{});
+ }
+}
\ No newline at end of file diff --git a/framework/Web/Javascripts/js/compressed/effects.js b/framework/Web/Javascripts/js/compressed/effects.js index 8870d77f..1a2915e6 100644 --- a/framework/Web/Javascripts/js/compressed/effects.js +++ b/framework/Web/Javascripts/js/compressed/effects.js @@ -63,4 +63,5 @@ return new Effect.Move(element,{x:initialMoveX,y:initialMoveY,duration:0.01,befo Effect.Shrink=function(element){element=$(element);var options=Object.extend({direction:'center',moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{});var oldStyle={top:element.style.top,left:element.style.left,height:element.style.height,width:element.style.width,opacity:element.getInlineOpacity()};var dims=element.getDimensions();var moveX,moveY;switch(options.direction){case'top-left':moveX=moveY=0;break;case'top-right':moveX=dims.width;moveY=0;break;case'bottom-left':moveX=0;moveY=dims.height;break;case'bottom-right':moveX=dims.width;moveY=dims.height;break;case'center':moveX=dims.width/2;moveY=dims.height/2;break;} return new Effect.Parallel([new Effect.Opacity(element,{sync:true,to:0.0,from:1.0,transition:options.opacityTransition}),new Effect.Scale(element,window.opera?1:0,{sync:true,transition:options.scaleTransition,restoreAfterFinish:true}),new Effect.Move(element,{x:moveX,y:moveY,sync:true,transition:options.moveTransition})],Object.extend({beforeStartInternal:function(effect){effect.effects[0].element.makePositioned();effect.effects[0].element.makeClipping();},afterFinishInternal:function(effect){effect.effects[0].element.hide();effect.effects[0].element.undoClipping();effect.effects[0].element.undoPositioned();effect.effects[0].element.setStyle(oldStyle);}},options));} Effect.Pulsate=function(element){element=$(element);var options=arguments[1]||{};var oldOpacity=element.getInlineOpacity();var transition=options.transition||Effect.Transitions.sinoidal;var reverser=function(pos){return transition(1-Effect.Transitions.pulse(pos))};reverser.bind(transition);return new Effect.Opacity(element,Object.extend(Object.extend({duration:3.0,from:0,afterFinishInternal:function(effect){effect.element.setStyle({opacity:oldOpacity});}},options),{transition:reverser}));} -Effect.Fold=function(element){element=$(element);var oldStyle={top:element.style.top,left:element.style.left,width:element.style.width,height:element.style.height};Element.makeClipping(element);return new Effect.Scale(element,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(effect){new Effect.Scale(element,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(effect){effect.element.hide();effect.element.undoClipping();effect.element.setStyle(oldStyle);}});}},arguments[1]||{}));};['setOpacity','getOpacity','getInlineOpacity','forceRerendering','setContentZoom','collectTextNodes','collectTextNodesIgnoreClass','childrenWithClassName'].each(function(f){Element.Methods[f]=Element[f];});Element.Methods.visualEffect=function(element,effect,options){s=effect.gsub(/_/,'-').camelize();effect_class=s.charAt(0).toUpperCase()+s.substring(1);new Effect[effect_class](element,options);return $(element);};Element.addMethods();
\ No newline at end of file +Effect.Fold=function(element){element=$(element);var oldStyle={top:element.style.top,left:element.style.left,width:element.style.width,height:element.style.height};Element.makeClipping(element);return new Effect.Scale(element,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(effect){new Effect.Scale(element,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(effect){effect.element.hide();effect.element.undoClipping();effect.element.setStyle(oldStyle);}});}},arguments[1]||{}));};['setOpacity','getOpacity','getInlineOpacity','forceRerendering','setContentZoom','collectTextNodes','collectTextNodesIgnoreClass','childrenWithClassName'].each(function(f){Element.Methods[f]=Element[f];});Element.Methods.visualEffect=function(element,effect,options){s=effect.gsub(/_/,'-').camelize();effect_class=s.charAt(0).toUpperCase()+s.substring(1);new Effect[effect_class](element,options);return $(element);};Element.addMethods();Prado.Effect={Highlight:function(element,options) +{new Effect.Highlight(element,options||{});}}
\ No newline at end of file diff --git a/framework/Web/Javascripts/js/debug/effects.js b/framework/Web/Javascripts/js/debug/effects.js index 7e8ba2ed..c0f3c4af 100644 --- a/framework/Web/Javascripts/js/debug/effects.js +++ b/framework/Web/Javascripts/js/debug/effects.js @@ -958,3 +958,11 @@ Element.Methods.visualEffect = function(element, effect, options) { Element.addMethods(); +Prado.Effect =
+{
+ Highlight : function(element, options)
+ {
+ new Effect.Highlight(element,options||{});
+ }
+} + diff --git a/framework/Web/UI/ActiveControls/TCallbackClientScript.php b/framework/Web/UI/ActiveControls/TCallbackClientScript.php index ebc5942f..4b568987 100644 --- a/framework/Web/UI/ActiveControls/TCallbackClientScript.php +++ b/framework/Web/UI/ActiveControls/TCallbackClientScript.php @@ -417,7 +417,7 @@ class TCallbackClientScript extends TApplicationComponent */
public function visualEffect($type, $element, $options=null)
{
- $this->callClientFunction($type, is_array($options) ? array($element, $options) : $element);
+ $this->callClientFunction($type, array($element, $options));
}
/**
@@ -578,7 +578,7 @@ class TCallbackClientScript extends TApplicationComponent */
public function highlight($element, $options=null)
{
- $this->visualEffect('Effect.Highlight', $element, $options);
+ $this->visualEffect('Prado.Effect.Highlight', $element, $options);
}
}
diff --git a/tests/FunctionalTests/active-controls/protected/pages/PostLoadingTest.page b/tests/FunctionalTests/active-controls/protected/pages/PostLoadingTest.page index 6dd58d48..09ab2fbc 100644 --- a/tests/FunctionalTests/active-controls/protected/pages/PostLoadingTest.page +++ b/tests/FunctionalTests/active-controls/protected/pages/PostLoadingTest.page @@ -1,6 +1,6 @@ <com:TForm>
- <h1>PostLoading Test</h1>
+ <h1 id="heading">PostLoading Test</h1>
<com:TCallback ID="callback1" OnCallback="Page.callback1_requested" />
<com:TActivePanel ID="panel1" />
diff --git a/tests/FunctionalTests/active-controls/protected/pages/PostLoadingTest.php b/tests/FunctionalTests/active-controls/protected/pages/PostLoadingTest.php index a8c409e7..1257b45b 100644 --- a/tests/FunctionalTests/active-controls/protected/pages/PostLoadingTest.php +++ b/tests/FunctionalTests/active-controls/protected/pages/PostLoadingTest.php @@ -38,6 +38,7 @@ class PostLoadingTest extends TPage {
$this->panel1->getControls()->add('Result is '.$this->MyTextBox->getText());
$this->panel1->render($param->NewWriter);
+ $this->Page->CallbackClient->Highlight('heading');
}
}
|