rsence 2.2.0 → 2.2.1

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.
Files changed (63) hide show
  1. data/VERSION +1 -1
  2. data/js/comm/queue/queue.js +17 -8
  3. data/js/comm/transporter/transporter.js +11 -10
  4. data/js/controls/button/themes/bright/button_parts1.png +0 -0
  5. data/js/controls/button/themes/default/button_parts1.png +0 -0
  6. data/js/controls/checkbox/themes/default/checkbox_parts1.png +0 -0
  7. data/js/controls/dialogs/sheet/themes/default/sheet_bg.png +0 -0
  8. data/js/controls/dialogs/sheet/themes/default/sheet_dim.png +0 -0
  9. data/js/controls/dialogs/sheet/themes/default/sheet_parts1.png +0 -0
  10. data/js/controls/dialogs/sheet/themes/default/sheet_parts2.png +0 -0
  11. data/js/controls/dialogs/sheet/themes/default/sheet_warning.png +0 -0
  12. data/js/controls/radiobutton/themes/default/radiobutton_parts1.png +0 -0
  13. data/js/controls/searchfield/themes/default/searchfield_parts1.png +0 -0
  14. data/js/controls/sliders/slider/themes/default/hslider_tracks.png +0 -0
  15. data/js/controls/sliders/slider/themes/default/slider_thumbs.png +0 -0
  16. data/js/controls/sliders/vslider/themes/default/vslider_tracks.png +0 -0
  17. data/js/controls/tab/tab.js +4 -3
  18. data/js/controls/tab/themes/bright/tab_bg_color.png +0 -0
  19. data/js/controls/tab/themes/bright/tab_border_pattern.png +0 -0
  20. data/js/controls/tab/themes/bright/tab_parts1.png +0 -0
  21. data/js/controls/tab/themes/default/tab_bg_color.png +0 -0
  22. data/js/controls/tab/themes/default/tab_border_pattern.png +0 -0
  23. data/js/controls/tab/themes/default/tab_parts1.png +0 -0
  24. data/js/controls/textcontrol/textcontrol.js +3 -1
  25. data/js/controls/textcontrol/themes/default/textcontrol_parts1.png +0 -0
  26. data/js/controls/textcontrol/themes/default/textcontrol_parts2.png +0 -0
  27. data/js/controls/textcontrol/themes/default/textcontrol_parts3.png +0 -0
  28. data/js/controls/validatorview/themes/default/validator.png +0 -0
  29. data/js/controls/window/themes/default/window.css +66 -54
  30. data/js/controls/window/themes/default/window.html +6 -2
  31. data/js/controls/window/themes/default/window_bg_active.png +0 -0
  32. data/js/controls/window/themes/default/window_bg_inactive.png +0 -0
  33. data/js/controls/window/themes/default/window_buttons.png +0 -0
  34. data/js/controls/window/themes/default/window_parts1.png +0 -0
  35. data/js/controls/window/themes/default/window_parts2.png +0 -0
  36. data/js/controls/window/window.js +167 -40
  37. data/js/core/class/class.js +3 -0
  38. data/js/core/elem/elem.coffee +36 -16
  39. data/js/datetime/calendar/calendar.coffee +24 -8
  40. data/js/datetime/calendar/themes/default/calendar.html +2 -2
  41. data/js/datetime/calendar/themes/default/calendar_arrows.png +0 -0
  42. data/js/datetime/calendar/themes/default/calendar_bg.png +0 -0
  43. data/js/datetime/calendar/themes/default/calendar_parts1.png +0 -0
  44. data/js/datetime/calendar/themes/default/calendar_parts2.png +0 -0
  45. data/js/datetime/timesheet_item/themes/default/timesheet_item_icons.png +0 -0
  46. data/js/datetime/timesheet_item/timesheet_item.js +1 -1
  47. data/js/foundation/geom/rect/rect.js +83 -47
  48. data/js/foundation/thememanager/thememanager.js +3 -0
  49. data/js/foundation/view/markupview/markupview.js +1 -1
  50. data/js/foundation/view/view.js +136 -37
  51. data/js/lists/propertylist/propertylist.js +33 -31
  52. data/js/menus/minimenu/minimenu.js +4 -2
  53. data/js/menus/minimenu/themes/default/minimenu.png +0 -0
  54. data/js/menus/minimenuitem/themes/default/minimenuitem_checkmark.png +0 -0
  55. data/js/menus/popupmenu/themes/default/popupmenu.png +0 -0
  56. data/js/util/reloadapp/themes/default/reloadapp_warning.png +0 -0
  57. data/lib/rsence/argv/startup_argv.rb +1 -1
  58. data/lib/rsence/default_config.rb +2 -2
  59. data/lib/rsence/plugins/plugin.rb +0 -1
  60. data/plugins/client_pkg/client_pkg.rb +7 -9
  61. data/plugins/client_pkg/lib/client_pkg_build.rb +214 -99
  62. data/plugins/main/main.rb +5 -1
  63. metadata +4 -4
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.2.0
1
+ 2.2.1
@@ -72,6 +72,22 @@ COMM.Queue = HApplication.extend({
72
72
  JS_EXEC_FAIL: 'Failed to execute the Javascript function: ',
73
73
  REASON: ' Reason:'
74
74
  },
75
+
76
+ /** Basic queue item exception reporter. Override with your own, if needed.
77
+ **/
78
+ clientException: function( _exception, _item ){
79
+ var
80
+ _strs = this.STRINGS,
81
+ _errorText = [
82
+ _strs.ERR_PREFIX,
83
+ _strs.JS_EXEC_FAIL,
84
+ _exception.name+'->'+_exception.message,
85
+ _strs.REASON,
86
+ _exception
87
+ ].join('');
88
+ console.log( _errorText );
89
+ return _errorText;
90
+ },
75
91
 
76
92
  /** = Description
77
93
  * Flushes the queue until stopped.
@@ -112,14 +128,7 @@ COMM.Queue = HApplication.extend({
112
128
 
113
129
  // Displays an error message in the Javascript console, if failure.
114
130
  catch(e){
115
- var _strs = this.STRINGS;
116
- console.log([
117
- _strs.ERR_PREFIX,
118
- _strs.JS_EXEC_FAIL,
119
- _item,
120
- _strs.REASON,
121
- e
122
- ].join(''));
131
+ this.clientException( e, _item );
123
132
  }
124
133
  }
125
134
  },
@@ -116,7 +116,7 @@ COMM.Transporter = HApplication.extend({
116
116
  _valueId = _values['del'][i];
117
117
  _valueManager.del( _valueId );
118
118
  }
119
- }
119
+ }
120
120
  },
121
121
 
122
122
  /** = Description
@@ -138,13 +138,15 @@ COMM.Transporter = HApplication.extend({
138
138
  _this.failure(resp);
139
139
  return;
140
140
  }
141
- var _responseArray = _this.parseResponseArray(resp.X.responseText),
142
- i = 2,
143
- _responseArrayLen = _responseArray.length,
144
- _sesKey = _responseArray[0],
145
- _values = _responseArray[1],
146
- _session = COMM.Session,
147
- _queue = COMM.Queue;
141
+ var
142
+ _responseArray = _this.parseResponseArray(resp.X.responseText),
143
+ i = 2,
144
+ _responseArrayLen = _responseArray.length,
145
+ _sesKey = _responseArray[0],
146
+ _values = _responseArray[1],
147
+ _session = COMM.Session,
148
+ _queue = COMM.Queue,
149
+ _errorText;
148
150
  if(_sesKey === ''){
149
151
  console.log('Invalid session, error message should follow...');
150
152
  }
@@ -157,8 +159,7 @@ COMM.Transporter = HApplication.extend({
157
159
  _queue.pushEval( _responseArray[i] );
158
160
  }
159
161
  catch(e) {
160
- console.log( 'clientError:'+e+" - "+e.description+' - '+_responseArray[i]);
161
- _this._clientEvalError = e+" - "+e.description+' - '+_responseArray[i];
162
+ _this._clientEvalError = _queue.clientException( e, _responseArray[i] );
162
163
  }
163
164
  }
164
165
  if(_this._serverInterruptView && _sesKey !== '' ){
@@ -120,14 +120,14 @@ HTab = HControl.extend({
120
120
  if(this.selectIdx!==-1){
121
121
  var _tabSelectElemId = this.tabLabels[this.selectIdx],
122
122
  _tabSelectViewId = this.tabs[this.selectIdx];
123
- ELEM.removeClassName(_tabSelectElemId,'item-fg');
123
+ ELEM.delClassName(_tabSelectElemId,'item-fg');
124
124
  ELEM.addClassName(_tabSelectElemId,'item-bg');
125
125
  HSystem.views[_tabSelectViewId].hide();
126
126
  }
127
127
  if(_tabIdx!==-1){
128
128
  var _tabLabelElemId = this.tabLabels[_tabIdx],
129
129
  _tabViewId = this.tabs[_tabIdx];
130
- ELEM.removeClassName(_tabLabelElemId,'item-bg');
130
+ ELEM.delClassName(_tabLabelElemId,'item-bg');
131
131
  ELEM.addClassName(_tabLabelElemId,'item-fg');
132
132
  HSystem.views[_tabViewId].show();
133
133
  }
@@ -174,7 +174,8 @@ HTab = HControl.extend({
174
174
  ELEM.setAttr(_tabLabelElemId,'href','javascript:HSystem.views['+this.viewId+'].selectTab('+_tabIdx+');');
175
175
  }
176
176
  else if (this.tabTriggerLink && !(BROWSER_TYPE.ie7 || BROWSER_TYPE.ie6)){
177
- ELEM.setAttr(_tabLabelElemId,'onclick','HSystem.views['+this.viewId+'].selectTab('+_tabIdx+');');
177
+ var _this = this;
178
+ Event.observe( ELEM.get(_tabLabelElemId), 'click', function(){ _this.selectTab(_tabIdx); } );
178
179
  }
179
180
  else {
180
181
  this.tabTriggerLink = false;
@@ -29,6 +29,7 @@ HTextControl = HControl.extend({
29
29
  controlDefaults: (HControlDefaults.extend({
30
30
  refreshOnBlur: true,
31
31
  refreshOnInput: true,
32
+ refreshOnIdle: true,
32
33
  focusOnCreate: false
33
34
  })),
34
35
 
@@ -158,7 +159,8 @@ HTextControl = HControl.extend({
158
159
  return true;
159
160
  },
160
161
 
161
- onIdle: function(){
162
+ idle: function(){
163
+ if( !this.options.refreshOnIdle ){ return; }
162
164
  this.hasTextFocus && this._updateValueFromField();
163
165
  try{
164
166
  this.base();
@@ -29,7 +29,7 @@
29
29
  .window_titlebar {
30
30
  opacity: 0.97;
31
31
  }
32
- .inactive .window_titlebar {
32
+ .inactive > .window_titlebar {
33
33
  opacity: 0.95;
34
34
  }
35
35
 
@@ -41,18 +41,18 @@
41
41
  box-shadow: 3px 3px 20px #333, 3px 3px 10px #000;
42
42
  }
43
43
 
44
- .inactive .window_shadow {
44
+ .inactive > .window_shadow {
45
45
  -moz-box-shadow: 3px 3px 13px #333;
46
46
  -webkit-box-shadow: 3px 3px 13px #333;
47
47
  box-shadow: 3px 3px 13px #333;
48
48
  }
49
49
 
50
- .window_controls * {
50
+ .window_controls {
51
51
  cursor: pointer;
52
52
  }
53
53
 
54
54
  .window_titlebar {
55
- left: 0px; top: 0px; height: 24px; min-width: 96px; right: 0px;
55
+ left: 0; top: 0; height: 24px; min-width: 96px; right: 0;
56
56
  }
57
57
 
58
58
  .window_titlebar * {
@@ -60,33 +60,33 @@
60
60
  }
61
61
 
62
62
  .window_titlebar_edge_left {
63
- left: 0px; top: 0px; width: 24px; height: 24px;
64
- background-position: 0px 0px;
63
+ left: 0; top: 0; width: 24px; height: 24px;
64
+ background-position: 0 0;
65
65
  }
66
66
 
67
- .inactive .window_titlebar_edge_left {
68
- background-position: 0px -48px;
67
+ .inactive > .window_titlebar > .window_titlebar_edge_left {
68
+ background-position: 0 -48px;
69
69
  }
70
70
 
71
71
  .window_titlebar_edge_right {
72
- right: 0px; top: 0px; width: 24px; height: 24px;
73
- background-position: -24px 0px;
72
+ right: 0; top: 0; width: 24px; height: 24px;
73
+ background-position: -24px 0;
74
74
  }
75
75
 
76
- .inactive .window_titlebar_edge_right {
77
- right: 0px; top: 0px; width: 24px; height: 24px;
76
+ .inactive > .window_titlebar > .window_titlebar_edge_right {
77
+ right: 0; top: 0; width: 24px; height: 24px;
78
78
  background-position: -24px -48px;
79
79
  }
80
80
 
81
81
  .window_titlebar_center {
82
- left: 24px; top: 0px; right: 24px; height: 24px;
83
- background-position: 0px 0px;
82
+ left: 24px; top: 0; right: 24px; height: 24px;
83
+ background-position: 0 0;
84
84
  background-repeat: repeat-x;
85
85
  background-image: #{this.getCssFilePath('window_parts2.png')};
86
86
  }
87
87
 
88
- .inactive .window_titlebar_center {
89
- background-position: 0px -48px;
88
+ .inactive > .window_titlebar > .window_titlebar_center {
89
+ background-position: 0 -48px;
90
90
  }
91
91
 
92
92
  .window_bg {
@@ -95,12 +95,12 @@
95
95
  background-image: #{this.getCssFilePath('window_bg_active.png')};
96
96
  }
97
97
 
98
- .inactive .window_bg {
98
+ .inactive > .window_bg {
99
99
  background-image: #{this.getCssFilePath('window_bg_inactive.png')};
100
100
  }
101
101
 
102
102
  .window_body {
103
- left: 0px; top: 24px; right: 0px; bottom: 0px;
103
+ left: 0; top: 24px; right: 0; bottom: 0;
104
104
  }
105
105
 
106
106
  .window_body * {
@@ -108,55 +108,55 @@
108
108
  }
109
109
 
110
110
  .window_body_edge_left {
111
- left: 0px; top: 0px; bottom: 24px; width: 24px;
111
+ left: 0; top: 0; bottom: 24px; width: 24px;
112
112
  background-repeat: repeat-y;
113
- background-position: -72px 0px;
113
+ background-position: -72px 0;
114
114
  }
115
115
 
116
- .inactive .window_body_edge_left {
117
- background-position: -120px 0px;
116
+ .inactive > .window_body > .window_body_edge_left {
117
+ background-position: -120px 0;
118
118
  }
119
119
 
120
120
  .window_body_edge_right {
121
- right: 0px; top: 0px; bottom: 24px; width: 24px;
121
+ right: 0; top: 0; bottom: 24px; width: 24px;
122
122
  background-repeat: repeat-y;
123
- background-position: -96px 0px;
123
+ background-position: -96px 0;
124
124
  }
125
125
 
126
- .inactive .window_body_edge_right {
127
- background-position: -144px 0px;
126
+ .inactive > .window_body > .window_body_edge_right {
127
+ background-position: -144px 0;
128
128
  }
129
129
 
130
130
  .window_body_corner_left {
131
- left: 0px; bottom: 0px; height: 24px; width: 24px;
132
- background-position: 0px -24px;
131
+ left: 0; bottom: 0; height: 24px; width: 24px;
132
+ background-position: 0 -24px;
133
133
  }
134
- .inactive .window_body_corner_left {
135
- background-position: 0px -72px;
134
+ .inactive > .window_body > .window_body_corner_left {
135
+ background-position: 0 -72px;
136
136
  }
137
137
 
138
138
  .window_body_corner_right {
139
- right: 0px; bottom: 0px; height: 24px; width: 24px;
139
+ right: 0; bottom: 0; height: 24px; width: 24px;
140
140
  background-position: -24px -24px;
141
141
  }
142
142
 
143
- .inactive .window_body_corner_right {
143
+ .inactive > .window_body > .window_body_corner_right {
144
144
  background-position: -24px -72px;
145
145
  }
146
146
 
147
147
  .window_body_edge_bottom {
148
- left: 24px; bottom: 0px; right: 24px; height: 24px;
148
+ left: 24px; bottom: 0; right: 24px; height: 24px;
149
149
  background-repeat: repeat-x;
150
- background-position: 0px -24px;
150
+ background-position: 0 -24px;
151
151
  background-image: #{this.getCssFilePath('window_parts2.png')};
152
152
  }
153
153
 
154
- .inactive .window_body_edge_bottom {
155
- background-position: 0px -72px;
154
+ .inactive > .window_body > .window_body_edge_bottom {
155
+ background-position: 0 -72px;
156
156
  }
157
157
 
158
158
  .window_label {
159
- left: 0px; top: 0px; right: 0px; height: 24px;
159
+ left: 0; top: 0; right: 0; height: 24px;
160
160
  line-height: 26px;
161
161
  text-align: center;
162
162
  vertical-align: middle;
@@ -166,29 +166,29 @@
166
166
  color: #000;
167
167
  }
168
168
 
169
- .inactive .window_label {
169
+ .inactive > .window_label {
170
170
  color: #666;
171
171
  }
172
172
 
173
173
  .window_controls {
174
- left: 0px; top: 0px; right: 0px; bottom: 0px;
174
+ left: 0; top: 0; right: 0; bottom: 0;
175
175
  }
176
176
 
177
177
  .window_subview {
178
- left: 2px; top: 26px; right: 2px; bottom: 2px;
178
+ left: 2px; top: 24px; right: 2px; bottom: 2px;
179
179
  }
180
180
 
181
181
  .window_resize_se {
182
182
  position: absolute;
183
- right: 0px; bottom: 0px; width: 13px; height: 13px;
183
+ right: 0; bottom: 0; width: 13px; height: 13px;
184
184
  cursor: se-resize;
185
185
  z-index: 10000;
186
186
  background-position: -59px -35px;
187
- font-size: 0px;
187
+ font-size: 0;
188
188
  background-image: #{this.getCssFilePath('window_parts1.png')};
189
189
  }
190
190
 
191
- .inactive .window_resize_se {
191
+ .inactive > .window_resize_se {
192
192
  background-position: -59px -83px;
193
193
  }
194
194
 
@@ -201,42 +201,54 @@
201
201
 
202
202
  .window_controls_close {
203
203
  #{BROWSER_TYPE.mac?'left':'right'}: 8px;
204
- background-position: 0px 0px;
204
+ background-position: 0 0;
205
+ }
206
+
207
+ .window_controls_close.disable_close {
208
+ opacity: 0.3;
205
209
  }
206
210
 
207
- .window_controls:hover .window_controls_close {
208
- background-position: 0px -15px;
211
+ .window_controls:hover .window_controls_close.enable_close {
212
+ background-position: 0 -15px;
209
213
  }
210
214
 
211
- .window_controls:hover .window_controls_close:active {
212
- background-position: 0px -30px;
215
+ .window_controls:hover .window_controls_close:active.enable_close {
216
+ background-position: 0 -30px;
213
217
  }
214
218
 
215
219
 
216
220
  .window_controls_collapse {
217
221
  #{BROWSER_TYPE.mac?'left: 27px':'right: 46px'};
218
- background-position: -30px 0px;
222
+ background-position: -30px 0;
219
223
  }
220
224
 
221
- .window_controls:hover .window_controls_collapse {
225
+ .window_controls_collapse.disable_collapse {
226
+ opacity: 0.3;
227
+ }
228
+
229
+ .window_controls:hover .window_controls_collapse.enable_collapse {
222
230
  background-position: -30px -15px;
223
231
  }
224
232
 
225
- .window_controls:hover .window_controls_collapse:active {
233
+ .window_controls:hover .window_controls_collapse:active.enable_collapse {
226
234
  background-position: -30px -30px;
227
235
  }
228
236
 
229
237
 
230
238
  .window_controls_zoom {
231
239
  #{BROWSER_TYPE.mac?'left: 46px':'right: 27px'};
232
- background-position: -15px 0px;
240
+ background-position: -15px 0;
241
+ }
242
+
243
+ .window_controls_zoom.disable_zoom {
244
+ opacity: 0.3;
233
245
  }
234
246
 
235
- .window_controls:hover .window_controls_zoom {
247
+ .window_controls:hover .window_controls_zoom.enable_zoom {
236
248
  background-position: -15px -15px;
237
249
  }
238
250
 
239
- .window_controls:hover .window_controls_zoom:active {
251
+ .window_controls:hover .window_controls_zoom:active.enable_zoom {
240
252
  background-position: -15px -30px;
241
253
  }
242
254
 
@@ -14,6 +14,10 @@ ${this.setStyle('overflow','visible')}
14
14
  <div class="window_body_corner_right"></div>
15
15
  </div>
16
16
  <div class="window_label" id="label#{_ID}">#{this.label}</div>
17
- <div class="window_controls" id="control#{_ID}">#{this.options.closeButton?'<div class="window_controls_close" onclick="HSystem.views['+this.viewId+'].windowClose();"></div>':''}#{this.options.collapseButton?'<div class="window_controls_collapse" onclick="HSystem.views['+this.viewId+'].windowCollapse();"></div>':''}#{this.options.zoomButton?'<div class="window_controls_zoom" onclick="HSystem.views['+this.viewId+'].windowZoom();"></div>':''}</div>
17
+ <div class="window_controls" id="control#{_ID}">
18
+ <div class="window_controls_close" id="close#{_ID}"></div>
19
+ <div class="window_controls_collapse" id="collapse#{_ID}"></div>
20
+ <div class="window_controls_zoom" id="zoom#{_ID}"></div>
21
+ </div>
18
22
  <div class="window_subview" id="subview#{_ID}"></div>
19
- #{this.options.noResize?'':'<div class="window_resize_se"></div>'}
23
+ <div class="window_resize_se" id="resize#{_ID}"></div>