rsence-pre 2.1.0.1.pre
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.yardopts +10 -0
- data/INSTALL.rdoc +330 -0
- data/LICENSE.txt +622 -0
- data/README.rdoc +98 -0
- data/VERSION +1 -0
- data/bin/rsence +25 -0
- data/bin/rsence-pre +25 -0
- data/conf/default_conf.yaml +346 -0
- data/conf/default_strings.yaml +76 -0
- data/conf/rsence_command_strings.yaml +444 -0
- data/docs/ExampleGuiPlugin.rdoc +193 -0
- data/docs/JavascriptBundles.rdoc +0 -0
- data/docs/PluginBundleInfo.rdoc +173 -0
- data/docs/PluginBundles.rdoc +96 -0
- data/docs/Values.rdoc +163 -0
- data/js/comm/autosync/autosync.js +17 -0
- data/js/comm/autosync/js.inc +0 -0
- data/js/comm/comm.js +203 -0
- data/js/comm/js.inc +0 -0
- data/js/comm/jsloader/js.inc +0 -0
- data/js/comm/jsloader/jsloader.js +112 -0
- data/js/comm/queue/js.inc +0 -0
- data/js/comm/queue/queue.js +184 -0
- data/js/comm/session/js.inc +0 -0
- data/js/comm/session/session.js +52 -0
- data/js/comm/sessionwatcher/js.inc +0 -0
- data/js/comm/sessionwatcher/sessionwatcher.js +44 -0
- data/js/comm/transporter/js.inc +0 -0
- data/js/comm/transporter/transporter.js +261 -0
- data/js/comm/urlresponder/js.inc +0 -0
- data/js/comm/urlresponder/urlresponder.js +149 -0
- data/js/comm/values/js.inc +0 -0
- data/js/comm/values/values.js +433 -0
- data/js/controls/button/button.js +72 -0
- data/js/controls/button/js.inc +0 -0
- data/js/controls/button/themes/bright/button.css +89 -0
- data/js/controls/button/themes/bright/button.html +7 -0
- data/js/controls/button/themes/bright/button_parts1-ie6.gif +0 -0
- data/js/controls/button/themes/bright/button_parts1.png +0 -0
- data/js/controls/button/themes/default/button.css +89 -0
- data/js/controls/button/themes/default/button.html +7 -0
- data/js/controls/button/themes/default/button_parts1-ie6.gif +0 -0
- data/js/controls/button/themes/default/button_parts1.png +0 -0
- data/js/controls/checkbox/checkbox.js +49 -0
- data/js/controls/checkbox/js.inc +0 -0
- data/js/controls/checkbox/themes/default/checkbox.css +69 -0
- data/js/controls/checkbox/themes/default/checkbox.html +5 -0
- data/js/controls/checkbox/themes/default/checkbox_parts1-ie6.gif +0 -0
- data/js/controls/checkbox/themes/default/checkbox_parts1.png +0 -0
- data/js/controls/dialogs/alert_sheet/alert_sheet.js +63 -0
- data/js/controls/dialogs/alert_sheet/js.inc +0 -0
- data/js/controls/dialogs/confirm_sheet/confirm_sheet.js +37 -0
- data/js/controls/dialogs/confirm_sheet/js.inc +0 -0
- data/js/controls/dialogs/sheet/js.inc +0 -0
- data/js/controls/dialogs/sheet/sheet.js +84 -0
- data/js/controls/dialogs/sheet/themes/default/sheet.css +64 -0
- data/js/controls/dialogs/sheet/themes/default/sheet.html +14 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_bg-ie6.gif +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_bg.png +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_dim-ie6.gif +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_dim.png +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_parts1-ie6.gif +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_parts1.png +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_parts2-ie6.gif +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_parts2.png +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_warning-ie6.gif +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_warning.png +0 -0
- data/js/controls/imageview/imageview.js +109 -0
- data/js/controls/imageview/js.inc +0 -0
- data/js/controls/imageview/themes/default/blank.gif +0 -0
- data/js/controls/passwordcontrol/js.inc +0 -0
- data/js/controls/passwordcontrol/passwordcontrol.js +23 -0
- data/js/controls/passwordcontrol/themes/default/passwordcontrol.css +0 -0
- data/js/controls/passwordcontrol/themes/default/passwordcontrol.html +18 -0
- data/js/controls/progress/progressbar/js.inc +0 -0
- data/js/controls/progress/progressbar/progressbar.js +40 -0
- data/js/controls/progress/progressbar/themes/default/progressbar.css +16 -0
- data/js/controls/progress/progressbar/themes/default/progressbar.html +2 -0
- data/js/controls/progress/progressindicator/js.inc +0 -0
- data/js/controls/progress/progressindicator/progressindicator.js +44 -0
- data/js/controls/radiobutton/js.inc +0 -0
- data/js/controls/radiobutton/radiobutton.js +43 -0
- data/js/controls/radiobutton/themes/default/radiobutton.css +69 -0
- data/js/controls/radiobutton/themes/default/radiobutton.html +5 -0
- data/js/controls/radiobutton/themes/default/radiobutton_parts1-ie6.gif +0 -0
- data/js/controls/radiobutton/themes/default/radiobutton_parts1.png +0 -0
- data/js/controls/sliders/slider/js.inc +0 -0
- data/js/controls/sliders/slider/slider.js +357 -0
- data/js/controls/sliders/slider/themes/default/hslider_tracks-ie6.gif +0 -0
- data/js/controls/sliders/slider/themes/default/hslider_tracks.png +0 -0
- data/js/controls/sliders/slider/themes/default/slider.css +108 -0
- data/js/controls/sliders/slider/themes/default/slider.html +5 -0
- data/js/controls/sliders/slider/themes/default/slider_thumbs-ie6.gif +0 -0
- data/js/controls/sliders/slider/themes/default/slider_thumbs.png +0 -0
- data/js/controls/sliders/vslider/js.inc +0 -0
- data/js/controls/sliders/vslider/themes/default/vslider.css +52 -0
- data/js/controls/sliders/vslider/themes/default/vslider.html +5 -0
- data/js/controls/sliders/vslider/themes/default/vslider_tracks-ie6.gif +0 -0
- data/js/controls/sliders/vslider/themes/default/vslider_tracks.png +0 -0
- data/js/controls/sliders/vslider/vslider.js +41 -0
- data/js/controls/stepper/js.inc +0 -0
- data/js/controls/stepper/stepper.js +213 -0
- data/js/controls/stepper/themes/default/stepper-ie6.gif +0 -0
- data/js/controls/stepper/themes/default/stepper.css +14 -0
- data/js/controls/stepper/themes/default/stepper.html +2 -0
- data/js/controls/stepper/themes/default/stepper.png +0 -0
- data/js/controls/stringview/js.inc +0 -0
- data/js/controls/stringview/stringview.js +49 -0
- data/js/controls/stringview/themes/default/stringview.css +8 -0
- data/js/controls/stringview/themes/default/stringview.html +1 -0
- data/js/controls/tab/js.inc +0 -0
- data/js/controls/tab/tab.js +280 -0
- data/js/controls/tab/themes/bright/tab.css +76 -0
- data/js/controls/tab/themes/bright/tab.html +6 -0
- data/js/controls/tab/themes/bright/tab_bg_color-ie6.gif +0 -0
- data/js/controls/tab/themes/bright/tab_bg_color.png +0 -0
- data/js/controls/tab/themes/bright/tab_border_pattern-ie6.gif +0 -0
- data/js/controls/tab/themes/bright/tab_border_pattern.png +0 -0
- data/js/controls/tab/themes/bright/tab_parts1-ie6.gif +0 -0
- data/js/controls/tab/themes/bright/tab_parts1.png +0 -0
- data/js/controls/tab/themes/default/tab.css +77 -0
- data/js/controls/tab/themes/default/tab.html +6 -0
- data/js/controls/tab/themes/default/tab_bg_color-ie6.gif +0 -0
- data/js/controls/tab/themes/default/tab_bg_color.png +0 -0
- data/js/controls/tab/themes/default/tab_border_pattern-ie6.gif +0 -0
- data/js/controls/tab/themes/default/tab_border_pattern.png +0 -0
- data/js/controls/tab/themes/default/tab_parts1-ie6.gif +0 -0
- data/js/controls/tab/themes/default/tab_parts1.png +0 -0
- data/js/controls/textarea/js.inc +0 -0
- data/js/controls/textarea/textarea.js +24 -0
- data/js/controls/textarea/themes/default/textarea.css +21 -0
- data/js/controls/textarea/themes/default/textarea.html +18 -0
- data/js/controls/textcontrol/js.inc +0 -0
- data/js/controls/textcontrol/textcontrol.js +374 -0
- data/js/controls/textcontrol/themes/default/textcontrol.css +107 -0
- data/js/controls/textcontrol/themes/default/textcontrol.html +18 -0
- data/js/controls/textcontrol/themes/default/textcontrol_parts1-ie6.gif +0 -0
- data/js/controls/textcontrol/themes/default/textcontrol_parts1.png +0 -0
- data/js/controls/textcontrol/themes/default/textcontrol_parts2-ie6.gif +0 -0
- data/js/controls/textcontrol/themes/default/textcontrol_parts2.png +0 -0
- data/js/controls/textcontrol/themes/default/textcontrol_parts3-ie6.gif +0 -0
- data/js/controls/textcontrol/themes/default/textcontrol_parts3.png +0 -0
- data/js/controls/uploader/js.inc +0 -0
- data/js/controls/uploader/themes/default/upload_progress.gif +0 -0
- data/js/controls/uploader/themes/default/uploader.css +108 -0
- data/js/controls/uploader/themes/default/uploader.html +27 -0
- data/js/controls/uploader/uploader.js +154 -0
- data/js/controls/validatorview/js.inc +0 -0
- data/js/controls/validatorview/themes/default/validator-ie6.gif +0 -0
- data/js/controls/validatorview/themes/default/validator.png +0 -0
- data/js/controls/validatorview/themes/default/validatorview.css +0 -0
- data/js/controls/validatorview/themes/default/validatorview.html +0 -0
- data/js/controls/validatorview/validatorview.js +62 -0
- data/js/controls/window/js.inc +0 -0
- data/js/controls/window/themes/default/window.css +219 -0
- data/js/controls/window/themes/default/window.html +17 -0
- data/js/controls/window/themes/default/window_bg_active-ie6.gif +0 -0
- data/js/controls/window/themes/default/window_bg_active.png +0 -0
- data/js/controls/window/themes/default/window_bg_inactive-ie6.gif +0 -0
- data/js/controls/window/themes/default/window_bg_inactive.png +0 -0
- data/js/controls/window/themes/default/window_buttons-ie6.gif +0 -0
- data/js/controls/window/themes/default/window_buttons.png +0 -0
- data/js/controls/window/themes/default/window_parts1-ie6.gif +0 -0
- data/js/controls/window/themes/default/window_parts1.png +0 -0
- data/js/controls/window/themes/default/window_parts2-ie6.gif +0 -0
- data/js/controls/window/themes/default/window_parts2.png +0 -0
- data/js/controls/window/window.js +286 -0
- data/js/core/class/class.js +318 -0
- data/js/core/class/js.inc +0 -0
- data/js/core/elem/elem.js +1383 -0
- data/js/core/elem/js.inc +0 -0
- data/js/core/event/event.js +153 -0
- data/js/core/event/js.inc +0 -0
- data/js/core/iefix/ie_css_element.htc +5 -0
- data/js/core/iefix/ie_css_style.htc +5 -0
- data/js/core/iefix/iefix.js +359 -0
- data/js/core/iefix/js.inc +0 -0
- data/js/core/rsence_ns/js.inc +0 -0
- data/js/core/rsence_ns/rsence_ns.js +21 -0
- data/js/datetime/calendar/calendar.js +198 -0
- data/js/datetime/calendar/js.inc +0 -0
- data/js/datetime/calendar/themes/default/calendar.css +108 -0
- data/js/datetime/calendar/themes/default/calendar.html +9 -0
- data/js/datetime/calendar/themes/default/calendar_arrows-ie6.gif +0 -0
- data/js/datetime/calendar/themes/default/calendar_arrows.png +0 -0
- data/js/datetime/datetimevalue/datetimevalue.js +247 -0
- data/js/datetime/datetimevalue/js.inc +0 -0
- data/js/datetime/timesheet/js.inc +0 -0
- data/js/datetime/timesheet/themes/default/timesheet.css +30 -0
- data/js/datetime/timesheet/themes/default/timesheet.html +2 -0
- data/js/datetime/timesheet/timesheet.js +183 -0
- data/js/datetime/timesheet_item/js.inc +0 -0
- data/js/datetime/timesheet_item/themes/default/timesheet_item.css +42 -0
- data/js/datetime/timesheet_item/themes/default/timesheet_item.html +8 -0
- data/js/datetime/timesheet_item/timesheet_item.js +248 -0
- data/js/datetime/timesheet_item_edit/js.inc +0 -0
- data/js/datetime/timesheet_item_edit/timesheet_item_edit.js +274 -0
- data/js/foundation/application/application.js +208 -0
- data/js/foundation/application/js.inc +0 -0
- data/js/foundation/control/control.js +339 -0
- data/js/foundation/control/controldefaults/controldefaults.js +56 -0
- data/js/foundation/control/controldefaults/js.inc +0 -0
- data/js/foundation/control/dummyvalue/dummyvalue.js +51 -0
- data/js/foundation/control/dummyvalue/js.inc +0 -0
- data/js/foundation/control/dyncontrol/dyncontrol.js +500 -0
- data/js/foundation/control/dyncontrol/js.inc +0 -0
- data/js/foundation/control/dyncontrol/themes/default/dyncontrol.css +0 -0
- data/js/foundation/control/dyncontrol/themes/default/dyncontrol.html +0 -0
- data/js/foundation/control/eventresponder/eventresponder.js +750 -0
- data/js/foundation/control/eventresponder/js.inc +0 -0
- data/js/foundation/control/js.inc +0 -0
- data/js/foundation/control/valuematrix/js.inc +0 -0
- data/js/foundation/control/valuematrix/valuematrix.js +135 -0
- data/js/foundation/control/valueresponder/js.inc +0 -0
- data/js/foundation/control/valueresponder/valueresponder.js +79 -0
- data/js/foundation/eventmanager/eventmanager.js +991 -0
- data/js/foundation/eventmanager/js.inc +0 -0
- data/js/foundation/geom/point/js.inc +0 -0
- data/js/foundation/geom/point/point.js +202 -0
- data/js/foundation/geom/rect/js.inc +0 -0
- data/js/foundation/geom/rect/rect.js +651 -0
- data/js/foundation/json_renderer/js.inc +0 -0
- data/js/foundation/json_renderer/json_renderer.js +246 -0
- data/js/foundation/system/js.inc +0 -0
- data/js/foundation/system/system.js +381 -0
- data/js/foundation/thememanager/js.inc +0 -0
- data/js/foundation/thememanager/thememanager.js +393 -0
- data/js/foundation/value/js.inc +0 -0
- data/js/foundation/value/value.js +183 -0
- data/js/foundation/view/js.inc +0 -0
- data/js/foundation/view/markupview/js.inc +0 -0
- data/js/foundation/view/markupview/markupview.js +114 -0
- data/js/foundation/view/morphanimation/js.inc +0 -0
- data/js/foundation/view/morphanimation/morphanimation.js +237 -0
- data/js/foundation/view/view.js +1812 -0
- data/js/foundation/view/viewdefaults/js.inc +0 -0
- data/js/foundation/view/viewdefaults/viewdefaults.js +26 -0
- data/js/lists/checkboxlist/checkboxlist.js +171 -0
- data/js/lists/checkboxlist/js.inc +0 -0
- data/js/lists/listitems/js.inc +0 -0
- data/js/lists/listitems/listitems.js +88 -0
- data/js/lists/propertylist/js.inc +0 -0
- data/js/lists/propertylist/propertylist.js +326 -0
- data/js/lists/radiobuttonlist/js.inc +0 -0
- data/js/lists/radiobuttonlist/radiobuttonlist.js +116 -0
- data/js/util/reloadapp/js.inc +0 -0
- data/js/util/reloadapp/reloadapp.js +152 -0
- data/js/util/reloadapp/themes/default/reloadapp_warning-ie6.gif +0 -0
- data/js/util/reloadapp/themes/default/reloadapp_warning.png +0 -0
- data/js/util/sha/js.inc +0 -0
- data/js/util/sha/sha.js +426 -0
- data/js/views/centerview/centerview.js +75 -0
- data/js/views/centerview/js.inc +0 -0
- data/js/views/inlineview/inlineview.js +15 -0
- data/js/views/inlineview/js.inc +0 -0
- data/js/views/scrollview/js.inc +0 -0
- data/js/views/scrollview/scrollview.js +40 -0
- data/lib/conf/argv.rb +850 -0
- data/lib/conf/default.rb +219 -0
- data/lib/daemon/daemon.rb +387 -0
- data/lib/daemon/sigcomm.rb +64 -0
- data/lib/http/broker.rb +150 -0
- data/lib/http/rackup.rb +91 -0
- data/lib/http/request.rb +66 -0
- data/lib/http/response.rb +65 -0
- data/lib/plugins/dependencies.rb +285 -0
- data/lib/plugins/gui_plugin.rb +160 -0
- data/lib/plugins/guiparser.rb +123 -0
- data/lib/plugins/plugin.rb +438 -0
- data/lib/plugins/plugin_base.rb +162 -0
- data/lib/plugins/plugin_plugins.rb +81 -0
- data/lib/plugins/plugin_sqlite_db.rb +98 -0
- data/lib/plugins/pluginmanager.rb +635 -0
- data/lib/plugins/plugins.rb +169 -0
- data/lib/plugins/servlet.rb +108 -0
- data/lib/rsence.rb +32 -0
- data/lib/session/msg.rb +327 -0
- data/lib/session/sessionmanager.rb +522 -0
- data/lib/session/sessionstorage.rb +340 -0
- data/lib/transporter/transporter.rb +263 -0
- data/lib/util/gzstring.rb +9 -0
- data/lib/util/ruby19_fixes.rb +18 -0
- data/lib/values/hvalue.rb +378 -0
- data/lib/values/valuemanager.rb +172 -0
- data/plugins/client_pkg/client_pkg.rb +157 -0
- data/plugins/client_pkg/info.yaml +25 -0
- data/plugins/client_pkg/lib/client_pkg_build.rb +561 -0
- data/plugins/client_pkg/lib/client_pkg_cache.rb +50 -0
- data/plugins/client_pkg/lib/client_pkg_serve.rb +218 -0
- data/plugins/index_html/img/loading.gif +0 -0
- data/plugins/index_html/img/riassence.gif +0 -0
- data/plugins/index_html/index_html.rb +120 -0
- data/plugins/index_html/info.yaml +18 -0
- data/plugins/index_html/tmpl/index.html +15 -0
- data/plugins/main/info.yaml +18 -0
- data/plugins/main/js/main.js +84 -0
- data/plugins/main/main.rb +255 -0
- data/plugins/main/values.yaml +8 -0
- data/plugins/ticket/info.yaml +21 -0
- data/plugins/ticket/lib/common.rb +392 -0
- data/plugins/ticket/lib/favicon.rb +39 -0
- data/plugins/ticket/lib/file.rb +58 -0
- data/plugins/ticket/lib/img.rb +50 -0
- data/plugins/ticket/lib/objblob.rb +66 -0
- data/plugins/ticket/lib/rsrc.rb +34 -0
- data/plugins/ticket/lib/upload.rb +236 -0
- data/plugins/ticket/ticket.rb +333 -0
- data/setup/welcome/gui/welcome.yaml +92 -0
- data/setup/welcome/info.yaml +13 -0
- data/setup/welcome/text/welcome.html +9 -0
- data/setup/welcome/values.yaml +9 -0
- data/setup/welcome/welcome.rb +54 -0
- metadata +407 -0
data/js/core/elem/js.inc
ADDED
File without changes
|
@@ -0,0 +1,153 @@
|
|
1
|
+
/* RSence
|
2
|
+
* Copyright 2007 Riassence Inc.
|
3
|
+
* http://riassence.com/
|
4
|
+
*
|
5
|
+
* You should have received a copy of the GNU General Public License along
|
6
|
+
* with this software package. If not, contact licensing@riassence.com
|
7
|
+
*/
|
8
|
+
|
9
|
+
|
10
|
+
/*** = Description
|
11
|
+
** Abstracts the DOM Event differences between browsers.
|
12
|
+
***/
|
13
|
+
var//RSence.Core
|
14
|
+
Event = {
|
15
|
+
|
16
|
+
/** Returns the element of the event.
|
17
|
+
**/
|
18
|
+
element: function(e) {
|
19
|
+
return e.target || e.srcElement;
|
20
|
+
},
|
21
|
+
|
22
|
+
/** Returns the mouse cursor x -coordinate of the event.
|
23
|
+
**/
|
24
|
+
pointerX: function(e) {
|
25
|
+
return e.pageX || e.clientX + document.documentElement.scrollLeft;
|
26
|
+
},
|
27
|
+
|
28
|
+
/** Returns the mouse cursor y -coordinate of the event.
|
29
|
+
**/
|
30
|
+
pointerY: function(e) {
|
31
|
+
return e.pageY || e.clientY + document.documentElement.scrollTop;
|
32
|
+
},
|
33
|
+
|
34
|
+
/** Stops event propagation
|
35
|
+
**/
|
36
|
+
stop: function(e) {
|
37
|
+
if (e.preventDefault) {
|
38
|
+
e.preventDefault();
|
39
|
+
e.stopPropagation();
|
40
|
+
}
|
41
|
+
else {
|
42
|
+
e.returnValue = false;
|
43
|
+
e.cancelBubble = true;
|
44
|
+
}
|
45
|
+
},
|
46
|
+
|
47
|
+
/** Returns true if the left mouse butten was clicked.
|
48
|
+
**/
|
49
|
+
isLeftClick: function(e) {
|
50
|
+
// IE: left 1, middle 4, right 2
|
51
|
+
if (BROWSER_TYPE.ie) {
|
52
|
+
return (e.button === 1 || e.button === 3 || e.button === 5);
|
53
|
+
}
|
54
|
+
else {
|
55
|
+
return (e.button === 0);
|
56
|
+
}
|
57
|
+
},
|
58
|
+
|
59
|
+
/** List of event observers
|
60
|
+
**/
|
61
|
+
observers: false,
|
62
|
+
|
63
|
+
/* Implementation of observe */
|
64
|
+
_observeAndCache: function(_elem, _name, _function, _useCapture) {
|
65
|
+
if (!Event.observers) {
|
66
|
+
Event.observers = [];
|
67
|
+
}
|
68
|
+
if (_elem.addEventListener) {
|
69
|
+
this.observers.push([_elem, _name, _function, _useCapture]);
|
70
|
+
_elem.addEventListener(_name, _function, _useCapture);
|
71
|
+
}
|
72
|
+
else if (_elem.attachEvent) {
|
73
|
+
this.observers.push([_elem, _name, _function, _useCapture]);
|
74
|
+
_elem.attachEvent("on" + _name, _function);
|
75
|
+
}
|
76
|
+
},
|
77
|
+
|
78
|
+
/** Flushes the event observer cache.
|
79
|
+
**/
|
80
|
+
unloadCache: function() {
|
81
|
+
if (!Event.observers) {
|
82
|
+
return;
|
83
|
+
}
|
84
|
+
var i,
|
85
|
+
l = Event.observers.length;
|
86
|
+
for (i = 0; i < l; i++) {
|
87
|
+
try {
|
88
|
+
Event.stopObserving.apply(this, Event.observers[0]);
|
89
|
+
}
|
90
|
+
catch(e){}
|
91
|
+
}
|
92
|
+
Event.observers = false;
|
93
|
+
},
|
94
|
+
|
95
|
+
/** Starts observing the named event of the element and
|
96
|
+
* specifies a callback function.
|
97
|
+
**/
|
98
|
+
observe: function(_elem, _name, _function, _useCapture) {
|
99
|
+
_useCapture = _useCapture || false;
|
100
|
+
Event._observeAndCache(_elem, _name, _function, _useCapture);
|
101
|
+
},
|
102
|
+
|
103
|
+
/** Stops observing the named event of the element and
|
104
|
+
* removes the callback function.
|
105
|
+
**/
|
106
|
+
stopObserving: function(_elem, _name, _function, _useCapture) {
|
107
|
+
if (_elem === undefined) {
|
108
|
+
console.log('Warning Event.stopObserving of event name: "' + _name + '" called with an undefined elem!');
|
109
|
+
return;
|
110
|
+
}
|
111
|
+
_useCapture = _useCapture || false;
|
112
|
+
if (_elem['removeEventListener']) {
|
113
|
+
_elem.removeEventListener(_name, _function, _useCapture);
|
114
|
+
}
|
115
|
+
else if (detachEvent) {
|
116
|
+
_elem.detachEvent("on" + _name, _function);
|
117
|
+
}
|
118
|
+
var i = 0;
|
119
|
+
while (i < Event.observers.length) {
|
120
|
+
var eo = Event.observers[i];
|
121
|
+
if (eo && eo[0] === _elem && eo[1] === _name && eo[2] === _function && eo[3] === _useCapture) {
|
122
|
+
Event.observers[i] = null;
|
123
|
+
Event.observers.splice(i, 1);
|
124
|
+
}
|
125
|
+
else {
|
126
|
+
i++;
|
127
|
+
}
|
128
|
+
}
|
129
|
+
},
|
130
|
+
|
131
|
+
// List of ASCII "special characters":
|
132
|
+
KEY_BACKSPACE: 8,
|
133
|
+
KEY_TAB: 9,
|
134
|
+
KEY_RETURN: 13,
|
135
|
+
KEY_ESC: 27,
|
136
|
+
KEY_LEFT: 37,
|
137
|
+
KEY_UP: 38,
|
138
|
+
KEY_RIGHT: 39,
|
139
|
+
KEY_DOWN: 40,
|
140
|
+
KEY_DELETE: 46,
|
141
|
+
KEY_HOME: 36,
|
142
|
+
KEY_END: 35,
|
143
|
+
KEY_PAGEUP: 33,
|
144
|
+
KEY_PAGEDOWN: 34
|
145
|
+
|
146
|
+
};
|
147
|
+
|
148
|
+
// Activates the garbage collector of Internet Explorer
|
149
|
+
// when the document is unloaded:
|
150
|
+
if (BROWSER_TYPE.ie) {
|
151
|
+
Event.observe(window, "unload", Event.unloadCache, false);
|
152
|
+
}
|
153
|
+
|
File without changes
|
@@ -0,0 +1,359 @@
|
|
1
|
+
/* RSence
|
2
|
+
* Copyright 2006 Riassence Inc.
|
3
|
+
* http://riassence.com/
|
4
|
+
*
|
5
|
+
* You should have received a copy of the GNU General Public License along
|
6
|
+
* with this software package. If not, contact licensing@riassence.com
|
7
|
+
*/
|
8
|
+
|
9
|
+
// Injects htc stuff into IE
|
10
|
+
ie_htc_path = null;
|
11
|
+
function ie_early_fixes() {
|
12
|
+
try{
|
13
|
+
document.execCommand("BackgroundImageCache",false,true);
|
14
|
+
}
|
15
|
+
catch(e){}
|
16
|
+
|
17
|
+
var _script = document.scripts[document.scripts.length - 1],
|
18
|
+
_src = _script.src;
|
19
|
+
|
20
|
+
ie_htc_path = _src.substring(0, _src.lastIndexOf("/") + 1);
|
21
|
+
|
22
|
+
}
|
23
|
+
ie_early_fixes();
|
24
|
+
|
25
|
+
/***
|
26
|
+
**** iefix contains a collection of fixes for IE's bad behavior
|
27
|
+
***/
|
28
|
+
iefix = {
|
29
|
+
|
30
|
+
// call this on resize, loaded events:
|
31
|
+
setWinSize: function(){
|
32
|
+
window.innerWidth=document.documentElement.clientWidth;
|
33
|
+
window.innerHeight=document.documentElement.clientHeight;
|
34
|
+
},
|
35
|
+
|
36
|
+
// checks if the element has the .hasLayout flag set:
|
37
|
+
_hasLayout: function(_element){
|
38
|
+
return _element.currentStyle.hasLayout;
|
39
|
+
},
|
40
|
+
|
41
|
+
// finds the next parent with fixed or absolute positioning:
|
42
|
+
// NOTICE: .init() makes ._layoutHeight() from this by replacing width with height
|
43
|
+
layoutWidth: function(_element) {
|
44
|
+
var _this=iefix,
|
45
|
+
_parent,
|
46
|
+
i=0,
|
47
|
+
// gets the parent from which the width is calculated
|
48
|
+
_layoutParent=_element.offsetParent;
|
49
|
+
while(_layoutParent&&!_this._hasLayout(_layoutParent)){
|
50
|
+
_layoutParent=_layoutParent.offsetParent;
|
51
|
+
}
|
52
|
+
if(!_layoutParent._resizewidthElements){
|
53
|
+
_layoutParent._resizewidthElements=[];
|
54
|
+
}
|
55
|
+
if(!_element._addedResizewidthFix){
|
56
|
+
_layoutParent._resizewidthElements.push(_element);
|
57
|
+
_parent=_layoutParent;
|
58
|
+
while(_parent.offsetParent){
|
59
|
+
_parent=_parent.offsetParent;
|
60
|
+
if(_parent._resizewidthElements){_parent._resizewidthElements.push(_element);}
|
61
|
+
if(_parent.style.position==="absolute"||_parent.style.position==="fixed"){break;}
|
62
|
+
}
|
63
|
+
_element._addedResizewidthFix=true;
|
64
|
+
}
|
65
|
+
if(!_layoutParent._resizewidth){
|
66
|
+
_layoutParent.attachEvent("onpropertychange", function(){
|
67
|
+
if(window.event.propertyName==="style.width"){
|
68
|
+
for (;i<_layoutParent._resizewidthElements.length;i++){
|
69
|
+
_this.resizeRight(_layoutParent._resizewidthElements[i]);
|
70
|
+
}
|
71
|
+
}
|
72
|
+
});
|
73
|
+
_layoutParent._resizewidth=true;
|
74
|
+
}
|
75
|
+
return (_layoutParent||document.documentElement).clientWidth;
|
76
|
+
},
|
77
|
+
|
78
|
+
// // calculates the border width of the _element:
|
79
|
+
// // NOTICE: .init() makes ._getBorderHeight() from this by replacing Width with Height
|
80
|
+
// getBorderWidth: function(_element){
|
81
|
+
// return _element.offsetWidth-_element.clientWidth;
|
82
|
+
// },
|
83
|
+
|
84
|
+
// calculates the actual value in pixels from _value:
|
85
|
+
getPixelValue: function(_element,_value) {
|
86
|
+
var _this=iefix,_style,_runtimeStyle;
|
87
|
+
if(_this._PIXEL.test(_value)){return parseInt(_value,10);}
|
88
|
+
// saves style in temp
|
89
|
+
_style=_element.style.left;
|
90
|
+
_runtimeStyle=_element.runtimeStyle.left;
|
91
|
+
_element.runtimeStyle.left=_element.currentStyle.left;
|
92
|
+
_this.resizing=true;
|
93
|
+
_element.style.left=_value||0;
|
94
|
+
// has pixel value
|
95
|
+
_value=_element.style.pixelLeft;
|
96
|
+
_element.style.left=_style;
|
97
|
+
_this.resizing=false;
|
98
|
+
_element.runtimeStyle.left=_runtimeStyle;
|
99
|
+
return _value;
|
100
|
+
},
|
101
|
+
|
102
|
+
// calculates pixel value from the value given (even percentages)
|
103
|
+
// NOTICE: .init() makes ._getPixelHeght() from this by replacing Width with Height
|
104
|
+
getPixelWidth: function(_element,_value){
|
105
|
+
var _this=iefix;
|
106
|
+
if(_this._PERCENT.test(_value)){return parseInt(parseFloat(_value)/100*_this.layoutWidth(_element),10);}
|
107
|
+
return _this.getPixelValue(_element, _value);
|
108
|
+
},
|
109
|
+
|
110
|
+
// // calculates padding width of the _element:
|
111
|
+
// // NOTICE: .init() makes .getPaddingHeight() from this by replacing Left/Right/Width with Top/Bottom/Height
|
112
|
+
// // NOTICE: .init() also makes ._getMarginWidth() and ._getMarginHeight from this.
|
113
|
+
// getPaddingWidth: function(_element) {
|
114
|
+
// var _this=iefix;
|
115
|
+
// return _this.getPixelWidth(_element,_element.currentStyle.paddingLeft)+_this.getPixelWidth(_element,_element.currentStyle.paddingRight);
|
116
|
+
// },
|
117
|
+
|
118
|
+
// calculates element's position from the right edge of the parent:
|
119
|
+
// NOTICE: .init() makes _resizeBottom() from this by replacing left/width with top/height
|
120
|
+
resizeRight: function(_element){
|
121
|
+
var _this=iefix,_left,_width;
|
122
|
+
//window.status = 'resizeRight';
|
123
|
+
if(_element.currentStyle===null){return;}
|
124
|
+
_left=parseInt(_element.currentStyle.left,10);
|
125
|
+
_width=_this.layoutWidth(_element)-parseInt(_element.currentStyle.right,10)-_left;
|
126
|
+
if(parseInt(_element.runtimeStyle.width,10)===_width){return;}
|
127
|
+
_element.runtimeStyle.width="";
|
128
|
+
if(_element.offsetWidth<_width){
|
129
|
+
// Disabled, because no-one uses quirks mode anymore, right?
|
130
|
+
// _width-=_this.getBorderWidth(_element)+_this.getPaddingWidth(_element);
|
131
|
+
if(_width<0){_width=0;}
|
132
|
+
_element.runtimeStyle.width=_width;
|
133
|
+
}
|
134
|
+
},
|
135
|
+
|
136
|
+
// (css-property) opacity fix:
|
137
|
+
fixOpacity: function(_element){
|
138
|
+
var _opacity=(parseFloat(_element.currentStyle.opacity)*100)||1,
|
139
|
+
_filter=_element.filters["DXImageTransform.Microsoft.Alpha"];
|
140
|
+
if(_filter){_filter.Opacity=_opacity;_filter.Enabled=true;}
|
141
|
+
else{_element.runtimeStyle.filter+="progid:DXImageTransform.Microsoft.Alpha(opacity="+_opacity+")";}
|
142
|
+
},
|
143
|
+
|
144
|
+
// png background image fix:
|
145
|
+
fixBackgroundImage: function(_element) {
|
146
|
+
//window.status='fixBackgroundImage: ';
|
147
|
+
var _this=iefix,_url,_filter;
|
148
|
+
_url=_element.currentStyle.backgroundImage.match(/url\(\s*['"]?([^'")]+)['"]?\s*\)/);
|
149
|
+
//window.status+=' url:'+_url;
|
150
|
+
//window.status+=' pngCheck:'+_this.pngCheck.test(_url);
|
151
|
+
if(!_url){return;}
|
152
|
+
else{_url=_url[1];}
|
153
|
+
_filter=_element.filters["DXImageTransform.Microsoft.AlphaImageLoader"];
|
154
|
+
if(_this.pngCheck.test(_url)){ // needs more work
|
155
|
+
// access before filter is set makes error
|
156
|
+
if(_filter){
|
157
|
+
_filter.sizingMethod="crop";
|
158
|
+
_filter.src=_url;
|
159
|
+
_filter.Enabled=true;
|
160
|
+
}
|
161
|
+
else{
|
162
|
+
_element.runtimeStyle.filter+="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+_url+"',sizingMethod='crop')";
|
163
|
+
}
|
164
|
+
_element.runtimeStyle.zoom="0";
|
165
|
+
_element.runtimeStyle.backgroundImage="none";
|
166
|
+
}
|
167
|
+
else if(_filter){
|
168
|
+
_filter.Enabled=false;
|
169
|
+
}
|
170
|
+
},
|
171
|
+
|
172
|
+
// png img opacity fix:
|
173
|
+
addFilter: function(_element,_image){
|
174
|
+
var _this=iefix,_filter,_tempUrl;
|
175
|
+
_filter=_element.filters["DXImageTransform.Microsoft.AlphaImageLoader"];
|
176
|
+
if(_filter){_filter.src=_element.src;_filter.Enabled=true;}
|
177
|
+
else{_element.runtimeStyle.filter+="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+_element.src+"',sizingMethod='scale')";}
|
178
|
+
_tempURL=_element.src;
|
179
|
+
_element.src=_this.blankGifPath;
|
180
|
+
_image.src=_tempURL;
|
181
|
+
},
|
182
|
+
|
183
|
+
// checks if image is png
|
184
|
+
fixImg: function(_element){
|
185
|
+
var _this=iefix,_image;
|
186
|
+
if(_this.pngCheck.test(_element.src)){ // needs more work
|
187
|
+
_image=new Image(_element.width,_element.height);
|
188
|
+
_image.onload=function(){_element.width=_image.width;_element.height=_image.height;_image=null;};
|
189
|
+
_this.addFilter(_element,_image);
|
190
|
+
}
|
191
|
+
},
|
192
|
+
|
193
|
+
_noStyleTagNames: ['PARAM','HTML'],
|
194
|
+
// applies fixes to the _element
|
195
|
+
inlineStyleChanged: function(_element){
|
196
|
+
var _this=iefix,
|
197
|
+
_currentStyle=_element.currentStyle;
|
198
|
+
if(_this._noStyleTagNames.indexOf(_element.tagName)!==-1){
|
199
|
+
return;
|
200
|
+
}
|
201
|
+
// check if element needs to be positioned from the right
|
202
|
+
try{
|
203
|
+
var _posMatch = (_currentStyle.position==="absolute"||_currentStyle.position==="fixed"),
|
204
|
+
_resizeWidth = _element._resizewidth,
|
205
|
+
_resizeHeight = _element._resizeheight,
|
206
|
+
_autoRight = _currentStyle.right==="auto",
|
207
|
+
_autoBottom = _currentStyle.bottom==="auto";
|
208
|
+
if(_resizeWidth||(_posMatch&&!_autoRight)){
|
209
|
+
_this.resizeRight(_element);
|
210
|
+
}
|
211
|
+
// check if element needs to be positioned from the bottom
|
212
|
+
if(_resizeHeight||(_posMatch&&!_autoBottom)){
|
213
|
+
_this.resizeBottom(_element);
|
214
|
+
if(parseInt(_element.height)>parseInt(_element.fontSize,10)){
|
215
|
+
// TODO: needs line height calculation here too for elements smaller than the line height or font size
|
216
|
+
_element.fontSize = _element.height;
|
217
|
+
_element.lineHeight = _element.height;
|
218
|
+
}
|
219
|
+
}
|
220
|
+
|
221
|
+
// check if opacity needs to be fixed:
|
222
|
+
if(_element.currentStyle.opacity){_this.fixOpacity(_element);}
|
223
|
+
|
224
|
+
} catch(e) {
|
225
|
+
console.log("iefix error! element:",_element);
|
226
|
+
}
|
227
|
+
|
228
|
+
// check if background image needs to be fixed:
|
229
|
+
//if(_element.currentStyle.backgroundImage){_this.fixBackgroundImage(_element);}
|
230
|
+
|
231
|
+
// check if png needs to be fixed:
|
232
|
+
//if(_element.tagName==="IMG"||(_element.tagName==="INPUT"&&_element.type==="image")){_this.fixImg(_element);}
|
233
|
+
|
234
|
+
// anti-click-through fix:
|
235
|
+
//else
|
236
|
+
if(_element.style.backgroundColor==='transparent'&&(_element.style.backgroundImage==='none'||!_element.style.backgroundImage)){
|
237
|
+
_element.style.backgroundImage="url("+ie_htc_path+"128.gif)"; // transparent gif, 128x128
|
238
|
+
}
|
239
|
+
},
|
240
|
+
|
241
|
+
_traverseCount: 0,
|
242
|
+
// traverses from the _element node from the bottom to fix right|bottom positioning
|
243
|
+
_traverseTree: function(_element){
|
244
|
+
var _this=iefix;
|
245
|
+
_this._traverseCount++;
|
246
|
+
// console.log( 'traversecount: '+_this._traverseCount );
|
247
|
+
_element=_element||document.documentElement;
|
248
|
+
while(_element){
|
249
|
+
if(_element.nodeType===1){
|
250
|
+
_this.inlineStyleChanged(_element);
|
251
|
+
}
|
252
|
+
var _next=_element.firstChild;
|
253
|
+
if(!_next){ _next=_element.nextSibling;}
|
254
|
+
while(!_next&&_element.parentNode) {
|
255
|
+
_element=_element.parentNode;
|
256
|
+
_next=_element.nextSibling;
|
257
|
+
}
|
258
|
+
_element=_next;
|
259
|
+
}
|
260
|
+
},
|
261
|
+
|
262
|
+
// triggers an htc style event to elements affected by the style.
|
263
|
+
stylesheet_refresh: function(_styleSheet){
|
264
|
+
_styleSheet.cssText += "";
|
265
|
+
},
|
266
|
+
|
267
|
+
// initial constructs
|
268
|
+
init: function() {
|
269
|
+
var _this = iefix;
|
270
|
+
_this._AUTO = /^(auto|0cm)$/;
|
271
|
+
_this._PIXEL = /^\d+(px)?$/i;
|
272
|
+
_this._PERCENT = /^\d+%$/;
|
273
|
+
_this.pngCheck = new RegExp(".png$", "i"); // needs more work
|
274
|
+
//this.pngCheck = new RegExp("((\.gif)|(\.jpg))$", "i"); // needs more work
|
275
|
+
// needed for png hack
|
276
|
+
_this.blankGifPath=ie_htc_path+"0.gif";
|
277
|
+
// eval("_this.getMarginWidth="+String(_this.getPaddingWidth).replace(/padding/g,"margin"));
|
278
|
+
// eval("_this.getPaddingHeight="+String(_this.getPaddingWidth).replace(/Width/g,"Height").replace(/Left/g,"Top").replace(/Right/g,"Bottom"));
|
279
|
+
// eval("_this.getMarginHeight="+String(_this.getPaddingHeight).replace(/padding/g,"margin"));
|
280
|
+
// eval("_this.getBorderHeight="+String(_this.getBorderWidth).replace(/Width/g,"Height"));
|
281
|
+
eval("_this.layoutHeight="+String(_this.layoutWidth).replace(/Width/g,"Height").replace(/width/g,"height").replace(/Right/g,"Bottom"));
|
282
|
+
eval("_this.getPixelHeight="+String(_this.getPixelWidth).replace(/Width/g,"Height"));
|
283
|
+
eval("_this.resizeBottom="+String(_this.resizeRight).replace(/Width/g,"Height").replace(/width/g,"height").replace(/left/g,"top").replace(/right/g,"bottom"));
|
284
|
+
_this.resizing = false;
|
285
|
+
},
|
286
|
+
|
287
|
+
// entry point from ie_css_style.htc
|
288
|
+
htcStyleEntry: function(){
|
289
|
+
//window.status = 'htcStyleEntry';
|
290
|
+
if(document.readyState==="complete"&&window.event.srcElement.readyState==="complete"){
|
291
|
+
iefix._traverseTree();
|
292
|
+
}
|
293
|
+
},
|
294
|
+
|
295
|
+
_traverseStyleProperties: ['width','height','left','top','right','bottom','display','position','visibility'],
|
296
|
+
//_traverseStyleProperties: ['right','bottom','width','height'],
|
297
|
+
|
298
|
+
//_elemEntryCount: 0,
|
299
|
+
|
300
|
+
// entry point from ie_css_element.htc
|
301
|
+
htcElementEntry: function(){
|
302
|
+
//iefix._elemEntryCount++;
|
303
|
+
//window.status="htcElementEntry: "+iefix._elemEntryCount;
|
304
|
+
var _element=window.event.srcElement, _propName=window.event.propertyName;
|
305
|
+
if (_propName==="style.opacity"){
|
306
|
+
//window.status = 'htcElementEntry: '+iefix._elemEntryCount+' opacity';
|
307
|
+
iefix.fixOpacity(_element);
|
308
|
+
}
|
309
|
+
else if((_propName==="src"&&_element.tagName==="IMG")||(_element.tagName==="INPUT"&&_element.type==="image")){
|
310
|
+
window.status = 'htcElementEntry: '+iefix._elemEntryCount+' img';
|
311
|
+
iefix.fixImg(_element);
|
312
|
+
}
|
313
|
+
//else if(_propName==='style.cssText'){
|
314
|
+
//window.status = 'htcElementEntry: '+iefix._elemEntryCount+' cssText';
|
315
|
+
//iefix._traverseTree();
|
316
|
+
//}
|
317
|
+
else if(_propName.substring(0,6)==='style.'){
|
318
|
+
if(iefix._traverseStyleProperties.indexOf(_propName.split('style.')[1])!==-1){
|
319
|
+
//window.status = 'htcElementEntry: '+iefix._elemEntryCount+' style';
|
320
|
+
iefix._traverseTree();
|
321
|
+
}
|
322
|
+
|
323
|
+
/*
|
324
|
+
else {
|
325
|
+
window.status+=window.event.propertyName+' ';
|
326
|
+
}*/
|
327
|
+
|
328
|
+
}
|
329
|
+
//iefix._traverseTree(); // really should have more checks, this impacts performance heavily!
|
330
|
+
|
331
|
+
}
|
332
|
+
};
|
333
|
+
iefix.init();
|
334
|
+
|
335
|
+
|
336
|
+
ie_complete=document.readyState==="complete";
|
337
|
+
ie_initialized=false;
|
338
|
+
|
339
|
+
ie_documentLoaded=function(){if(document.readyState==="complete"){iefix._traverseTree();}};
|
340
|
+
ie_fixes=function(){
|
341
|
+
if( !ie_initialized
|
342
|
+
){
|
343
|
+
if(ie_complete){
|
344
|
+
//var _stylesheet=document.createStyleSheet();
|
345
|
+
//_stylesheet.cssText='style,link{behavior:url('+ie_htc_path+'ie_css_style.htc)}\n*{behavior:url('+ie_htc_path+'ie_css_element.htc)}';
|
346
|
+
ie_documentLoaded();
|
347
|
+
}
|
348
|
+
else{
|
349
|
+
//document.write('<style type="text/css">style,link{behavior:url('+ie_htc_path+'ie_css_style.htc)}\n*{behavior:url('+ie_htc_path+'ie_css_element.htc)}</style>');
|
350
|
+
document.onreadystatechange=ie_documentLoaded;
|
351
|
+
}
|
352
|
+
ie_initialized=true;
|
353
|
+
}
|
354
|
+
};
|
355
|
+
ie_fixes();
|
356
|
+
// window.onresize=function(){iefix.setWinSize();iefix._traverseTree();};
|
357
|
+
|
358
|
+
|
359
|
+
|
File without changes
|
File without changes
|
@@ -0,0 +1,21 @@
|
|
1
|
+
/* RSence
|
2
|
+
* Copyright 2010 Riassence Inc.
|
3
|
+
* http://riassence.com/
|
4
|
+
*
|
5
|
+
* You should have received a copy of the GNU General Public License along
|
6
|
+
* with this software package. If not, contact licensing@riassence.com
|
7
|
+
*/
|
8
|
+
|
9
|
+
// RSence namespace, nothing here yet.
|
10
|
+
// However, a future version of client_pkg will pack var's assigned like..
|
11
|
+
// var//RSence
|
12
|
+
// ..into this namespace.
|
13
|
+
// Additional logic for handling the namespaces will however be required.
|
14
|
+
var RSence = {
|
15
|
+
serverConf: function(_clientPrefix,_helloUrl){
|
16
|
+
COMM.ClientPrefix=_clientPrefix;
|
17
|
+
COMM.Transporter.HelloUrl=_helloUrl;
|
18
|
+
HThemeManager.themePath=_clientPrefix+'/themes';
|
19
|
+
}
|
20
|
+
};
|
21
|
+
|