rsence 2.0.0.0.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/INSTALL.rdoc +295 -0
- data/LICENSE +622 -0
- data/README.rdoc +24 -0
- data/VERSION +1 -0
- data/bin/build_client.rb +254 -0
- data/bin/help +6 -0
- data/bin/launch.rb +120 -0
- data/bin/rdoc.sh +2 -0
- data/bin/restart +6 -0
- data/bin/rsence +120 -0
- data/bin/run +6 -0
- data/bin/run.rb +6 -0
- data/bin/save +6 -0
- data/bin/start +6 -0
- data/bin/status +6 -0
- data/bin/stop +6 -0
- data/conf/config.ru +5 -0
- data/conf/default_conf.yaml +337 -0
- data/conf/default_strings.yaml +77 -0
- data/conf/local_conf.yaml +14 -0
- data/conf/unicorn.conf +78 -0
- data/js/comm/comm/autosync/autosync.js +18 -0
- data/js/comm/comm/autosync/js.inc +0 -0
- data/js/comm/comm/comm.js +195 -0
- data/js/comm/comm/js.inc +0 -0
- data/js/comm/comm/queue/js.inc +0 -0
- data/js/comm/comm/queue/queue.js +183 -0
- data/js/comm/comm/session/js.inc +0 -0
- data/js/comm/comm/session/session.js +51 -0
- data/js/comm/comm/sessionwatcher/js.inc +0 -0
- data/js/comm/comm/sessionwatcher/sessionwatcher.js +43 -0
- data/js/comm/comm/transporter/js.inc +0 -0
- data/js/comm/comm/transporter/transporter.js +257 -0
- data/js/comm/comm/urlresponder/js.inc +0 -0
- data/js/comm/comm/urlresponder/urlresponder.js +148 -0
- data/js/comm/comm/values/js.inc +0 -0
- data/js/comm/comm/values/values.js +432 -0
- data/js/comm/jsloader/js.inc +0 -0
- data/js/comm/jsloader/jsloader.js +114 -0
- data/js/comm/reloadapp/js.inc +0 -0
- data/js/comm/reloadapp/reloadapp.js +150 -0
- data/js/comm/reloadapp/themes/default/reloadapp_warning-ie6.gif +0 -0
- data/js/comm/reloadapp/themes/default/reloadapp_warning.png +0 -0
- data/js/comm/sha/js.inc +0 -0
- data/js/comm/sha/sha.js +432 -0
- data/js/comm/values/value/js.inc +0 -0
- data/js/comm/values/value/value.js +182 -0
- data/js/comm/values/valuematrix/js.inc +0 -0
- data/js/comm/values/valuematrix/valuematrix.js +138 -0
- data/js/controls/button/button.js +57 -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 +47 -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/datetime/calendar/calendar.js +197 -0
- data/js/controls/datetime/calendar/js.inc +0 -0
- data/js/controls/datetime/calendar/themes/default/calendar.css +108 -0
- data/js/controls/datetime/calendar/themes/default/calendar.html +9 -0
- data/js/controls/datetime/calendar/themes/default/calendar_arrows-ie6.gif +0 -0
- data/js/controls/datetime/calendar/themes/default/calendar_arrows.png +0 -0
- data/js/controls/datetime/datetimevalue/datetimevalue.js +246 -0
- data/js/controls/datetime/datetimevalue/js.inc +0 -0
- data/js/controls/datetime/timesheet/js.inc +0 -0
- data/js/controls/datetime/timesheet/themes/default/timesheet.css +30 -0
- data/js/controls/datetime/timesheet/themes/default/timesheet.html +2 -0
- data/js/controls/datetime/timesheet/timesheet.js +182 -0
- data/js/controls/datetime/timesheet_item/js.inc +0 -0
- data/js/controls/datetime/timesheet_item/themes/default/timesheet_item.css +42 -0
- data/js/controls/datetime/timesheet_item/themes/default/timesheet_item.html +8 -0
- data/js/controls/datetime/timesheet_item/timesheet_item.js +247 -0
- data/js/controls/datetime/timesheet_item_edit/js.inc +0 -0
- data/js/controls/datetime/timesheet_item_edit/timesheet_item_edit.js +274 -0
- data/js/controls/dialogs/alert_sheet/alert_sheet.js +62 -0
- data/js/controls/dialogs/alert_sheet/js.inc +0 -0
- data/js/controls/dialogs/confirm_sheet/confirm_sheet.js +36 -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 +83 -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 +108 -0
- data/js/controls/imageview/js.inc +0 -0
- data/js/controls/imageview/themes/default/blank.gif +0 -0
- data/js/controls/lists/checkboxlist/checkboxlist.js +170 -0
- data/js/controls/lists/checkboxlist/js.inc +0 -0
- data/js/controls/lists/listitems/js.inc +0 -0
- data/js/controls/lists/listitems/listitems.js +65 -0
- data/js/controls/lists/radiobuttonlist/js.inc +0 -0
- data/js/controls/lists/radiobuttonlist/radiobuttonlist.js +126 -0
- data/js/controls/passwordcontrol/js.inc +0 -0
- data/js/controls/passwordcontrol/passwordcontrol.js +22 -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 +36 -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 +43 -0
- data/js/controls/radiobutton/js.inc +0 -0
- data/js/controls/radiobutton/radiobutton.js +41 -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 +356 -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 +40 -0
- data/js/controls/stepper/js.inc +0 -0
- data/js/controls/stepper/stepper.js +212 -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 +276 -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 +23 -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 +372 -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 +153 -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 +55 -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 +284 -0
- data/js/core/class/class.js +317 -0
- data/js/core/class/js.inc +0 -0
- data/js/core/elem/elem.js +1376 -0
- data/js/core/elem/js.inc +0 -0
- data/js/core/event/event.js +1021 -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/debugg/debugg.js +43 -0
- data/js/debugg/js.inc +0 -0
- data/js/foundation/application/application.js +209 -0
- data/js/foundation/application/js.inc +0 -0
- data/js/foundation/control/control.js +342 -0
- data/js/foundation/control/controldefaults/controldefaults.js +59 -0
- data/js/foundation/control/controldefaults/js.inc +0 -0
- data/js/foundation/control/dummyvalue/dummyvalue.js +50 -0
- data/js/foundation/control/dummyvalue/js.inc +0 -0
- data/js/foundation/control/dyncontrol/dyncontrol.js +494 -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 +713 -0
- data/js/foundation/control/eventresponder/js.inc +0 -0
- data/js/foundation/control/js.inc +0 -0
- data/js/foundation/control/valueresponder/js.inc +0 -0
- data/js/foundation/control/valueresponder/valueresponder.js +77 -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 +610 -0
- data/js/foundation/json_renderer/js.inc +0 -0
- data/js/foundation/json_renderer/json_renderer.js +231 -0
- data/js/foundation/system/js.inc +0 -0
- data/js/foundation/system/system.js +369 -0
- data/js/foundation/thememanager/js.inc +0 -0
- data/js/foundation/thememanager/thememanager.js +387 -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 +113 -0
- data/js/foundation/view/morphanimation/js.inc +0 -0
- data/js/foundation/view/morphanimation/morphanimation.js +236 -0
- data/js/foundation/view/view.js +1804 -0
- data/js/foundation/view/viewdefaults/js.inc +0 -0
- data/js/foundation/view/viewdefaults/viewdefaults.js +25 -0
- data/js/views/centerview/centerview.js +45 -0
- data/js/views/centerview/js.inc +0 -0
- data/js/views/inlineview/inlineview.js +14 -0
- data/js/views/inlineview/js.inc +0 -0
- data/js/views/scrollview/js.inc +0 -0
- data/js/views/scrollview/scrollview.js +39 -0
- data/lib/conf/default.rb +220 -0
- data/lib/conf/wizard.rb +303 -0
- data/lib/daemon/daemon.rb +293 -0
- data/lib/http/broker.rb +102 -0
- data/lib/http/rackup.rb +88 -0
- data/lib/http/request.rb +69 -0
- data/lib/http/response.rb +63 -0
- data/lib/plugins/gui_plugin.rb +129 -0
- data/lib/plugins/guiparser.rb +114 -0
- data/lib/plugins/plugin.rb +652 -0
- data/lib/plugins/plugin_plugins.rb +47 -0
- data/lib/plugins/plugin_sqlite_db.rb +72 -0
- data/lib/plugins/plugin_util.rb +96 -0
- data/lib/plugins/pluginmanager.rb +517 -0
- data/lib/plugins/servlet.rb +69 -0
- data/lib/session/msg.rb +291 -0
- data/lib/session/sessionmanager.rb +491 -0
- data/lib/session/sessionstorage.rb +314 -0
- data/lib/transporter/transporter.rb +254 -0
- data/lib/util/gzstring.rb +5 -0
- data/lib/values/hvalue.rb +323 -0
- data/lib/values/valuemanager.rb +152 -0
- data/plugins/client_pkg/client_pkg.rb +186 -0
- data/plugins/client_pkg/info.yaml +25 -0
- data/plugins/client_pkg/lib/client_pkg_build.rb +569 -0
- data/plugins/client_pkg/lib/client_pkg_cache.rb +50 -0
- data/plugins/client_pkg/lib/client_pkg_serve.rb +210 -0
- data/plugins/client_pkg/log/build_log +0 -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 +150 -0
- data/plugins/index_html/tmpl/index.html +22 -0
- data/plugins/index_html/tmpl/startup_index.html +29 -0
- data/plugins/legacy/disabled +0 -0
- data/plugins/legacy/disabled- +0 -0
- data/plugins/legacy/info.yaml +22 -0
- data/plugins/legacy/legacy.rb +15 -0
- data/plugins/main/js/riassence_ns.js +87 -0
- data/plugins/main/main.rb +234 -0
- data/plugins/main/values.yaml +8 -0
- data/plugins/ticketservices/lib/common.rb +300 -0
- data/plugins/ticketservices/lib/favicon.rb +38 -0
- data/plugins/ticketservices/lib/file.rb +58 -0
- data/plugins/ticketservices/lib/img.rb +50 -0
- data/plugins/ticketservices/lib/objblob.rb +66 -0
- data/plugins/ticketservices/lib/rsrc.rb +34 -0
- data/plugins/ticketservices/lib/upload.rb +206 -0
- data/plugins/ticketservices/ticketservices.rb +268 -0
- data/var/db/.git_include +0 -0
- data/var/log/.git_include +0 -0
- data/var/run/.git_include +0 -0
- metadata +390 -0
|
File without changes
|
|
@@ -0,0 +1,432 @@
|
|
|
1
|
+
/* Riassence Framework
|
|
2
|
+
* Copyright 2009 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
|
+
/*** = Description
|
|
10
|
+
** Manages data value synchronization.
|
|
11
|
+
**
|
|
12
|
+
** Keeps track of all +HValue+ instances present.
|
|
13
|
+
***/
|
|
14
|
+
COMM.Values = HClass.extend({
|
|
15
|
+
|
|
16
|
+
/** No constructor, singleton class.
|
|
17
|
+
**/
|
|
18
|
+
constructor: null,
|
|
19
|
+
|
|
20
|
+
/** An +Object+ containing all values by key.
|
|
21
|
+
**/
|
|
22
|
+
values: {},
|
|
23
|
+
|
|
24
|
+
/** A list of value keys whose value has changed. To be synchronized asap.
|
|
25
|
+
**/
|
|
26
|
+
tosync: [],
|
|
27
|
+
|
|
28
|
+
/** = Description
|
|
29
|
+
* Creates a new +HValue+ instance. Its main purpose is to act as the main
|
|
30
|
+
* client-side value creation interface for the server representation of
|
|
31
|
+
* +HValue+.
|
|
32
|
+
*
|
|
33
|
+
* = Parameters
|
|
34
|
+
* +_id+:: The unique id of the +HValue+ instance (set by the server)
|
|
35
|
+
* +_data:: The initial data of the +HValue+ instance (set by the server)
|
|
36
|
+
*
|
|
37
|
+
**/
|
|
38
|
+
create: function(_id,_data){
|
|
39
|
+
HValue.nu(_id,_data);
|
|
40
|
+
},
|
|
41
|
+
|
|
42
|
+
/** = Description
|
|
43
|
+
* Binds a +HValue+ instance created externally to +self.values+.
|
|
44
|
+
* Called from +HValue+ upon construction.
|
|
45
|
+
*
|
|
46
|
+
* = Parameters
|
|
47
|
+
* +_id+:: The unique id of the +HValue+ instance (set by the server)
|
|
48
|
+
* +_value+:: The +HValue+ instance itself.
|
|
49
|
+
*
|
|
50
|
+
**/
|
|
51
|
+
add: function(_id,_value){
|
|
52
|
+
this.values[_id] = _value;
|
|
53
|
+
},
|
|
54
|
+
|
|
55
|
+
/** = Description
|
|
56
|
+
* Sets the data of the +HValue+ instance by +_Id+.
|
|
57
|
+
*
|
|
58
|
+
* = Parameters
|
|
59
|
+
* +_id+:: The unique id of the +HValue+ instance (set by the server)
|
|
60
|
+
* +_data+:: The new data, any Object type supported by JSON.
|
|
61
|
+
*
|
|
62
|
+
**/
|
|
63
|
+
set: function(_id,_data){
|
|
64
|
+
this.values[_id].set(_data);
|
|
65
|
+
},
|
|
66
|
+
|
|
67
|
+
/** = Description
|
|
68
|
+
* Sets and decodes the +_data+. Main value setter interface
|
|
69
|
+
* for the server representation of +HValue+.
|
|
70
|
+
*
|
|
71
|
+
* = Parameters
|
|
72
|
+
* +_id+:: The unique id of the +HValue+ instance (set by the server)
|
|
73
|
+
* +_data+:: The new data from the server, to be decoded.
|
|
74
|
+
*
|
|
75
|
+
**/
|
|
76
|
+
s: function(_id,_data){
|
|
77
|
+
var _this = this;
|
|
78
|
+
_data = _this.decode(_data);
|
|
79
|
+
_this.values[_id].s(_data);
|
|
80
|
+
},
|
|
81
|
+
|
|
82
|
+
/** = Description
|
|
83
|
+
* Deletes a +HValue+ instance by +_id+.
|
|
84
|
+
*
|
|
85
|
+
* = Parameters
|
|
86
|
+
* +_id+:: The unique id of the +HValue+ instance (set by the server)
|
|
87
|
+
*
|
|
88
|
+
**/
|
|
89
|
+
del: function(_id){
|
|
90
|
+
var _this = this,
|
|
91
|
+
_values = _this.values,
|
|
92
|
+
_value = _values[_id],
|
|
93
|
+
_views = _value.views,
|
|
94
|
+
_viewsLen = _views.lengt,
|
|
95
|
+
i = 0,
|
|
96
|
+
_view;
|
|
97
|
+
for(;i<_viewsLen;i++){
|
|
98
|
+
_view = _views[i];
|
|
99
|
+
_view.valueObj = HDummyValue.nu(0,_value.value);
|
|
100
|
+
}
|
|
101
|
+
_value.views = [];
|
|
102
|
+
delete _values[_id];
|
|
103
|
+
},
|
|
104
|
+
|
|
105
|
+
/** = Description
|
|
106
|
+
* Marks the +HValue+ instance as changed and tries to send it
|
|
107
|
+
* immediately, unless COMM.Transporter has an ongoing transfer.
|
|
108
|
+
* Usually called by the +HValue+ instance internally.
|
|
109
|
+
*
|
|
110
|
+
* = Parameters
|
|
111
|
+
* +_value+:: The +HValue+ instanche that changed.
|
|
112
|
+
*
|
|
113
|
+
**/
|
|
114
|
+
changed: function(_value){
|
|
115
|
+
var _this = this;
|
|
116
|
+
if(_this.tosync.indexOf(_value.id)===-1){
|
|
117
|
+
_this.tosync.push(_value.id);
|
|
118
|
+
var _transporter = COMM.Transporter;
|
|
119
|
+
if(!_transporter.busy){
|
|
120
|
+
_transporter.sync();
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
|
|
125
|
+
// List of primitive object types.
|
|
126
|
+
_builtins: [
|
|
127
|
+
'b', // boolean
|
|
128
|
+
'n', // number
|
|
129
|
+
's' // string
|
|
130
|
+
],
|
|
131
|
+
|
|
132
|
+
/** = Description
|
|
133
|
+
* Use this method to detect the type of the object given.
|
|
134
|
+
*
|
|
135
|
+
* Returns the type of the object given as a character code. Returns false,
|
|
136
|
+
* if unknown or unsupported objcet type.
|
|
137
|
+
*
|
|
138
|
+
* = Returns
|
|
139
|
+
* _One of the following:_
|
|
140
|
+
* - 'a': Array
|
|
141
|
+
* - 'h': Hash (Generic Object)
|
|
142
|
+
* - 'd': Date
|
|
143
|
+
* - 'b': Boolean (true/false)
|
|
144
|
+
* - 'n': Number (integers and floats)
|
|
145
|
+
* - 's': String
|
|
146
|
+
*
|
|
147
|
+
**/
|
|
148
|
+
type: function(_obj){
|
|
149
|
+
if(_obj === null || _obj === undefined){
|
|
150
|
+
console.log('null or undefined obj:',_obj);
|
|
151
|
+
return '-';
|
|
152
|
+
}
|
|
153
|
+
var _type = (typeof _obj).slice(0,1);
|
|
154
|
+
if(this._builtins.indexOf(_type)!==-1){
|
|
155
|
+
return _type;
|
|
156
|
+
}
|
|
157
|
+
else if(_type==='o'){
|
|
158
|
+
if(_obj.constructor === Array){
|
|
159
|
+
return 'a'; // array
|
|
160
|
+
}
|
|
161
|
+
else if(_obj.constructor === Object){
|
|
162
|
+
return 'h'; // hash
|
|
163
|
+
}
|
|
164
|
+
else if(_obj.constructor === Date){
|
|
165
|
+
return 'd'; // date
|
|
166
|
+
}
|
|
167
|
+
return false;
|
|
168
|
+
}
|
|
169
|
+
return false;
|
|
170
|
+
},
|
|
171
|
+
|
|
172
|
+
// Returns an encoded version of the array _arr as a string
|
|
173
|
+
_encodeArr: function(_arr){
|
|
174
|
+
var _str = '[',
|
|
175
|
+
_output = [],
|
|
176
|
+
_len = _arr.length,
|
|
177
|
+
_this = this,
|
|
178
|
+
_item,
|
|
179
|
+
i = 0;
|
|
180
|
+
for(;i<_len;i++){
|
|
181
|
+
_item = _this.encode(_arr[i]);
|
|
182
|
+
_output.push( _item );
|
|
183
|
+
}
|
|
184
|
+
_str += _output.join(',')+']';
|
|
185
|
+
return _str;
|
|
186
|
+
},
|
|
187
|
+
|
|
188
|
+
// Returns a decoded array with decoded content of array _arr
|
|
189
|
+
_decodeArr: function(_arr){
|
|
190
|
+
var _output = [],
|
|
191
|
+
_len = _arr.length,
|
|
192
|
+
_this = this,
|
|
193
|
+
_item,
|
|
194
|
+
i = 0;
|
|
195
|
+
for(;i<_len;i++){
|
|
196
|
+
_item = _this.decode(_arr[i]);
|
|
197
|
+
_output.push( _item );
|
|
198
|
+
}
|
|
199
|
+
return _output;
|
|
200
|
+
},
|
|
201
|
+
|
|
202
|
+
// Returns an encoded version of the Hash (Object) _hash as a string
|
|
203
|
+
_encodeHash: function(_hash){
|
|
204
|
+
var _str = '{',
|
|
205
|
+
_output = [],
|
|
206
|
+
_this = this,
|
|
207
|
+
_key,
|
|
208
|
+
_value;
|
|
209
|
+
for(_key in _hash){
|
|
210
|
+
_value = _hash[_key];
|
|
211
|
+
_output.push( _this.encode( _key ) + ':' + _this.encode( _value ) );
|
|
212
|
+
}
|
|
213
|
+
_str += _output.join(',')+'}';
|
|
214
|
+
return _str;
|
|
215
|
+
},
|
|
216
|
+
|
|
217
|
+
// Returns a decoded version of the Hash (Object) _hash
|
|
218
|
+
_decodeHash: function(_hash){
|
|
219
|
+
var _output = {},
|
|
220
|
+
_this = this,
|
|
221
|
+
_key,
|
|
222
|
+
_value;
|
|
223
|
+
for(_key in _hash){
|
|
224
|
+
_value = _hash[_key];
|
|
225
|
+
_output[_this.decode(_key)] = _this.decode(_value);
|
|
226
|
+
}
|
|
227
|
+
return _output;
|
|
228
|
+
},
|
|
229
|
+
|
|
230
|
+
// Regular expression match/replace pairs for string escaping.
|
|
231
|
+
_stringSubstitutions: [
|
|
232
|
+
[(/\\/g), '\\\\'],
|
|
233
|
+
//[(/\b/g), '\\b'],
|
|
234
|
+
[(/\t/g), '\\t'],
|
|
235
|
+
[(/\n/g), '\\n'],
|
|
236
|
+
[(/\f/g), '\\f'],
|
|
237
|
+
[(/\r/g), '\\r'],
|
|
238
|
+
[(/"/g), '\\"']
|
|
239
|
+
],
|
|
240
|
+
|
|
241
|
+
// Quotes a string (escapes quotation marks and places quotes around)
|
|
242
|
+
_quoteString: function(_str){
|
|
243
|
+
var _this = this,
|
|
244
|
+
_substitutions = _this._stringSubstitutions,
|
|
245
|
+
i = 0, _len = _substitutions.length,
|
|
246
|
+
_line, _from, _to, _output = '';
|
|
247
|
+
for(;i<_len;i++){
|
|
248
|
+
_line = _substitutions[i];
|
|
249
|
+
_from = _line[0];
|
|
250
|
+
_to = _line[1];
|
|
251
|
+
_str = _str.replace( _from, _to );
|
|
252
|
+
}
|
|
253
|
+
return '"' + _str + '"';
|
|
254
|
+
},
|
|
255
|
+
|
|
256
|
+
// Encodes the native character set to url-encoded unicode.
|
|
257
|
+
// Likely causes issues with non-ascii strings, shouldn't be called (for now).
|
|
258
|
+
_encodeString: function(_str){
|
|
259
|
+
console.log( 'WARNING: encodeString called with string: ',_str );
|
|
260
|
+
var _outStr;
|
|
261
|
+
try {
|
|
262
|
+
_outStr = unescape( encodeURIComponent( _str ) );
|
|
263
|
+
}
|
|
264
|
+
catch(e) {
|
|
265
|
+
_outStr = _str;
|
|
266
|
+
}
|
|
267
|
+
return _outStr;
|
|
268
|
+
},
|
|
269
|
+
|
|
270
|
+
// Decodes the url-encoded unicode to the native character set
|
|
271
|
+
_decodeString: function(_str){
|
|
272
|
+
var _outStr;
|
|
273
|
+
try {
|
|
274
|
+
_outStr = decodeURIComponent( escape( _str ) );
|
|
275
|
+
}
|
|
276
|
+
catch(e) {
|
|
277
|
+
_outStr = _str;
|
|
278
|
+
}
|
|
279
|
+
return _outStr;
|
|
280
|
+
},
|
|
281
|
+
|
|
282
|
+
/** = Description
|
|
283
|
+
* Encodes an object to a ascii string (special characters url-encoded).
|
|
284
|
+
*
|
|
285
|
+
* = Parameters
|
|
286
|
+
* +_obj+:: Any object
|
|
287
|
+
*
|
|
288
|
+
* = Returns
|
|
289
|
+
* A +String+ representation of the +_obj+
|
|
290
|
+
*
|
|
291
|
+
**/
|
|
292
|
+
encode: function(_obj){
|
|
293
|
+
var _str, _type, _this = this;
|
|
294
|
+
if(_obj === null){
|
|
295
|
+
return 'null';
|
|
296
|
+
}
|
|
297
|
+
else if(_obj !== undefined){
|
|
298
|
+
_type = _this.type(_obj);
|
|
299
|
+
if(!_type){
|
|
300
|
+
return 'null';
|
|
301
|
+
}
|
|
302
|
+
switch(_type){
|
|
303
|
+
case 'b': _str = String(_obj); break;
|
|
304
|
+
case 'n': _str = String(_obj); break;
|
|
305
|
+
case 's': _str = _this._quoteString(_obj); break;
|
|
306
|
+
// Might need further investigation, but _encodeString is disabled for now:
|
|
307
|
+
// case 's': _str = _this._quoteString(_this._encodeString(_obj)); break;
|
|
308
|
+
case 'd': _str = '"@'+String(_obj.getTime()/1000)+'"'; break;
|
|
309
|
+
case 'a': _str = _this._encodeArr(_obj); break;
|
|
310
|
+
case 'h': _str = _this._encodeHash(_obj); break;
|
|
311
|
+
default: _str = 'null'; break;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
return 'null';
|
|
316
|
+
}
|
|
317
|
+
return _str;
|
|
318
|
+
},
|
|
319
|
+
|
|
320
|
+
/** = Description
|
|
321
|
+
* Decodes a JSON object. Decodes url-encoded strings contained.
|
|
322
|
+
*
|
|
323
|
+
* = Parameters
|
|
324
|
+
* +_ibj+:: A raw object with special characters url-encoded.
|
|
325
|
+
*
|
|
326
|
+
* = Returns
|
|
327
|
+
* An version of the object with the contained strings decoded to unicode.
|
|
328
|
+
*
|
|
329
|
+
**/
|
|
330
|
+
decode: function(_ibj){
|
|
331
|
+
var _obj, _type, _this = this;
|
|
332
|
+
if(_ibj !== null && _ibj !== undefined){
|
|
333
|
+
_type = _this.type(_ibj);
|
|
334
|
+
if(!_type){
|
|
335
|
+
return null;
|
|
336
|
+
}
|
|
337
|
+
switch(_type){
|
|
338
|
+
case 'b': _obj = _ibj; break;
|
|
339
|
+
case 'n': _obj = _ibj; break;
|
|
340
|
+
case 's': _obj = _this._decodeString(_ibj); break;
|
|
341
|
+
case 'd': _obj = _ibj; break;
|
|
342
|
+
case 'a': _obj = _this._decodeArr(_ibj); break;
|
|
343
|
+
case 'h': _obj = _this._decodeHash(_ibj); break;
|
|
344
|
+
default: _obj = null; break;
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
else {
|
|
348
|
+
return null;
|
|
349
|
+
}
|
|
350
|
+
return _obj;
|
|
351
|
+
},
|
|
352
|
+
|
|
353
|
+
/** = Description
|
|
354
|
+
* Makes a deep copy of the object.
|
|
355
|
+
*
|
|
356
|
+
* When you use assignment of a js object, only primitive object types
|
|
357
|
+
* (strings, numbers and booleans) are copied. This method makes a deep
|
|
358
|
+
* (nested) clone of the input object.
|
|
359
|
+
*
|
|
360
|
+
* = Parameters
|
|
361
|
+
* +_obj+:: Any object.
|
|
362
|
+
*
|
|
363
|
+
* = Returns
|
|
364
|
+
* A copy of the object.
|
|
365
|
+
*
|
|
366
|
+
**/
|
|
367
|
+
clone: function( _obj, _shallow ){
|
|
368
|
+
if(_obj === null || _obj === undefined){
|
|
369
|
+
console.log('null or undefined obj:',_obj);
|
|
370
|
+
return _obj;
|
|
371
|
+
}
|
|
372
|
+
var _item,
|
|
373
|
+
_cloned;
|
|
374
|
+
if( _obj instanceof Array ){
|
|
375
|
+
_cloned = [];
|
|
376
|
+
for( _item = 0; _item < _obj.length; _item ++ ){
|
|
377
|
+
if(_shallow){
|
|
378
|
+
_cloned[ _item ] = _obj[ _item ];
|
|
379
|
+
}
|
|
380
|
+
else {
|
|
381
|
+
_cloned[ _item ] = this.clone( _obj[ _item ] );
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
return _cloned;
|
|
385
|
+
}
|
|
386
|
+
else if( _obj instanceof Object ){
|
|
387
|
+
_cloned = {};
|
|
388
|
+
for( _item in _obj ){
|
|
389
|
+
if(_shallow){
|
|
390
|
+
_cloned[ _item ] = _obj[ _item ];
|
|
391
|
+
}
|
|
392
|
+
else {
|
|
393
|
+
_cloned[ _item ] = this.clone( _obj[ _item ] );
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
return _cloned;
|
|
397
|
+
}
|
|
398
|
+
else {
|
|
399
|
+
return _obj;
|
|
400
|
+
}
|
|
401
|
+
},
|
|
402
|
+
|
|
403
|
+
/** = Description
|
|
404
|
+
* Returns an URI-encoded string representation of all the changed values to
|
|
405
|
+
* synchronize to the server.
|
|
406
|
+
*
|
|
407
|
+
* = Returns
|
|
408
|
+
* An encoded string representation of values to synchronize.
|
|
409
|
+
**/
|
|
410
|
+
sync: function(){
|
|
411
|
+
if(this.tosync.length===0){
|
|
412
|
+
return false;
|
|
413
|
+
}
|
|
414
|
+
var _syncValues = {},
|
|
415
|
+
_this = this,
|
|
416
|
+
_values = _this.values,
|
|
417
|
+
_tosync = _this.tosync,
|
|
418
|
+
_len = _tosync.length,
|
|
419
|
+
i = 0, _id, _value;
|
|
420
|
+
for(;i<_len;i++){
|
|
421
|
+
_id = _tosync.shift();
|
|
422
|
+
_value = _values[_id].value;
|
|
423
|
+
_syncValues[_id] = _value;
|
|
424
|
+
}
|
|
425
|
+
return encodeURIComponent(_this.encode(_syncValues));
|
|
426
|
+
}
|
|
427
|
+
});
|
|
428
|
+
|
|
429
|
+
// Backwards compatibility assignment for code that still
|
|
430
|
+
// uses HVM as a reference of the Value Manager:
|
|
431
|
+
HVM = COMM.Values;
|
|
432
|
+
|
|
File without changes
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/* Riassence Framework
|
|
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
|
+
/*** = Description
|
|
10
|
+
** A class for asynchronously fetching Javascript libraries from the server.
|
|
11
|
+
**
|
|
12
|
+
** Loads and evalueates the code returned as a string from the server.
|
|
13
|
+
** Use the jsLoader instance to get packaged Javascript libraries from the
|
|
14
|
+
** standard package url.
|
|
15
|
+
***/
|
|
16
|
+
|
|
17
|
+
COMM.JSLoader = HClass.extend({
|
|
18
|
+
|
|
19
|
+
/** = Description
|
|
20
|
+
* Construct with the base url.
|
|
21
|
+
*
|
|
22
|
+
* The this is the base url used by the +load+ method.
|
|
23
|
+
*
|
|
24
|
+
**/
|
|
25
|
+
constructor: function(_uri){
|
|
26
|
+
var _this = this;
|
|
27
|
+
_this._loadedJS = [];
|
|
28
|
+
_this.uri = _uri;
|
|
29
|
+
_this._okayed = false;
|
|
30
|
+
},
|
|
31
|
+
|
|
32
|
+
// Error catcher for failed requests.
|
|
33
|
+
_fail: function(_this,_resp){
|
|
34
|
+
console.log("failed to load js: "+_resp.url);
|
|
35
|
+
},
|
|
36
|
+
|
|
37
|
+
/** = Description
|
|
38
|
+
* Loads a js package using the name.
|
|
39
|
+
*
|
|
40
|
+
* The base url given in the constructor is used as the prefix.
|
|
41
|
+
* Omit the '.js' suffix, because it's appended automatically.
|
|
42
|
+
*
|
|
43
|
+
* = Parameters
|
|
44
|
+
* +_jsName+:: The name of the js file to load (without the .js suffix)
|
|
45
|
+
*
|
|
46
|
+
* = Usage:
|
|
47
|
+
* Uses the main instance set to the base path of the server's
|
|
48
|
+
* js package url. Loads a package containing list components.
|
|
49
|
+
* jsLoader.load('lists');
|
|
50
|
+
*
|
|
51
|
+
**/
|
|
52
|
+
load: function(_jsName){
|
|
53
|
+
var _this = this,
|
|
54
|
+
_isFullUrl = _jsName.slice(0,7) === 'http://' || _jsName.slice(0,8) === 'https://',
|
|
55
|
+
_url = _isFullUrl?_jsName:_this.uri+_jsName+'.js';
|
|
56
|
+
if((_this._loadedJS.indexOf(_url)!==-1)) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
COMM.Queue.pause();
|
|
60
|
+
_this._loadedJS.push(_url);
|
|
61
|
+
if(BROWSER_TYPE.symbian && _isFullUrl){
|
|
62
|
+
alert('Sorry, this browser does not support loading external scripts!');
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
else if(BROWSER_TYPE.symbian){
|
|
66
|
+
_this._req = COMM.request(
|
|
67
|
+
_url, {
|
|
68
|
+
onSuccess: function(_resp){
|
|
69
|
+
_this._req = null;
|
|
70
|
+
COMM.Queue.unshiftEval(_resp.X.responseText);
|
|
71
|
+
COMM.Queue.resume();
|
|
72
|
+
},
|
|
73
|
+
onFailure: _this._fail,
|
|
74
|
+
method: 'GET',
|
|
75
|
+
async: true
|
|
76
|
+
}
|
|
77
|
+
);
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
var _script = document.createElement('script');
|
|
81
|
+
if(BROWSER_TYPE.ie){
|
|
82
|
+
_script.onreadystatechange = function(){
|
|
83
|
+
if(this.readyState === 'loaded' || this.readyState === 'complete'){
|
|
84
|
+
COMM.Queue.resume();
|
|
85
|
+
_script.onload = _script.readystatechange = null;
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
_script.onload = function(){
|
|
91
|
+
COMM.Queue.resume();
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
_script.src = _url;
|
|
95
|
+
_script.type = 'text/javascript';
|
|
96
|
+
document.getElementsByTagName('head')[0].appendChild(_script);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
/** -- Global reference ++ **/
|
|
101
|
+
JSLoader = COMM.JSLoader;
|
|
102
|
+
|
|
103
|
+
// Makes the standard jsLoader instance based on the client base url
|
|
104
|
+
// of the server when the page is loaded.
|
|
105
|
+
LOAD(
|
|
106
|
+
function(){
|
|
107
|
+
COMM.jsLoader = COMM.JSLoader.nu( HCLIENT_BASE + '/js/' );
|
|
108
|
+
// backwards compatibility aliases:
|
|
109
|
+
jsLoader = COMM.jsLoader;
|
|
110
|
+
}
|
|
111
|
+
);
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|