activeldap 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +34 -0
- data/README +13 -0
- data/Rakefile +2 -1
- data/TODO +6 -0
- data/benchmark/bench-al.rb +68 -17
- data/examples/al-admin/app/helpers/application_helper.rb +3 -5
- data/examples/al-admin/app/views/layouts/_footer.html.erb +2 -0
- data/examples/al-admin/config/boot.rb +7 -7
- data/examples/al-admin/config/environment.rb +27 -12
- data/examples/al-admin/config/environments/development.rb +0 -1
- data/examples/al-admin/config/environments/production.rb +6 -1
- data/examples/al-admin/config/environments/test.rb +1 -1
- data/examples/al-admin/config/initializers/gettext.rb +15 -1
- data/examples/al-admin/po/en/al-admin.po +1 -1
- data/examples/al-admin/po/ja/al-admin.po +1 -1
- data/examples/al-admin/po/nl/al-admin.po +1 -1
- data/examples/al-admin/public/dispatch.cgi +0 -0
- data/examples/al-admin/public/dispatch.fcgi +0 -0
- data/examples/al-admin/public/dispatch.rb +0 -0
- data/examples/al-admin/public/javascripts/controls.js +73 -73
- data/examples/al-admin/public/javascripts/dragdrop.js +166 -165
- data/examples/al-admin/public/javascripts/effects.js +174 -166
- data/examples/al-admin/public/javascripts/prototype.js +362 -267
- data/examples/al-admin/script/about +0 -0
- data/examples/al-admin/script/console +0 -0
- data/examples/al-admin/script/dbconsole +3 -0
- data/examples/al-admin/script/destroy +0 -0
- data/examples/al-admin/script/generate +0 -0
- data/examples/al-admin/script/performance/benchmarker +0 -0
- data/examples/al-admin/script/performance/profiler +0 -0
- data/examples/al-admin/script/performance/request +0 -0
- data/examples/al-admin/script/plugin +0 -0
- data/examples/al-admin/script/process/inspector +0 -0
- data/examples/al-admin/script/process/reaper +0 -0
- data/examples/al-admin/script/process/spawner +0 -0
- data/examples/al-admin/script/runner +0 -0
- data/examples/al-admin/script/server +0 -0
- data/examples/al-admin/test/run-test.sh +0 -0
- data/examples/groupadd +0 -0
- data/examples/groupdel +0 -0
- data/examples/groupls +0 -0
- data/examples/groupmod +0 -0
- data/examples/lpasswd +0 -0
- data/examples/ouadd +0 -0
- data/examples/useradd +0 -0
- data/examples/useradd-binary +0 -0
- data/examples/userdel +0 -0
- data/examples/userls +0 -0
- data/examples/usermod +0 -0
- data/examples/usermod-binary-add +0 -0
- data/examples/usermod-binary-add-time +0 -0
- data/examples/usermod-binary-del +0 -0
- data/examples/usermod-lang-add +0 -0
- data/lib/active_ldap.rb +10 -4
- data/lib/active_ldap/action_controller/ldap_benchmarking.rb +28 -9
- data/lib/active_ldap/adapter/base.rb +30 -17
- data/lib/active_ldap/adapter/jndi.rb +5 -1
- data/lib/active_ldap/adapter/ldap.rb +5 -1
- data/lib/active_ldap/association/has_many_utils.rb +7 -1
- data/lib/active_ldap/associations.rb +10 -5
- data/lib/active_ldap/attributes.rb +6 -1
- data/lib/active_ldap/base.rb +154 -52
- data/lib/active_ldap/configuration.rb +1 -1
- data/lib/active_ldap/connection.rb +7 -4
- data/lib/active_ldap/get_text.rb +11 -3
- data/lib/active_ldap/ldif.rb +16 -4
- data/lib/active_ldap/operations.rb +13 -5
- data/lib/active_ldap/schema.rb +6 -2
- data/lib/active_ldap/schema/syntaxes.rb +15 -3
- data/lib/active_ldap/user_password.rb +4 -4
- data/lib/active_ldap/validations.rb +32 -44
- data/lib/active_ldap/xml.rb +125 -0
- data/po/en/active-ldap.po +740 -85
- data/po/ja/active-ldap.po +748 -547
- data/rails/README +54 -0
- data/rails/init.rb +33 -0
- data/rails/plugin/active_ldap/generators/README +2 -0
- data/rails/plugin/active_ldap/generators/model_active_ldap/model_active_ldap_generator.rb +1 -1
- data/rails/plugin/active_ldap/init.rb +3 -0
- data/rails_generators/model_active_ldap/USAGE +17 -0
- data/rails_generators/model_active_ldap/model_active_ldap_generator.rb +69 -0
- data/rails_generators/model_active_ldap/templates/model_active_ldap.rb +3 -0
- data/rails_generators/model_active_ldap/templates/unit_test.rb +8 -0
- data/rails_generators/scaffold_active_ldap/scaffold_active_ldap_generator.rb +7 -0
- data/rails_generators/scaffold_active_ldap/templates/ldap.yml +18 -0
- data/rails_generators/scaffold_al/scaffold_al_generator.rb +20 -0
- data/test-unit/History.txt +50 -1
- data/test-unit/Manifest.txt +22 -12
- data/test-unit/README.txt +31 -12
- data/test-unit/Rakefile +14 -1
- data/test-unit/TODO +5 -0
- data/test-unit/bin/testrb +0 -0
- data/test-unit/lib/test/unit.rb +62 -0
- data/test-unit/lib/test/unit/assertions.rb +419 -75
- data/test-unit/lib/test/unit/autorunner.rb +70 -13
- data/test-unit/lib/test/unit/collector.rb +1 -1
- data/test-unit/lib/test/unit/collector/load.rb +1 -1
- data/test-unit/lib/test/unit/color-scheme.rb +86 -0
- data/test-unit/lib/test/unit/color.rb +40 -5
- data/test-unit/lib/test/unit/diff.rb +14 -0
- data/test-unit/lib/test/unit/fixture.rb +7 -16
- data/test-unit/lib/test/unit/notification.rb +9 -0
- data/test-unit/lib/test/unit/omission.rb +14 -0
- data/test-unit/lib/test/unit/pending.rb +16 -0
- data/test-unit/lib/test/unit/priority.rb +17 -2
- data/test-unit/lib/test/unit/runner/console.rb +8 -2
- data/test-unit/lib/test/unit/testcase.rb +188 -2
- data/test-unit/lib/test/unit/ui/console/testrunner.rb +51 -26
- data/test-unit/lib/test/unit/util/method-owner-finder.rb +28 -0
- data/test-unit/lib/test/unit/version.rb +1 -1
- data/test-unit/sample/test_user.rb +22 -0
- data/test-unit/test/collector/{test_descendant.rb → test-descendant.rb} +0 -0
- data/test-unit/test/collector/{test_load.rb → test-load.rb} +1 -1
- data/test-unit/test/run-test.rb +0 -0
- data/test-unit/test/{test_attribute.rb → test-attribute.rb} +0 -0
- data/test-unit/test/test-color-scheme.rb +56 -0
- data/test-unit/test/{test_color.rb → test-color.rb} +10 -0
- data/test-unit/test/{test_diff.rb → test-diff.rb} +0 -0
- data/test-unit/test/{test_emacs_runner.rb → test-emacs-runner.rb} +0 -0
- data/test-unit/test/test-fixture.rb +287 -0
- data/test-unit/test/{test_notification.rb → test-notification.rb} +4 -4
- data/test-unit/test/{test_omission.rb → test-omission.rb} +6 -6
- data/test-unit/test/{test_pending.rb → test-pending.rb} +12 -6
- data/test-unit/test/{test_priority.rb → test-priority.rb} +30 -0
- data/test-unit/test/test_assertions.rb +411 -69
- data/test-unit/test/test_testcase.rb +70 -3
- data/test-unit/test/{testunit_test_util.rb → testunit-test-util.rb} +4 -2
- data/test-unit/test/ui/test_testrunmediator.rb +1 -1
- data/test-unit/test/util/test-method-owner-finder.rb +38 -0
- data/test/run-test.rb +0 -0
- data/test/test_adapter.rb +3 -0
- data/test/test_associations.rb +50 -7
- data/test/test_base.rb +193 -11
- data/test/test_connection_per_dn.rb +1 -1
- data/test/test_ldif.rb +86 -0
- data/test/test_load.rb +7 -0
- data/test/test_schema.rb +31 -1
- data/test/test_syntax.rb +20 -0
- data/test/test_user_password.rb +22 -14
- data/test/test_validation.rb +70 -29
- metadata +99 -77
- data/data/locale/en/LC_MESSAGES/active-ldap.mo +0 -0
- data/data/locale/ja/LC_MESSAGES/active-ldap.mo +0 -0
- data/examples/al-admin/config/initializers/ralative_url_support.rb +0 -1
- data/examples/al-admin/lib/accept_http_rails_relative_url_root.rb +0 -9
- data/test-unit-ext/misc/rd2html.rb +0 -42
- data/test-unit/test/test_fixture.rb +0 -275
@@ -1,48 +1,48 @@
|
|
1
|
-
// Copyright (c) 2005-
|
1
|
+
// Copyright (c) 2005-2008 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
|
2
2
|
// Contributors:
|
3
3
|
// Justin Palmer (http://encytemedia.com/)
|
4
4
|
// Mark Pilgrim (http://diveintomark.org/)
|
5
5
|
// Martin Bialasinki
|
6
|
-
//
|
6
|
+
//
|
7
7
|
// script.aculo.us is freely distributable under the terms of an MIT-style license.
|
8
|
-
// For details, see the script.aculo.us web site: http://script.aculo.us/
|
8
|
+
// For details, see the script.aculo.us web site: http://script.aculo.us/
|
9
9
|
|
10
|
-
// converts rgb() and #xxx to #xxxxxx format,
|
11
|
-
// returns self (or first argument) if not convertable
|
12
|
-
String.prototype.parseColor = function() {
|
10
|
+
// converts rgb() and #xxx to #xxxxxx format,
|
11
|
+
// returns self (or first argument) if not convertable
|
12
|
+
String.prototype.parseColor = function() {
|
13
13
|
var color = '#';
|
14
|
-
if (this.slice(0,4) == 'rgb(') {
|
15
|
-
var cols = this.slice(4,this.length-1).split(',');
|
16
|
-
var i=0; do { color += parseInt(cols[i]).toColorPart() } while (++i<3);
|
17
|
-
} else {
|
18
|
-
if (this.slice(0,1) == '#') {
|
19
|
-
if (this.length==4) for(var i=1;i<4;i++) color += (this.charAt(i) + this.charAt(i)).toLowerCase();
|
20
|
-
if (this.length==7) color = this.toLowerCase();
|
21
|
-
}
|
22
|
-
}
|
23
|
-
return (color.length==7 ? color : (arguments[0] || this));
|
14
|
+
if (this.slice(0,4) == 'rgb(') {
|
15
|
+
var cols = this.slice(4,this.length-1).split(',');
|
16
|
+
var i=0; do { color += parseInt(cols[i]).toColorPart() } while (++i<3);
|
17
|
+
} else {
|
18
|
+
if (this.slice(0,1) == '#') {
|
19
|
+
if (this.length==4) for(var i=1;i<4;i++) color += (this.charAt(i) + this.charAt(i)).toLowerCase();
|
20
|
+
if (this.length==7) color = this.toLowerCase();
|
21
|
+
}
|
22
|
+
}
|
23
|
+
return (color.length==7 ? color : (arguments[0] || this));
|
24
24
|
};
|
25
25
|
|
26
26
|
/*--------------------------------------------------------------------------*/
|
27
27
|
|
28
|
-
Element.collectTextNodes = function(element) {
|
28
|
+
Element.collectTextNodes = function(element) {
|
29
29
|
return $A($(element).childNodes).collect( function(node) {
|
30
|
-
return (node.nodeType==3 ? node.nodeValue :
|
30
|
+
return (node.nodeType==3 ? node.nodeValue :
|
31
31
|
(node.hasChildNodes() ? Element.collectTextNodes(node) : ''));
|
32
32
|
}).flatten().join('');
|
33
33
|
};
|
34
34
|
|
35
|
-
Element.collectTextNodesIgnoreClass = function(element, className) {
|
35
|
+
Element.collectTextNodesIgnoreClass = function(element, className) {
|
36
36
|
return $A($(element).childNodes).collect( function(node) {
|
37
|
-
return (node.nodeType==3 ? node.nodeValue :
|
38
|
-
((node.hasChildNodes() && !Element.hasClassName(node,className)) ?
|
37
|
+
return (node.nodeType==3 ? node.nodeValue :
|
38
|
+
((node.hasChildNodes() && !Element.hasClassName(node,className)) ?
|
39
39
|
Element.collectTextNodesIgnoreClass(node, className) : ''));
|
40
40
|
}).flatten().join('');
|
41
41
|
};
|
42
42
|
|
43
43
|
Element.setContentZoom = function(element, percent) {
|
44
|
-
element = $(element);
|
45
|
-
element.setStyle({fontSize: (percent/100) + 'em'});
|
44
|
+
element = $(element);
|
45
|
+
element.setStyle({fontSize: (percent/100) + 'em'});
|
46
46
|
if (Prototype.Browser.WebKit) window.scrollBy(0,0);
|
47
47
|
return element;
|
48
48
|
};
|
@@ -70,28 +70,23 @@ var Effect = {
|
|
70
70
|
Transitions: {
|
71
71
|
linear: Prototype.K,
|
72
72
|
sinoidal: function(pos) {
|
73
|
-
return (-Math.cos(pos*Math.PI)/2) +
|
73
|
+
return (-Math.cos(pos*Math.PI)/2) + .5;
|
74
74
|
},
|
75
75
|
reverse: function(pos) {
|
76
76
|
return 1-pos;
|
77
77
|
},
|
78
78
|
flicker: function(pos) {
|
79
|
-
var pos = ((-Math.cos(pos*Math.PI)/4) +
|
79
|
+
var pos = ((-Math.cos(pos*Math.PI)/4) + .75) + Math.random()/4;
|
80
80
|
return pos > 1 ? 1 : pos;
|
81
81
|
},
|
82
82
|
wobble: function(pos) {
|
83
|
-
return (-Math.cos(pos*Math.PI*(9*pos))/2) +
|
83
|
+
return (-Math.cos(pos*Math.PI*(9*pos))/2) + .5;
|
84
84
|
},
|
85
|
-
pulse: function(pos, pulses) {
|
86
|
-
|
87
|
-
return (
|
88
|
-
((pos % (1/pulses)) * pulses).round() == 0 ?
|
89
|
-
((pos * pulses * 2) - (pos * pulses * 2).floor()) :
|
90
|
-
1 - ((pos * pulses * 2) - (pos * pulses * 2).floor())
|
91
|
-
);
|
85
|
+
pulse: function(pos, pulses) {
|
86
|
+
return (-Math.cos((pos*((pulses||5)-.5)*2)*Math.PI)/2) + .5;
|
92
87
|
},
|
93
|
-
spring: function(pos) {
|
94
|
-
return 1 - (Math.cos(pos * 4.5 * Math.PI) * Math.exp(-pos * 6));
|
88
|
+
spring: function(pos) {
|
89
|
+
return 1 - (Math.cos(pos * 4.5 * Math.PI) * Math.exp(-pos * 6));
|
95
90
|
},
|
96
91
|
none: function(pos) {
|
97
92
|
return 0;
|
@@ -112,14 +107,14 @@ var Effect = {
|
|
112
107
|
tagifyText: function(element) {
|
113
108
|
var tagifyStyle = 'position:relative';
|
114
109
|
if (Prototype.Browser.IE) tagifyStyle += ';zoom:1';
|
115
|
-
|
110
|
+
|
116
111
|
element = $(element);
|
117
112
|
$A(element.childNodes).each( function(child) {
|
118
113
|
if (child.nodeType==3) {
|
119
114
|
child.nodeValue.toArray().each( function(character) {
|
120
115
|
element.insertBefore(
|
121
116
|
new Element('span', {style: tagifyStyle}).update(
|
122
|
-
character == ' ' ? String.fromCharCode(160) : character),
|
117
|
+
character == ' ' ? String.fromCharCode(160) : character),
|
123
118
|
child);
|
124
119
|
});
|
125
120
|
Element.remove(child);
|
@@ -128,13 +123,13 @@ var Effect = {
|
|
128
123
|
},
|
129
124
|
multiple: function(element, effect) {
|
130
125
|
var elements;
|
131
|
-
if (((typeof element == 'object') ||
|
132
|
-
Object.isFunction(element)) &&
|
126
|
+
if (((typeof element == 'object') ||
|
127
|
+
Object.isFunction(element)) &&
|
133
128
|
(element.length))
|
134
129
|
elements = element;
|
135
130
|
else
|
136
131
|
elements = $(element).childNodes;
|
137
|
-
|
132
|
+
|
138
133
|
var options = Object.extend({
|
139
134
|
speed: 0.1,
|
140
135
|
delay: 0.0
|
@@ -156,7 +151,7 @@ var Effect = {
|
|
156
151
|
var options = Object.extend({
|
157
152
|
queue: { position:'end', scope:(element.id || 'global'), limit: 1 }
|
158
153
|
}, arguments[2] || { });
|
159
|
-
Effect[element.visible() ?
|
154
|
+
Effect[element.visible() ?
|
160
155
|
Effect.PAIRS[effect][1] : Effect.PAIRS[effect][0]](element, options);
|
161
156
|
}
|
162
157
|
};
|
@@ -168,20 +163,20 @@ Effect.DefaultOptions.transition = Effect.Transitions.sinoidal;
|
|
168
163
|
Effect.ScopedQueue = Class.create(Enumerable, {
|
169
164
|
initialize: function() {
|
170
165
|
this.effects = [];
|
171
|
-
this.interval = null;
|
166
|
+
this.interval = null;
|
172
167
|
},
|
173
168
|
_each: function(iterator) {
|
174
169
|
this.effects._each(iterator);
|
175
170
|
},
|
176
171
|
add: function(effect) {
|
177
172
|
var timestamp = new Date().getTime();
|
178
|
-
|
179
|
-
var position = Object.isString(effect.options.queue) ?
|
173
|
+
|
174
|
+
var position = Object.isString(effect.options.queue) ?
|
180
175
|
effect.options.queue : effect.options.queue.position;
|
181
|
-
|
176
|
+
|
182
177
|
switch(position) {
|
183
178
|
case 'front':
|
184
|
-
// move unstarted effects after this effect
|
179
|
+
// move unstarted effects after this effect
|
185
180
|
this.effects.findAll(function(e){ return e.state=='idle' }).each( function(e) {
|
186
181
|
e.startOn += effect.finishOn;
|
187
182
|
e.finishOn += effect.finishOn;
|
@@ -195,13 +190,13 @@ Effect.ScopedQueue = Class.create(Enumerable, {
|
|
195
190
|
timestamp = this.effects.pluck('finishOn').max() || timestamp;
|
196
191
|
break;
|
197
192
|
}
|
198
|
-
|
193
|
+
|
199
194
|
effect.startOn += timestamp;
|
200
195
|
effect.finishOn += timestamp;
|
201
196
|
|
202
197
|
if (!effect.options.queue.limit || (this.effects.length < effect.options.queue.limit))
|
203
198
|
this.effects.push(effect);
|
204
|
-
|
199
|
+
|
205
200
|
if (!this.interval)
|
206
201
|
this.interval = setInterval(this.loop.bind(this), 15);
|
207
202
|
},
|
@@ -214,7 +209,7 @@ Effect.ScopedQueue = Class.create(Enumerable, {
|
|
214
209
|
},
|
215
210
|
loop: function() {
|
216
211
|
var timePos = new Date().getTime();
|
217
|
-
for(var i=0, len=this.effects.length;i<len;i++)
|
212
|
+
for(var i=0, len=this.effects.length;i<len;i++)
|
218
213
|
this.effects[i] && this.effects[i].loop(timePos);
|
219
214
|
}
|
220
215
|
});
|
@@ -223,7 +218,7 @@ Effect.Queues = {
|
|
223
218
|
instances: $H(),
|
224
219
|
get: function(queueName) {
|
225
220
|
if (!Object.isString(queueName)) return queueName;
|
226
|
-
|
221
|
+
|
227
222
|
return this.instances.get(queueName) ||
|
228
223
|
this.instances.set(queueName, new Effect.ScopedQueue());
|
229
224
|
}
|
@@ -248,23 +243,35 @@ Effect.Base = Class.create({
|
|
248
243
|
this.fromToDelta = this.options.to-this.options.from;
|
249
244
|
this.totalTime = this.finishOn-this.startOn;
|
250
245
|
this.totalFrames = this.options.fps*this.options.duration;
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
246
|
+
|
247
|
+
this.render = (function() {
|
248
|
+
function dispatch(effect, eventName) {
|
249
|
+
if (effect.options[eventName + 'Internal'])
|
250
|
+
effect.options[eventName + 'Internal'](effect);
|
251
|
+
if (effect.options[eventName])
|
252
|
+
effect.options[eventName](effect);
|
253
|
+
}
|
254
|
+
|
255
|
+
return function(pos) {
|
256
|
+
if (this.state === "idle") {
|
257
|
+
this.state = "running";
|
258
|
+
dispatch(this, 'beforeSetup');
|
259
|
+
if (this.setup) this.setup();
|
260
|
+
dispatch(this, 'afterSetup');
|
261
|
+
}
|
262
|
+
if (this.state === "running") {
|
263
|
+
pos = (this.options.transition(pos) * this.fromToDelta) + this.options.from;
|
264
|
+
this.position = pos;
|
265
|
+
dispatch(this, 'beforeUpdate');
|
266
|
+
if (this.update) this.update(pos);
|
267
|
+
dispatch(this, 'afterUpdate');
|
268
|
+
}
|
269
|
+
};
|
270
|
+
})();
|
271
|
+
|
265
272
|
this.event('beforeStart');
|
266
273
|
if (!this.options.sync)
|
267
|
-
Effect.Queues.get(Object.isString(this.options.queue) ?
|
274
|
+
Effect.Queues.get(Object.isString(this.options.queue) ?
|
268
275
|
'global' : this.options.queue.scope).add(this);
|
269
276
|
},
|
270
277
|
loop: function(timePos) {
|
@@ -273,9 +280,9 @@ Effect.Base = Class.create({
|
|
273
280
|
this.render(1.0);
|
274
281
|
this.cancel();
|
275
282
|
this.event('beforeFinish');
|
276
|
-
if (this.finish) this.finish();
|
283
|
+
if (this.finish) this.finish();
|
277
284
|
this.event('afterFinish');
|
278
|
-
return;
|
285
|
+
return;
|
279
286
|
}
|
280
287
|
var pos = (timePos - this.startOn) / this.totalTime,
|
281
288
|
frame = (pos * this.totalFrames).round();
|
@@ -287,7 +294,7 @@ Effect.Base = Class.create({
|
|
287
294
|
},
|
288
295
|
cancel: function() {
|
289
296
|
if (!this.options.sync)
|
290
|
-
Effect.Queues.get(Object.isString(this.options.queue) ?
|
297
|
+
Effect.Queues.get(Object.isString(this.options.queue) ?
|
291
298
|
'global' : this.options.queue.scope).remove(this);
|
292
299
|
this.state = 'finished';
|
293
300
|
},
|
@@ -325,10 +332,10 @@ Effect.Parallel = Class.create(Effect.Base, {
|
|
325
332
|
Effect.Tween = Class.create(Effect.Base, {
|
326
333
|
initialize: function(object, from, to) {
|
327
334
|
object = Object.isString(object) ? $(object) : object;
|
328
|
-
var args = $A(arguments), method = args.last(),
|
335
|
+
var args = $A(arguments), method = args.last(),
|
329
336
|
options = args.length == 5 ? args[3] : null;
|
330
337
|
this.method = Object.isFunction(method) ? method.bind(object) :
|
331
|
-
Object.isFunction(object[method]) ? object[method].bind(object) :
|
338
|
+
Object.isFunction(object[method]) ? object[method].bind(object) :
|
332
339
|
function(value) { object[method] = value };
|
333
340
|
this.start(Object.extend({ from: from, to: to }, options || { }));
|
334
341
|
},
|
@@ -392,7 +399,7 @@ Effect.Move = Class.create(Effect.Base, {
|
|
392
399
|
|
393
400
|
// for backwards compatibility
|
394
401
|
Effect.MoveBy = function(element, toTop, toLeft) {
|
395
|
-
return new Effect.Move(element,
|
402
|
+
return new Effect.Move(element,
|
396
403
|
Object.extend({ x: toLeft, y: toTop }, arguments[3] || { }));
|
397
404
|
};
|
398
405
|
|
@@ -414,15 +421,15 @@ Effect.Scale = Class.create(Effect.Base, {
|
|
414
421
|
setup: function() {
|
415
422
|
this.restoreAfterFinish = this.options.restoreAfterFinish || false;
|
416
423
|
this.elementPositioning = this.element.getStyle('position');
|
417
|
-
|
424
|
+
|
418
425
|
this.originalStyle = { };
|
419
426
|
['top','left','width','height','fontSize'].each( function(k) {
|
420
427
|
this.originalStyle[k] = this.element.style[k];
|
421
428
|
}.bind(this));
|
422
|
-
|
429
|
+
|
423
430
|
this.originalTop = this.element.offsetTop;
|
424
431
|
this.originalLeft = this.element.offsetLeft;
|
425
|
-
|
432
|
+
|
426
433
|
var fontSize = this.element.getStyle('font-size') || '100%';
|
427
434
|
['em','px','%','pt'].each( function(fontSizeType) {
|
428
435
|
if (fontSize.indexOf(fontSizeType)>0) {
|
@@ -430,9 +437,9 @@ Effect.Scale = Class.create(Effect.Base, {
|
|
430
437
|
this.fontSizeType = fontSizeType;
|
431
438
|
}
|
432
439
|
}.bind(this));
|
433
|
-
|
440
|
+
|
434
441
|
this.factor = (this.options.scaleTo - this.options.scaleFrom)/100;
|
435
|
-
|
442
|
+
|
436
443
|
this.dims = null;
|
437
444
|
if (this.options.scaleMode=='box')
|
438
445
|
this.dims = [this.element.offsetHeight, this.element.offsetWidth];
|
@@ -507,17 +514,16 @@ Effect.Highlight = Class.create(Effect.Base, {
|
|
507
514
|
|
508
515
|
Effect.ScrollTo = function(element) {
|
509
516
|
var options = arguments[1] || { },
|
510
|
-
|
511
|
-
|
512
|
-
max = (window.height || document.body.scrollHeight) - document.viewport.getHeight();
|
517
|
+
scrollOffsets = document.viewport.getScrollOffsets(),
|
518
|
+
elementOffsets = $(element).cumulativeOffset();
|
513
519
|
|
514
520
|
if (options.offset) elementOffsets[1] += options.offset;
|
515
521
|
|
516
522
|
return new Effect.Tween(null,
|
517
523
|
scrollOffsets.top,
|
518
|
-
elementOffsets[1]
|
524
|
+
elementOffsets[1],
|
519
525
|
options,
|
520
|
-
function(p){ scrollTo(scrollOffsets.left, p.round()) }
|
526
|
+
function(p){ scrollTo(scrollOffsets.left, p.round()); }
|
521
527
|
);
|
522
528
|
};
|
523
529
|
|
@@ -529,9 +535,9 @@ Effect.Fade = function(element) {
|
|
529
535
|
var options = Object.extend({
|
530
536
|
from: element.getOpacity() || 1.0,
|
531
537
|
to: 0.0,
|
532
|
-
afterFinishInternal: function(effect) {
|
538
|
+
afterFinishInternal: function(effect) {
|
533
539
|
if (effect.options.to!=0) return;
|
534
|
-
effect.element.hide().setStyle({opacity: oldOpacity});
|
540
|
+
effect.element.hide().setStyle({opacity: oldOpacity});
|
535
541
|
}
|
536
542
|
}, arguments[1] || { });
|
537
543
|
return new Effect.Opacity(element,options);
|
@@ -547,15 +553,15 @@ Effect.Appear = function(element) {
|
|
547
553
|
effect.element.forceRerendering();
|
548
554
|
},
|
549
555
|
beforeSetup: function(effect) {
|
550
|
-
effect.element.setOpacity(effect.options.from).show();
|
556
|
+
effect.element.setOpacity(effect.options.from).show();
|
551
557
|
}}, arguments[1] || { });
|
552
558
|
return new Effect.Opacity(element,options);
|
553
559
|
};
|
554
560
|
|
555
561
|
Effect.Puff = function(element) {
|
556
562
|
element = $(element);
|
557
|
-
var oldStyle = {
|
558
|
-
opacity: element.getInlineOpacity(),
|
563
|
+
var oldStyle = {
|
564
|
+
opacity: element.getInlineOpacity(),
|
559
565
|
position: element.getStyle('position'),
|
560
566
|
top: element.style.top,
|
561
567
|
left: element.style.left,
|
@@ -563,12 +569,12 @@ Effect.Puff = function(element) {
|
|
563
569
|
height: element.style.height
|
564
570
|
};
|
565
571
|
return new Effect.Parallel(
|
566
|
-
[ new Effect.Scale(element, 200,
|
567
|
-
{ sync: true, scaleFromCenter: true, scaleContent: true, restoreAfterFinish: true }),
|
568
|
-
new Effect.Opacity(element, { sync: true, to: 0.0 } ) ],
|
569
|
-
Object.extend({ duration: 1.0,
|
572
|
+
[ new Effect.Scale(element, 200,
|
573
|
+
{ sync: true, scaleFromCenter: true, scaleContent: true, restoreAfterFinish: true }),
|
574
|
+
new Effect.Opacity(element, { sync: true, to: 0.0 } ) ],
|
575
|
+
Object.extend({ duration: 1.0,
|
570
576
|
beforeSetupInternal: function(effect) {
|
571
|
-
Position.absolutize(effect.effects[0].element)
|
577
|
+
Position.absolutize(effect.effects[0].element);
|
572
578
|
},
|
573
579
|
afterFinishInternal: function(effect) {
|
574
580
|
effect.effects[0].element.hide().setStyle(oldStyle); }
|
@@ -580,12 +586,12 @@ Effect.BlindUp = function(element) {
|
|
580
586
|
element = $(element);
|
581
587
|
element.makeClipping();
|
582
588
|
return new Effect.Scale(element, 0,
|
583
|
-
Object.extend({ scaleContent: false,
|
584
|
-
scaleX: false,
|
589
|
+
Object.extend({ scaleContent: false,
|
590
|
+
scaleX: false,
|
585
591
|
restoreAfterFinish: true,
|
586
592
|
afterFinishInternal: function(effect) {
|
587
593
|
effect.element.hide().undoClipping();
|
588
|
-
}
|
594
|
+
}
|
589
595
|
}, arguments[1] || { })
|
590
596
|
);
|
591
597
|
};
|
@@ -593,15 +599,15 @@ Effect.BlindUp = function(element) {
|
|
593
599
|
Effect.BlindDown = function(element) {
|
594
600
|
element = $(element);
|
595
601
|
var elementDimensions = element.getDimensions();
|
596
|
-
return new Effect.Scale(element, 100, Object.extend({
|
597
|
-
scaleContent: false,
|
602
|
+
return new Effect.Scale(element, 100, Object.extend({
|
603
|
+
scaleContent: false,
|
598
604
|
scaleX: false,
|
599
605
|
scaleFrom: 0,
|
600
606
|
scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
|
601
607
|
restoreAfterFinish: true,
|
602
608
|
afterSetup: function(effect) {
|
603
|
-
effect.element.makeClipping().setStyle({height: '0px'}).show();
|
604
|
-
},
|
609
|
+
effect.element.makeClipping().setStyle({height: '0px'}).show();
|
610
|
+
},
|
605
611
|
afterFinishInternal: function(effect) {
|
606
612
|
effect.element.undoClipping();
|
607
613
|
}
|
@@ -616,16 +622,16 @@ Effect.SwitchOff = function(element) {
|
|
616
622
|
from: 0,
|
617
623
|
transition: Effect.Transitions.flicker,
|
618
624
|
afterFinishInternal: function(effect) {
|
619
|
-
new Effect.Scale(effect.element, 1, {
|
625
|
+
new Effect.Scale(effect.element, 1, {
|
620
626
|
duration: 0.3, scaleFromCenter: true,
|
621
627
|
scaleX: false, scaleContent: false, restoreAfterFinish: true,
|
622
|
-
beforeSetup: function(effect) {
|
628
|
+
beforeSetup: function(effect) {
|
623
629
|
effect.element.makePositioned().makeClipping();
|
624
630
|
},
|
625
631
|
afterFinishInternal: function(effect) {
|
626
632
|
effect.element.hide().undoClipping().undoPositioned().setStyle({opacity: oldOpacity});
|
627
633
|
}
|
628
|
-
})
|
634
|
+
});
|
629
635
|
}
|
630
636
|
}, arguments[1] || { }));
|
631
637
|
};
|
@@ -637,16 +643,16 @@ Effect.DropOut = function(element) {
|
|
637
643
|
left: element.getStyle('left'),
|
638
644
|
opacity: element.getInlineOpacity() };
|
639
645
|
return new Effect.Parallel(
|
640
|
-
[ new Effect.Move(element, {x: 0, y: 100, sync: true }),
|
646
|
+
[ new Effect.Move(element, {x: 0, y: 100, sync: true }),
|
641
647
|
new Effect.Opacity(element, { sync: true, to: 0.0 }) ],
|
642
648
|
Object.extend(
|
643
649
|
{ duration: 0.5,
|
644
650
|
beforeSetup: function(effect) {
|
645
|
-
effect.effects[0].element.makePositioned();
|
651
|
+
effect.effects[0].element.makePositioned();
|
646
652
|
},
|
647
653
|
afterFinishInternal: function(effect) {
|
648
654
|
effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle);
|
649
|
-
}
|
655
|
+
}
|
650
656
|
}, arguments[1] || { }));
|
651
657
|
};
|
652
658
|
|
@@ -674,7 +680,7 @@ Effect.Shake = function(element) {
|
|
674
680
|
new Effect.Move(effect.element,
|
675
681
|
{ x: -distance, y: 0, duration: split, afterFinishInternal: function(effect) {
|
676
682
|
effect.element.undoPositioned().setStyle(oldStyle);
|
677
|
-
}}) }}) }}) }}) }}) }});
|
683
|
+
}}); }}); }}); }}); }}); }});
|
678
684
|
};
|
679
685
|
|
680
686
|
Effect.SlideDown = function(element) {
|
@@ -682,9 +688,9 @@ Effect.SlideDown = function(element) {
|
|
682
688
|
// SlideDown need to have the content of the element wrapped in a container element with fixed height!
|
683
689
|
var oldInnerBottom = element.down().getStyle('bottom');
|
684
690
|
var elementDimensions = element.getDimensions();
|
685
|
-
return new Effect.Scale(element, 100, Object.extend({
|
686
|
-
scaleContent: false,
|
687
|
-
scaleX: false,
|
691
|
+
return new Effect.Scale(element, 100, Object.extend({
|
692
|
+
scaleContent: false,
|
693
|
+
scaleX: false,
|
688
694
|
scaleFrom: window.opera ? 0 : 1,
|
689
695
|
scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
|
690
696
|
restoreAfterFinish: true,
|
@@ -692,11 +698,11 @@ Effect.SlideDown = function(element) {
|
|
692
698
|
effect.element.makePositioned();
|
693
699
|
effect.element.down().makePositioned();
|
694
700
|
if (window.opera) effect.element.setStyle({top: ''});
|
695
|
-
effect.element.makeClipping().setStyle({height: '0px'}).show();
|
701
|
+
effect.element.makeClipping().setStyle({height: '0px'}).show();
|
696
702
|
},
|
697
703
|
afterUpdateInternal: function(effect) {
|
698
704
|
effect.element.down().setStyle({bottom:
|
699
|
-
(effect.dims[0] - effect.element.clientHeight) + 'px' });
|
705
|
+
(effect.dims[0] - effect.element.clientHeight) + 'px' });
|
700
706
|
},
|
701
707
|
afterFinishInternal: function(effect) {
|
702
708
|
effect.element.undoClipping().undoPositioned();
|
@@ -710,8 +716,8 @@ Effect.SlideUp = function(element) {
|
|
710
716
|
var oldInnerBottom = element.down().getStyle('bottom');
|
711
717
|
var elementDimensions = element.getDimensions();
|
712
718
|
return new Effect.Scale(element, window.opera ? 0 : 1,
|
713
|
-
Object.extend({ scaleContent: false,
|
714
|
-
scaleX: false,
|
719
|
+
Object.extend({ scaleContent: false,
|
720
|
+
scaleX: false,
|
715
721
|
scaleMode: 'box',
|
716
722
|
scaleFrom: 100,
|
717
723
|
scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
|
@@ -721,7 +727,7 @@ Effect.SlideUp = function(element) {
|
|
721
727
|
effect.element.down().makePositioned();
|
722
728
|
if (window.opera) effect.element.setStyle({top: ''});
|
723
729
|
effect.element.makeClipping().show();
|
724
|
-
},
|
730
|
+
},
|
725
731
|
afterUpdateInternal: function(effect) {
|
726
732
|
effect.element.down().setStyle({bottom:
|
727
733
|
(effect.dims[0] - effect.element.clientHeight) + 'px' });
|
@@ -734,15 +740,15 @@ Effect.SlideUp = function(element) {
|
|
734
740
|
);
|
735
741
|
};
|
736
742
|
|
737
|
-
// Bug in opera makes the TD containing this element expand for a instance after finish
|
743
|
+
// Bug in opera makes the TD containing this element expand for a instance after finish
|
738
744
|
Effect.Squish = function(element) {
|
739
|
-
return new Effect.Scale(element, window.opera ? 1 : 0, {
|
745
|
+
return new Effect.Scale(element, window.opera ? 1 : 0, {
|
740
746
|
restoreAfterFinish: true,
|
741
747
|
beforeSetup: function(effect) {
|
742
|
-
effect.element.makeClipping();
|
743
|
-
},
|
748
|
+
effect.element.makeClipping();
|
749
|
+
},
|
744
750
|
afterFinishInternal: function(effect) {
|
745
|
-
effect.element.hide().undoClipping();
|
751
|
+
effect.element.hide().undoClipping();
|
746
752
|
}
|
747
753
|
});
|
748
754
|
};
|
@@ -762,13 +768,13 @@ Effect.Grow = function(element) {
|
|
762
768
|
width: element.style.width,
|
763
769
|
opacity: element.getInlineOpacity() };
|
764
770
|
|
765
|
-
var dims = element.getDimensions();
|
771
|
+
var dims = element.getDimensions();
|
766
772
|
var initialMoveX, initialMoveY;
|
767
773
|
var moveX, moveY;
|
768
|
-
|
774
|
+
|
769
775
|
switch (options.direction) {
|
770
776
|
case 'top-left':
|
771
|
-
initialMoveX = initialMoveY = moveX = moveY = 0;
|
777
|
+
initialMoveX = initialMoveY = moveX = moveY = 0;
|
772
778
|
break;
|
773
779
|
case 'top-right':
|
774
780
|
initialMoveX = dims.width;
|
@@ -793,11 +799,11 @@ Effect.Grow = function(element) {
|
|
793
799
|
moveY = -dims.height / 2;
|
794
800
|
break;
|
795
801
|
}
|
796
|
-
|
802
|
+
|
797
803
|
return new Effect.Move(element, {
|
798
804
|
x: initialMoveX,
|
799
805
|
y: initialMoveY,
|
800
|
-
duration: 0.01,
|
806
|
+
duration: 0.01,
|
801
807
|
beforeSetup: function(effect) {
|
802
808
|
effect.element.hide().makeClipping().makePositioned();
|
803
809
|
},
|
@@ -806,17 +812,17 @@ Effect.Grow = function(element) {
|
|
806
812
|
[ new Effect.Opacity(effect.element, { sync: true, to: 1.0, from: 0.0, transition: options.opacityTransition }),
|
807
813
|
new Effect.Move(effect.element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition }),
|
808
814
|
new Effect.Scale(effect.element, 100, {
|
809
|
-
scaleMode: { originalHeight: dims.height, originalWidth: dims.width },
|
815
|
+
scaleMode: { originalHeight: dims.height, originalWidth: dims.width },
|
810
816
|
sync: true, scaleFrom: window.opera ? 1 : 0, transition: options.scaleTransition, restoreAfterFinish: true})
|
811
817
|
], Object.extend({
|
812
818
|
beforeSetup: function(effect) {
|
813
|
-
effect.effects[0].element.setStyle({height: '0px'}).show();
|
819
|
+
effect.effects[0].element.setStyle({height: '0px'}).show();
|
814
820
|
},
|
815
821
|
afterFinishInternal: function(effect) {
|
816
|
-
effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldStyle);
|
822
|
+
effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldStyle);
|
817
823
|
}
|
818
824
|
}, options)
|
819
|
-
)
|
825
|
+
);
|
820
826
|
}
|
821
827
|
});
|
822
828
|
};
|
@@ -838,7 +844,7 @@ Effect.Shrink = function(element) {
|
|
838
844
|
|
839
845
|
var dims = element.getDimensions();
|
840
846
|
var moveX, moveY;
|
841
|
-
|
847
|
+
|
842
848
|
switch (options.direction) {
|
843
849
|
case 'top-left':
|
844
850
|
moveX = moveY = 0;
|
@@ -855,19 +861,19 @@ Effect.Shrink = function(element) {
|
|
855
861
|
moveX = dims.width;
|
856
862
|
moveY = dims.height;
|
857
863
|
break;
|
858
|
-
case 'center':
|
864
|
+
case 'center':
|
859
865
|
moveX = dims.width / 2;
|
860
866
|
moveY = dims.height / 2;
|
861
867
|
break;
|
862
868
|
}
|
863
|
-
|
869
|
+
|
864
870
|
return new Effect.Parallel(
|
865
871
|
[ new Effect.Opacity(element, { sync: true, to: 0.0, from: 1.0, transition: options.opacityTransition }),
|
866
872
|
new Effect.Scale(element, window.opera ? 1 : 0, { sync: true, transition: options.scaleTransition, restoreAfterFinish: true}),
|
867
873
|
new Effect.Move(element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition })
|
868
|
-
], Object.extend({
|
874
|
+
], Object.extend({
|
869
875
|
beforeStartInternal: function(effect) {
|
870
|
-
effect.effects[0].element.makePositioned().makeClipping();
|
876
|
+
effect.effects[0].element.makePositioned().makeClipping();
|
871
877
|
},
|
872
878
|
afterFinishInternal: function(effect) {
|
873
879
|
effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle(oldStyle); }
|
@@ -877,12 +883,14 @@ Effect.Shrink = function(element) {
|
|
877
883
|
|
878
884
|
Effect.Pulsate = function(element) {
|
879
885
|
element = $(element);
|
880
|
-
var options = arguments[1] || { }
|
881
|
-
|
882
|
-
|
883
|
-
|
884
|
-
|
885
|
-
|
886
|
+
var options = arguments[1] || { },
|
887
|
+
oldOpacity = element.getInlineOpacity(),
|
888
|
+
transition = options.transition || Effect.Transitions.linear,
|
889
|
+
reverser = function(pos){
|
890
|
+
return 1 - transition((-Math.cos((pos*(options.pulses||5)*2)*Math.PI)/2) + .5);
|
891
|
+
};
|
892
|
+
|
893
|
+
return new Effect.Opacity(element,
|
886
894
|
Object.extend(Object.extend({ duration: 2.0, from: 0,
|
887
895
|
afterFinishInternal: function(effect) { effect.element.setStyle({opacity: oldOpacity}); }
|
888
896
|
}, options), {transition: reverser}));
|
@@ -896,12 +904,12 @@ Effect.Fold = function(element) {
|
|
896
904
|
width: element.style.width,
|
897
905
|
height: element.style.height };
|
898
906
|
element.makeClipping();
|
899
|
-
return new Effect.Scale(element, 5, Object.extend({
|
907
|
+
return new Effect.Scale(element, 5, Object.extend({
|
900
908
|
scaleContent: false,
|
901
909
|
scaleX: false,
|
902
910
|
afterFinishInternal: function(effect) {
|
903
|
-
new Effect.Scale(element, 1, {
|
904
|
-
scaleContent: false,
|
911
|
+
new Effect.Scale(element, 1, {
|
912
|
+
scaleContent: false,
|
905
913
|
scaleY: false,
|
906
914
|
afterFinishInternal: function(effect) {
|
907
915
|
effect.element.hide().undoClipping().setStyle(oldStyle);
|
@@ -916,7 +924,7 @@ Effect.Morph = Class.create(Effect.Base, {
|
|
916
924
|
var options = Object.extend({
|
917
925
|
style: { }
|
918
926
|
}, arguments[1] || { });
|
919
|
-
|
927
|
+
|
920
928
|
if (!Object.isString(options.style)) this.style = $H(options.style);
|
921
929
|
else {
|
922
930
|
if (options.style.include(':'))
|
@@ -934,18 +942,18 @@ Effect.Morph = Class.create(Effect.Base, {
|
|
934
942
|
effect.transforms.each(function(transform) {
|
935
943
|
effect.element.style[transform.style] = '';
|
936
944
|
});
|
937
|
-
}
|
945
|
+
};
|
938
946
|
}
|
939
947
|
}
|
940
948
|
this.start(options);
|
941
949
|
},
|
942
|
-
|
950
|
+
|
943
951
|
setup: function(){
|
944
952
|
function parseColor(color){
|
945
953
|
if (!color || ['rgba(0, 0, 0, 0)','transparent'].include(color)) color = '#ffffff';
|
946
954
|
color = color.parseColor();
|
947
955
|
return $R(0,2).map(function(i){
|
948
|
-
return parseInt( color.slice(i*2+1,i*2+3), 16 )
|
956
|
+
return parseInt( color.slice(i*2+1,i*2+3), 16 );
|
949
957
|
});
|
950
958
|
}
|
951
959
|
this.transforms = this.style.map(function(pair){
|
@@ -965,9 +973,9 @@ Effect.Morph = Class.create(Effect.Base, {
|
|
965
973
|
}
|
966
974
|
|
967
975
|
var originalValue = this.element.getStyle(property);
|
968
|
-
return {
|
969
|
-
style: property.camelize(),
|
970
|
-
originalValue: unit=='color' ? parseColor(originalValue) : parseFloat(originalValue || 0),
|
976
|
+
return {
|
977
|
+
style: property.camelize(),
|
978
|
+
originalValue: unit=='color' ? parseColor(originalValue) : parseFloat(originalValue || 0),
|
971
979
|
targetValue: unit=='color' ? parseColor(value) : value,
|
972
980
|
unit: unit
|
973
981
|
};
|
@@ -978,13 +986,13 @@ Effect.Morph = Class.create(Effect.Base, {
|
|
978
986
|
transform.unit != 'color' &&
|
979
987
|
(isNaN(transform.originalValue) || isNaN(transform.targetValue))
|
980
988
|
)
|
981
|
-
)
|
989
|
+
);
|
982
990
|
});
|
983
991
|
},
|
984
992
|
update: function(position) {
|
985
993
|
var style = { }, transform, i = this.transforms.length;
|
986
994
|
while(i--)
|
987
|
-
style[(transform = this.transforms[i]).style] =
|
995
|
+
style[(transform = this.transforms[i]).style] =
|
988
996
|
transform.unit=='color' ? '#'+
|
989
997
|
(Math.round(transform.originalValue[0]+
|
990
998
|
(transform.targetValue[0]-transform.originalValue[0])*position)).toColorPart() +
|
@@ -993,7 +1001,7 @@ Effect.Morph = Class.create(Effect.Base, {
|
|
993
1001
|
(Math.round(transform.originalValue[2]+
|
994
1002
|
(transform.targetValue[2]-transform.originalValue[2])*position)).toColorPart() :
|
995
1003
|
(transform.originalValue +
|
996
|
-
(transform.targetValue - transform.originalValue) * position).toFixed(3) +
|
1004
|
+
(transform.targetValue - transform.originalValue) * position).toFixed(3) +
|
997
1005
|
(transform.unit === null ? '' : transform.unit);
|
998
1006
|
this.element.setStyle(style, true);
|
999
1007
|
}
|
@@ -1030,7 +1038,7 @@ Effect.Transform = Class.create({
|
|
1030
1038
|
});
|
1031
1039
|
|
1032
1040
|
Element.CSS_PROPERTIES = $w(
|
1033
|
-
'backgroundColor backgroundPosition borderBottomColor borderBottomStyle ' +
|
1041
|
+
'backgroundColor backgroundPosition borderBottomColor borderBottomStyle ' +
|
1034
1042
|
'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth ' +
|
1035
1043
|
'borderRightColor borderRightStyle borderRightWidth borderSpacing ' +
|
1036
1044
|
'borderTopColor borderTopStyle borderTopWidth bottom clip color ' +
|
@@ -1039,7 +1047,7 @@ Element.CSS_PROPERTIES = $w(
|
|
1039
1047
|
'maxWidth minHeight minWidth opacity outlineColor outlineOffset ' +
|
1040
1048
|
'outlineWidth paddingBottom paddingLeft paddingRight paddingTop ' +
|
1041
1049
|
'right textIndent top width wordSpacing zIndex');
|
1042
|
-
|
1050
|
+
|
1043
1051
|
Element.CSS_LENGTH = /^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;
|
1044
1052
|
|
1045
1053
|
String.__parseStyleElement = document.createElement('div');
|
@@ -1051,11 +1059,11 @@ String.prototype.parseStyle = function(){
|
|
1051
1059
|
String.__parseStyleElement.innerHTML = '<div style="' + this + '"></div>';
|
1052
1060
|
style = String.__parseStyleElement.childNodes[0].style;
|
1053
1061
|
}
|
1054
|
-
|
1062
|
+
|
1055
1063
|
Element.CSS_PROPERTIES.each(function(property){
|
1056
|
-
if (style[property]) styleRules.set(property, style[property]);
|
1064
|
+
if (style[property]) styleRules.set(property, style[property]);
|
1057
1065
|
});
|
1058
|
-
|
1066
|
+
|
1059
1067
|
if (Prototype.Browser.IE && this.include('opacity'))
|
1060
1068
|
styleRules.set('opacity', this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]);
|
1061
1069
|
|
@@ -1074,14 +1082,14 @@ if (document.defaultView && document.defaultView.getComputedStyle) {
|
|
1074
1082
|
Element.getStyles = function(element) {
|
1075
1083
|
element = $(element);
|
1076
1084
|
var css = element.currentStyle, styles;
|
1077
|
-
styles = Element.CSS_PROPERTIES.inject({ }, function(
|
1078
|
-
|
1079
|
-
return
|
1085
|
+
styles = Element.CSS_PROPERTIES.inject({ }, function(results, property) {
|
1086
|
+
results[property] = css[property];
|
1087
|
+
return results;
|
1080
1088
|
});
|
1081
|
-
if (!styles.opacity) styles.
|
1089
|
+
if (!styles.opacity) styles.opacity = element.getOpacity();
|
1082
1090
|
return styles;
|
1083
1091
|
};
|
1084
|
-
}
|
1092
|
+
}
|
1085
1093
|
|
1086
1094
|
Effect.Methods = {
|
1087
1095
|
morph: function(element, style) {
|
@@ -1090,7 +1098,7 @@ Effect.Methods = {
|
|
1090
1098
|
return element;
|
1091
1099
|
},
|
1092
1100
|
visualEffect: function(element, effect, options) {
|
1093
|
-
element = $(element)
|
1101
|
+
element = $(element);
|
1094
1102
|
var s = effect.dasherize().camelize(), klass = s.charAt(0).toUpperCase() + s.substring(1);
|
1095
1103
|
new Effect[klass](element, options);
|
1096
1104
|
return element;
|
@@ -1104,17 +1112,17 @@ Effect.Methods = {
|
|
1104
1112
|
|
1105
1113
|
$w('fade appear grow shrink fold blindUp blindDown slideUp slideDown '+
|
1106
1114
|
'pulsate shake puff squish switchOff dropOut').each(
|
1107
|
-
function(effect) {
|
1115
|
+
function(effect) {
|
1108
1116
|
Effect.Methods[effect] = function(element, options){
|
1109
1117
|
element = $(element);
|
1110
1118
|
Effect[effect.charAt(0).toUpperCase() + effect.substring(1)](element, options);
|
1111
1119
|
return element;
|
1112
|
-
}
|
1120
|
+
};
|
1113
1121
|
}
|
1114
1122
|
);
|
1115
1123
|
|
1116
|
-
$w('getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles').each(
|
1124
|
+
$w('getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles').each(
|
1117
1125
|
function(f) { Effect.Methods[f] = Element[f]; }
|
1118
1126
|
);
|
1119
1127
|
|
1120
|
-
Element.addMethods(Effect.Methods);
|
1128
|
+
Element.addMethods(Effect.Methods);
|