rsence 2.2.0 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
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>