rsence-pre 2.2.0.11 → 2.2.0.12
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/js/controls/window/themes/default/window.css +9 -0
- data/js/datetime/calendar/calendar.js +109 -11
- data/js/datetime/calendar/themes/default/calendar.css +89 -7
- data/js/datetime/calendar/themes/default/calendar.html +11 -0
- data/js/datetime/calendar/themes/default/calendar_bg-ie6.gif +0 -0
- data/js/datetime/calendar/themes/default/calendar_bg.png +0 -0
- data/js/datetime/calendar/themes/default/calendar_parts1-ie6.gif +0 -0
- data/js/datetime/calendar/themes/default/calendar_parts1.png +0 -0
- data/js/datetime/calendar/themes/default/calendar_parts2-ie6.gif +0 -0
- data/js/datetime/calendar/themes/default/calendar_parts2.png +0 -0
- data/js/datetime/datetimevalue/datetimevalue.js +22 -5
- data/js/foundation/eventmanager/eventmanager.js +8 -6
- data/js/foundation/locale_settings/locale_settings.js +7 -0
- data/js/lists/radiobuttonlist/radiobuttonlist.js +4 -2
- data/js/menus/minimenu/minimenu.js +7 -2
- data/lib/conf/argv.rb +1 -130
- data/lib/conf/default.rb +5 -5
- data/lib/plugins/gui_plugin.rb +2 -0
- data/lib/plugins/plugin_plugins.rb +1 -1
- data/lib/rsence.rb +134 -3
- data/plugins/client_pkg/client_pkg.rb +7 -3
- data/plugins/client_pkg/lib/client_pkg_build.rb +2 -1
- metadata +11 -12
- data/js/datetime/timesheet/old_timesheet.js +0 -292
- data/js/datetime/timesheet/themes/default/old_timesheet.css +0 -30
- data/js/datetime/timesheet/themes/default/old_timesheet.html +0 -2
- data/js/datetime/timesheet_item/old_timesheet_item.js +0 -308
- data/js/datetime/timesheet_item/themes/default/old_timesheet_item.css +0 -42
- data/js/datetime/timesheet_item/themes/default/old_timesheet_item.html +0 -8
- data/js/datetime/timesheet_item_edit/old_timesheet_item_edit.js +0 -274
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.2.0.
|
1
|
+
2.2.0.12.pre
|
@@ -23,6 +23,15 @@
|
|
23
23
|
cursor: inherit;
|
24
24
|
background-repeat: no-repeat;
|
25
25
|
}
|
26
|
+
.window_bg, .window_body {
|
27
|
+
opacity: 0.95;
|
28
|
+
}
|
29
|
+
.window_titlebar {
|
30
|
+
opacity: 0.97;
|
31
|
+
}
|
32
|
+
.inactive .window_titlebar {
|
33
|
+
opacity: 0.95;
|
34
|
+
}
|
26
35
|
|
27
36
|
.window_shadow {
|
28
37
|
left: 4px; right: 4px; top: 4px; bottom: 4px;
|
@@ -41,7 +41,8 @@ HCalendar = HControl.extend({
|
|
41
41
|
},
|
42
42
|
|
43
43
|
/** = Description
|
44
|
-
* Simple
|
44
|
+
* Simple clickthrough
|
45
|
+
**/
|
45
46
|
click: function(){
|
46
47
|
return false;
|
47
48
|
},
|
@@ -55,14 +56,16 @@ HCalendar = HControl.extend({
|
|
55
56
|
return;
|
56
57
|
}
|
57
58
|
var _weekdays_localized = this.weekdaysLocalized(),
|
58
|
-
|
59
|
+
_availWidth = this.rect.width-2,
|
60
|
+
_weekdays_width = Math.floor(_availWidth/8),
|
61
|
+
_leftPlus = (_availWidth % 8)-1,
|
59
62
|
_weekdays_html = [],
|
60
63
|
i = 0,
|
61
64
|
_weekdays_html_pre = ['<div style="width:'+_weekdays_width+'px;left:','px">'],
|
62
65
|
_weekdays_html_suf = '</div>';
|
63
66
|
for(;i<_weekdays_localized.length;i++){
|
64
67
|
_weekdays_html.push([
|
65
|
-
_weekdays_html_pre.join(i*_weekdays_width),
|
68
|
+
_weekdays_html_pre.join(i*_weekdays_width+_leftPlus),
|
66
69
|
_weekdays_localized[i],
|
67
70
|
_weekdays_html_suf
|
68
71
|
].join('') );
|
@@ -132,6 +135,86 @@ HCalendar = HControl.extend({
|
|
132
135
|
},
|
133
136
|
viewMonth: [1970,0],
|
134
137
|
|
138
|
+
monthMenu: function(){
|
139
|
+
if(!HPopupMenu){
|
140
|
+
console.log('HPopupMenu not included; cannot continue');
|
141
|
+
return;
|
142
|
+
}
|
143
|
+
var
|
144
|
+
_calendar = this,
|
145
|
+
_menu = HMiniMenu.extend({
|
146
|
+
refreshValue: function(){
|
147
|
+
this.base();
|
148
|
+
if( this._killAfterRefresh ){
|
149
|
+
this._killAfterRefresh = false;
|
150
|
+
var _menu = this;
|
151
|
+
_calendar.setValue( _calendar.setMonth( this.value ) );
|
152
|
+
if( _calendar.month() !== this.value ){
|
153
|
+
_calendar.setValue( _calendar.setMday( 30 ) );
|
154
|
+
_calendar.setValue( _calendar.setMonth( this.value ) );
|
155
|
+
}
|
156
|
+
if( _calendar.month() !== this.value ){
|
157
|
+
_calendar.setValue( _calendar.setMday( 29 ) );
|
158
|
+
_calendar.setValue( _calendar.setMonth( this.value ) );
|
159
|
+
}
|
160
|
+
if( _calendar.month() !== this.value ){
|
161
|
+
_calendar.setValue( _calendar.setMday( 28 ) );
|
162
|
+
_calendar.setValue( _calendar.setMonth( this.value ) );
|
163
|
+
}
|
164
|
+
COMM.Queue.push( function(){_menu.die();} );
|
165
|
+
}
|
166
|
+
},
|
167
|
+
_killAfterRefresh: false,
|
168
|
+
menuHide: function(){
|
169
|
+
this.base();
|
170
|
+
var _menu = this;
|
171
|
+
_menu._killAfterRefresh = true;
|
172
|
+
COMM.Queue.push( function(){_menu._killAfterRefresh && _menu.refreshValue();} );
|
173
|
+
return true;
|
174
|
+
}
|
175
|
+
}).nu( [24, 0, Math.round(this.rect.width*0.66)-24, 20 ], this, {
|
176
|
+
value: this.month(),
|
177
|
+
initialVisibility: true
|
178
|
+
} ),
|
179
|
+
_monthValues = [],
|
180
|
+
i = 0,
|
181
|
+
_monthNames = HLocale.dateTime.strings.monthsLong;
|
182
|
+
for(;i<_monthNames.length;i++){
|
183
|
+
_monthValues.push( [ i, _monthNames[i] ] );
|
184
|
+
}
|
185
|
+
_menu.setListItems( _monthValues );
|
186
|
+
},
|
187
|
+
|
188
|
+
yearMenu: function(){
|
189
|
+
var
|
190
|
+
_calendar = this,
|
191
|
+
_year = HNumericTextControl.extend({
|
192
|
+
refreshValue: function(){
|
193
|
+
this.base();
|
194
|
+
_calendar.setValue( _calendar.setYear( this.value ) );
|
195
|
+
},
|
196
|
+
textBlur: function(){
|
197
|
+
this.base();
|
198
|
+
COMM.Queue.push( function(){_year.die();} );
|
199
|
+
},
|
200
|
+
textEnter: function(){
|
201
|
+
this.base();
|
202
|
+
if( ( EVENT.status[ EVENT.keysDown ].indexOf( 13 ) !== -1 ) || ( EVENT.status[ EVENT.keysDown ].length === 0 ) ){
|
203
|
+
ELEM.get( this.markupElemIds.value ).blur();
|
204
|
+
}
|
205
|
+
}
|
206
|
+
}).nu(
|
207
|
+
HRect.nu(this.rect.width/2,0,this.rect.width-32,20),
|
208
|
+
this, {
|
209
|
+
value: this.year(),
|
210
|
+
minValue: -38399,
|
211
|
+
maxValue: 38400,
|
212
|
+
focusOnCreate: true,
|
213
|
+
refreshOnInput: false
|
214
|
+
}
|
215
|
+
);
|
216
|
+
},
|
217
|
+
|
135
218
|
/** = Description
|
136
219
|
* Draws the calendar with the date open given as input.
|
137
220
|
*
|
@@ -146,10 +229,13 @@ HCalendar = HControl.extend({
|
|
146
229
|
_monthLast = this.lastDateOfMonth(_date),
|
147
230
|
_firstDate = _calendarDateRange[0],
|
148
231
|
_lastDate = _calendarDateRange[1],
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
232
|
+
_availWidth = this.rect.width-2,
|
233
|
+
_availHeight = this.rect.height-36,
|
234
|
+
_leftPlus = (_availWidth%8)-2,
|
235
|
+
_topPlus = _availHeight%6,
|
236
|
+
_column_width = Math.floor(_availWidth/8),
|
237
|
+
_row_height = Math.floor(_availHeight/6),
|
238
|
+
_week_html_pre = ['<div class="calendar_weeks_week_row" style="width:'+(_availWidth)+'px;height:'+_row_height+'px;top:','px">'],
|
153
239
|
_week_html_suf = '</div>',
|
154
240
|
_col_html_pre = ['<a href="javascript:void(HSystem.views['+this.viewId+'].setValue(','));" class="calendar_weeks_week_col','" style="width:'+_column_width+'px;height:'+_row_height+'px;line-height:'+_row_height+'px;left:','px">'],
|
155
241
|
_col_html_suf = '</a>',
|
@@ -163,6 +249,7 @@ HCalendar = HControl.extend({
|
|
163
249
|
_colMs,
|
164
250
|
_colSecs,
|
165
251
|
_colDate,
|
252
|
+
_monthYearHTML,
|
166
253
|
_extraCssClass;
|
167
254
|
for(; _row<6; _row++){
|
168
255
|
_week_html = [];
|
@@ -190,7 +277,7 @@ HCalendar = HControl.extend({
|
|
190
277
|
_col_html_pre[1],
|
191
278
|
_extraCssClass,
|
192
279
|
_col_html_pre[2],
|
193
|
-
(_col*_column_width),
|
280
|
+
(_col*_column_width+_leftPlus),
|
194
281
|
_col_html_pre[3],
|
195
282
|
this.mday(_colDate),
|
196
283
|
_col_html_suf
|
@@ -199,13 +286,24 @@ HCalendar = HControl.extend({
|
|
199
286
|
_week_html.push(_col_html);
|
200
287
|
}
|
201
288
|
_month_html.push([
|
202
|
-
_week_html_pre.join(_row*_row_height),
|
289
|
+
_week_html_pre.join(_row*_row_height+_topPlus),
|
203
290
|
_week_html.join(''),
|
204
291
|
_week_html_suf
|
205
292
|
].join('') );
|
206
293
|
}
|
207
|
-
ELEM.setHTML(this.markupElemIds.value, _month_html.join(''));
|
208
|
-
|
294
|
+
ELEM.setHTML( this.markupElemIds.value, _month_html.join('') );
|
295
|
+
_monthYearHTML = [
|
296
|
+
'<a href="javascript:void(HSystem.views[',
|
297
|
+
this.viewId,
|
298
|
+
'].monthMenu());">',
|
299
|
+
this.monthName(_date),
|
300
|
+
'</a> <a href="javascript:void(HSystem.views[',
|
301
|
+
this.viewId,
|
302
|
+
'].yearMenu());">',
|
303
|
+
this.year(_date),
|
304
|
+
'</a>'
|
305
|
+
].join('');
|
306
|
+
ELEM.setHTML( this.markupElemIds.state, _monthYearHTML );
|
209
307
|
this.viewMonth = [_monthFirst.getUTCFullYear(),_monthFirst.getUTCMonth()];
|
210
308
|
}
|
211
309
|
});
|
@@ -1,7 +1,6 @@
|
|
1
1
|
.calendar_control {
|
2
2
|
position: absolute;
|
3
|
-
left: 0px; top: 0px; right:
|
4
|
-
border: 1px solid #999;
|
3
|
+
left: 0px; top: 0px; right: 0px; bottom: 0px;
|
5
4
|
}
|
6
5
|
.calendar_head {
|
7
6
|
position: absolute;
|
@@ -85,11 +84,8 @@
|
|
85
84
|
}
|
86
85
|
.calendar_weeks_week_col_no {
|
87
86
|
color: #666;
|
88
|
-
border-left: 1px solid #999;
|
89
|
-
border-top: 1px solid #999;
|
90
87
|
}
|
91
88
|
.calendar_weeks_week_col_no:hover {
|
92
|
-
background-color: #fff;
|
93
89
|
color: #000;
|
94
90
|
}
|
95
91
|
.calendar_weeks_week_col_yes,
|
@@ -97,11 +93,97 @@
|
|
97
93
|
color: #000;
|
98
94
|
background-color: #ddd;
|
99
95
|
font-weight: bold;
|
100
|
-
border
|
101
|
-
border-top: 1px solid #666;
|
96
|
+
border: 1px solid #666;
|
102
97
|
}
|
103
98
|
.calendar_weeks_week_col_sel,
|
104
99
|
.calendar_weeks_week_col_yes:hover {
|
105
100
|
background-color: #fff;
|
106
101
|
}
|
102
|
+
.calendar_bg {
|
103
|
+
position: absolute;
|
104
|
+
left: -1px; right: -1px;
|
105
|
+
top: -1px; bottom: -2px;
|
106
|
+
}
|
107
|
+
.calendar_bg * {
|
108
|
+
position: absolute;
|
109
|
+
font-size: 0; line-height: 0; /* ie bug work-arounds */
|
110
|
+
}
|
111
|
+
.disabled > .calendar_bg {
|
112
|
+
opacity: 0.9;
|
113
|
+
}
|
114
|
+
.calendar_bg .calendar_nw,
|
115
|
+
.calendar_bg .calendar_n,
|
116
|
+
.calendar_bg .calendar_ne,
|
117
|
+
.calendar_bg .calendar_sw,
|
118
|
+
.calendar_bg .calendar_s,
|
119
|
+
.calendar_bg .calendar_se {
|
120
|
+
height: 12px;
|
121
|
+
background-image: #{this.getCssFilePath('calendar_parts1.png')};
|
122
|
+
}
|
123
|
+
.calendar_bg .calendar_c {
|
124
|
+
left: 12px; right: 12px; top: 12px; bottom: 12px;
|
125
|
+
background-color: #fbfafb;
|
126
|
+
/* background-image: #{this.getCssFilePath('calendar_bg.png')};*/
|
127
|
+
}
|
128
|
+
.calendar_bg .calendar_w,
|
129
|
+
.calendar_bg .calendar_e {
|
130
|
+
top: 12px; bottom: 12px;
|
131
|
+
width: 12px;
|
132
|
+
background-image: #{this.getCssFilePath('calendar_parts2.png')};
|
133
|
+
}
|
134
|
+
.calendar_bg .calendar_n,
|
135
|
+
.calendar_bg .calendar_s {
|
136
|
+
left: 12px; right: 12px;
|
137
|
+
}
|
138
|
+
.calendar_bg .calendar_nw,
|
139
|
+
.calendar_bg .calendar_ne,
|
140
|
+
.calendar_bg .calendar_sw,
|
141
|
+
.calendar_bg .calendar_se {
|
142
|
+
width: 12px;
|
143
|
+
}
|
144
|
+
.calendar_bg .calendar_nw,
|
145
|
+
.calendar_bg .calendar_n,
|
146
|
+
.calendar_bg .calendar_ne {
|
147
|
+
top: 0px;
|
148
|
+
}
|
149
|
+
.calendar_bg .calendar_sw,
|
150
|
+
.calendar_bg .calendar_s,
|
151
|
+
.calendar_bg .calendar_se {
|
152
|
+
bottom: 0px;
|
153
|
+
}
|
154
|
+
.calendar_bg .calendar_nw,
|
155
|
+
.calendar_bg .calendar_w,
|
156
|
+
.calendar_bg .calendar_sw {
|
157
|
+
left: 0px;
|
158
|
+
}
|
159
|
+
.calendar_bg .calendar_ne,
|
160
|
+
.calendar_bg .calendar_e,
|
161
|
+
.calendar_bg .calendar_se {
|
162
|
+
right: 0px;
|
163
|
+
}
|
164
|
+
.calendar_bg .calendar_nw {
|
165
|
+
background-position: 0px 0px;
|
166
|
+
}
|
167
|
+
.calendar_bg .calendar_n {
|
168
|
+
background-position: 0px -24px;
|
169
|
+
}
|
170
|
+
.calendar_bg .calendar_ne {
|
171
|
+
background-position: -12px 0px;
|
172
|
+
}
|
173
|
+
.calendar_bg .calendar_sw {
|
174
|
+
background-position: 0px -12px;
|
175
|
+
}
|
176
|
+
.calendar_bg .calendar_s {
|
177
|
+
background-position: 0px -36px;
|
178
|
+
}
|
179
|
+
.calendar_bg .calendar_se {
|
180
|
+
background-position: -12px -12px;
|
181
|
+
}
|
182
|
+
.calendar_bg .calendar_w {
|
183
|
+
background-position: 0px 0px;
|
184
|
+
}
|
185
|
+
.calendar_bg .calendar_e {
|
186
|
+
background-position: -12px 0px;
|
187
|
+
}
|
188
|
+
|
107
189
|
|
@@ -1,3 +1,14 @@
|
|
1
|
+
<div class="calendar_bg">
|
2
|
+
<div class="calendar_nw"></div>
|
3
|
+
<div class="calendar_n"></div>
|
4
|
+
<div class="calendar_ne"></div>
|
5
|
+
<div class="calendar_w"></div>
|
6
|
+
<div class="calendar_c"></div>
|
7
|
+
<div class="calendar_e"></div>
|
8
|
+
<div class="calendar_sw"></div>
|
9
|
+
<div class="calendar_s"></div>
|
10
|
+
<div class="calendar_se"></div>
|
11
|
+
</div>
|
1
12
|
<div class="calendar_control" id="control#{_ID}">
|
2
13
|
<div class="calendar_head">
|
3
14
|
<div class="calendar_head_prev_month" onclick="HSystem.views[#{this.viewId}].prevMonth();"></div>
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -16,10 +16,6 @@ HDateTime = HClass.extend({
|
|
16
16
|
msDay: 86400000,
|
17
17
|
msHour: 3600000,
|
18
18
|
msMinute: 60000,
|
19
|
-
months_localized: [
|
20
|
-
'January', 'February', 'March', 'April', 'May', 'June', 'July',
|
21
|
-
'August', 'September', 'October', 'November', 'December'
|
22
|
-
],
|
23
19
|
|
24
20
|
/** = Description
|
25
21
|
* Returns month name of the given date.
|
@@ -33,7 +29,7 @@ HDateTime = HClass.extend({
|
|
33
29
|
**/
|
34
30
|
monthName: function(_date){
|
35
31
|
_date = (_date instanceof Date)?_date:this.date();
|
36
|
-
return
|
32
|
+
return HLocale.dateTime.strings.monthsLong[_date.getUTCMonth()];
|
37
33
|
},
|
38
34
|
|
39
35
|
/** = Description
|
@@ -77,6 +73,13 @@ HDateTime = HClass.extend({
|
|
77
73
|
return _date.getUTCDate();
|
78
74
|
},
|
79
75
|
|
76
|
+
setMday: function( _mday ){
|
77
|
+
var
|
78
|
+
_date = this.date();
|
79
|
+
_date.setUTCDate( _mday );
|
80
|
+
return Math.round( _date.getTime()/1000 );
|
81
|
+
},
|
82
|
+
|
80
83
|
/** = Description
|
81
84
|
* Returns month number for the date given as input.
|
82
85
|
* Note that months are numbered from 0 to 11.
|
@@ -93,6 +96,13 @@ HDateTime = HClass.extend({
|
|
93
96
|
return _date.getUTCMonth();
|
94
97
|
},
|
95
98
|
|
99
|
+
setMonth: function( _month ){
|
100
|
+
var
|
101
|
+
_date = this.date();
|
102
|
+
_date.setUTCMonth( _month );
|
103
|
+
return Math.round( _date.getTime()/1000 );
|
104
|
+
},
|
105
|
+
|
96
106
|
/** = Description
|
97
107
|
* Returns year for given date.
|
98
108
|
*
|
@@ -108,6 +118,13 @@ HDateTime = HClass.extend({
|
|
108
118
|
return _date.getUTCFullYear();
|
109
119
|
},
|
110
120
|
|
121
|
+
setYear: function( _year ){
|
122
|
+
var
|
123
|
+
_date = this.date();
|
124
|
+
_date.setUTCFullYear( _year );
|
125
|
+
return Math.round( _date.getTime()/1000 );
|
126
|
+
},
|
127
|
+
|
111
128
|
/** = Description
|
112
129
|
* Returns the timezone offset in milliseconds.
|
113
130
|
*
|
@@ -750,14 +750,16 @@ EVENT = {
|
|
750
750
|
// if it's no longer the active control.
|
751
751
|
_prevActiveCtrl = _this.activeControl;
|
752
752
|
// Did the active control change?
|
753
|
-
if (_ctrl && (_ctrl !== _prevActiveCtrl) && (_ctrl._gainedActiveStatus || _prevActiveCtrl._lostActiveStatus)) {
|
753
|
+
if (_ctrl && (_ctrl !== _prevActiveCtrl) && (_ctrl._gainedActiveStatus || (_prevActiveCtrl && _prevActiveCtrl._lostActiveStatus))) {
|
754
754
|
if (_prevActiveCtrl && _prevActiveCtrl._lostActiveStatus) {
|
755
755
|
// Previously active control just lost the active status.
|
756
|
-
_prevActiveCtrl
|
757
|
-
|
758
|
-
|
759
|
-
|
760
|
-
|
756
|
+
if( _prevActiveCtrl ){
|
757
|
+
_prevActiveCtrl.active = false;
|
758
|
+
_prevActiveCtrl._lostActiveStatus(_ctrl);
|
759
|
+
if(_this.focusTrace){
|
760
|
+
_prevActiveCtrl.setStyle('border','2px solid green');
|
761
|
+
_this.prevActiveCtrl && _this.prevActiveCtrl.setStyle('border','2px solid blue');
|
762
|
+
}
|
761
763
|
}
|
762
764
|
_this.prevActiveCtrl = _prevActiveCtrl;
|
763
765
|
}
|
@@ -13,6 +13,13 @@ HLocale = {
|
|
13
13
|
},
|
14
14
|
dateTime: {
|
15
15
|
strings: {
|
16
|
+
monthsLong: [
|
17
|
+
'January', 'February', 'March', 'April', 'May', 'June', 'July',
|
18
|
+
'August', 'September', 'October', 'November', 'December'
|
19
|
+
],
|
20
|
+
monthsShort: [
|
21
|
+
'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'
|
22
|
+
],
|
16
23
|
weekDaysLong: [ 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' ],
|
17
24
|
weekDaysShort: [ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' ],
|
18
25
|
weekLong: 'Week',
|
@@ -83,8 +83,10 @@ HRadioButtonList = HControl.extend({
|
|
83
83
|
}
|
84
84
|
this.radioButtonIndexValue && this.radioButtonIndexValue.die();
|
85
85
|
this.listItems = null;
|
86
|
-
|
87
|
-
this.listItemViews
|
86
|
+
if( this.listItemViews ){
|
87
|
+
for(var i=0;i<this.listItemViews.length;i++){
|
88
|
+
this.listItemViews[i].die();
|
89
|
+
}
|
88
90
|
}
|
89
91
|
this.listItemViews = null;
|
90
92
|
this.radioButtonIndexValue && this.radioButtonIndexValue.die();
|
@@ -21,7 +21,7 @@ HMiniMenu = HRadioButtonList.extend({
|
|
21
21
|
click: true
|
22
22
|
},
|
23
23
|
|
24
|
-
|
24
|
+
subComponentHeight: 15,
|
25
25
|
|
26
26
|
repositionMenuItems: function(){
|
27
27
|
var
|
@@ -108,7 +108,8 @@ HMiniMenu = HRadioButtonList.extend({
|
|
108
108
|
},
|
109
109
|
|
110
110
|
drawSubviews: function(){
|
111
|
-
var
|
111
|
+
var
|
112
|
+
itemStyle = {
|
112
113
|
'background-color': '#f6f6f6',
|
113
114
|
'border': '1px solid #999',
|
114
115
|
'overflow': 'auto',
|
@@ -130,6 +131,10 @@ HMiniMenu = HRadioButtonList.extend({
|
|
130
131
|
this.base(listItems);
|
131
132
|
this.valueMatrix = this.menuItemView.valueMatrix;
|
132
133
|
this.refreshValue();
|
134
|
+
if( this.options.initialVisibility ){
|
135
|
+
EVENT.changeActiveControl(this);
|
136
|
+
this.menuShow();
|
137
|
+
}
|
133
138
|
},
|
134
139
|
|
135
140
|
createComponent: function( i, _label ){
|
data/lib/conf/argv.rb
CHANGED
@@ -6,38 +6,8 @@
|
|
6
6
|
# with this software package. If not, contact licensing@riassence.com
|
7
7
|
##
|
8
8
|
|
9
|
-
# Includes the Signal Communication utility.
|
10
|
-
# Used to respond via special PID files in the run directory of the environment
|
11
|
-
require 'daemon/sigcomm'
|
12
|
-
|
13
|
-
|
14
9
|
module RSence
|
15
|
-
|
16
|
-
# @private Returns true, if platform fully supports POSIX standard signals.
|
17
|
-
def self.pid_support?
|
18
|
-
# true for non-windows
|
19
|
-
return (not ['i386-mingw32','x86-mingw32'].include?(RUBY_PLATFORM))
|
20
|
-
end
|
21
|
-
|
22
|
-
# @private Returns true, if platform is linux
|
23
|
-
def self.linux?
|
24
|
-
return RUBY_PLATFORM.end_with?('-linux')
|
25
|
-
end
|
26
|
-
|
27
|
-
# @private Returns true, if platform is Mac OS X
|
28
|
-
def self.darwin?
|
29
|
-
return RUBY_PLATFORM.include?('-darwin')
|
30
|
-
end
|
31
|
-
|
32
|
-
# @private Returns signal name that resembles INFO or PWR (extra signal to poll for server status)
|
33
|
-
def self.info_signal_name
|
34
|
-
if self.linux?
|
35
|
-
return 'PWR'
|
36
|
-
else
|
37
|
-
return 'INFO'
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
10
|
+
|
41
11
|
# @private ARGVParser is the "user interface" as a command-line argument parser.
|
42
12
|
# It parses the command-line arguments and sets up things accordingly.
|
43
13
|
class ARGVParser
|
@@ -832,105 +802,6 @@ module RSence
|
|
832
802
|
|
833
803
|
end
|
834
804
|
|
835
|
-
# @private This accessor enables RSence.argv method, which returns the ARGVParser instance
|
836
|
-
def self.argv; @@argv_parser; end
|
837
|
-
|
838
|
-
# @private This accessor enables RSence.cmd method, which returns the command the process was started with.
|
839
|
-
def self.cmd; @@argv_parser.cmd; end
|
840
|
-
|
841
|
-
# Command line options parsed
|
842
|
-
# @return [Hash] Parsed command-line options:
|
843
|
-
# *Key* (Symbol):: *Value*
|
844
|
-
# +:env_path+:: (String) The directory of the environment.
|
845
|
-
# +:conf_files+:: (Array of Strings) Additional configuration files given with the +--conf+ command-line option. Default is +[]+.
|
846
|
-
# +:debug+:: (true or false) True, if the +-d+ or +--debug+ command-line option was given. Default is false.
|
847
|
-
# +:verbose+:: (true or false) True, if the +-v+ or +--verbose+ command-line option was given. Default is false.
|
848
|
-
# +:log_fg+:: (true or false) True, if the +-f+ or +--log-fg+ command-line option was given. Default is false.
|
849
|
-
# +:trace_js+:: (true or false) True, if the +--trace-js+ command-line option was given. Default is false.
|
850
|
-
# +:trace_delegate+:: (true or false) True, if the +--trace-delegate+ command-line option was given. Default is false.
|
851
|
-
# +:port+:: (String or nil) The TCP port number given with the +--port+ command-line option. Default is nil.
|
852
|
-
# +:addr+:: (String or nil) The TCP bind address given with the +--addr+ command-line option. Default is nil.
|
853
|
-
# +:server+:: (String or nil) The Rack http server handler given with the +--server+ command-line option. Default is nil.
|
854
|
-
# +:reset_ses+:: (true or false) True, if the +-r+ or +--reset-sessions+ command-line option was given. Default is false.
|
855
|
-
# +:autoupdate+:: (true or false) True, if the +-a+ or +--auto-update+ command-line option was given. Default is false.
|
856
|
-
# +:latency+:: (Number) Amount of milliseconds to sleep in each request given with the +--latency+ command-line option. Default is 0.
|
857
|
-
# +:say+:: (true or false) True, if the +-S+ or +--say+ command-line option was given. Default is false.
|
858
|
-
def self.args; @@argv_parser.args; end
|
859
|
-
|
860
|
-
# @private This accessor enables RSence.startable? method, which returns true if a start-type command was given.
|
861
|
-
def self.startable?; @@argv_parser.startable?; end
|
862
|
-
|
863
|
-
# @return [String] The version of RSence
|
864
|
-
def self.version; @@argv_parser.version; end
|
865
|
-
|
866
|
-
# @private This accessor enables RSence.startup method, which starts RSence.
|
867
|
-
def self.startup
|
868
|
-
puts "Loading configuration..." if self.args[:verbose]
|
869
|
-
# Use the default configuration:
|
870
|
-
require 'conf/default'
|
871
|
-
@@config = Configuration.new(self.args).config
|
872
|
-
|
873
|
-
# RSence runtime configuration data
|
874
|
-
# @return [Hash] the active configuration structure as defined by the {file:default_conf default configuration} and overridden by local configuration files.
|
875
|
-
def self.config
|
876
|
-
@@config
|
877
|
-
end
|
878
|
-
|
879
|
-
def self.transporter
|
880
|
-
@@transporter
|
881
|
-
end
|
882
|
-
def self.transporter=(transporter)
|
883
|
-
if class_variable_defined?(:'@@transporter')
|
884
|
-
warn "WARN: Transporter already set."
|
885
|
-
return
|
886
|
-
else
|
887
|
-
@@transporter = transporter
|
888
|
-
end
|
889
|
-
end
|
890
|
-
|
891
|
-
def self.plugin_manager
|
892
|
-
@@plugin_manager
|
893
|
-
end
|
894
|
-
def self.plugin_manager=(plugin_manager)
|
895
|
-
if class_variable_defined?(:'@@plugin_manager')
|
896
|
-
warn "WARN: @@plugin_manager already set."
|
897
|
-
return
|
898
|
-
else
|
899
|
-
@@plugin_manager = plugin_manager
|
900
|
-
end
|
901
|
-
end
|
902
|
-
|
903
|
-
def self.value_manager
|
904
|
-
@@value_manager
|
905
|
-
end
|
906
|
-
def self.value_manager=(value_manager)
|
907
|
-
if class_variable_defined?(:'@@value_manager')
|
908
|
-
warn "WARN: @@value_manager already set."
|
909
|
-
return
|
910
|
-
else
|
911
|
-
@@value_manager = value_manager
|
912
|
-
end
|
913
|
-
end
|
914
|
-
|
915
|
-
def self.session_manager
|
916
|
-
@@session_manager
|
917
|
-
end
|
918
|
-
def self.session_manager=(session_manager)
|
919
|
-
if class_variable_defined?(:'@@session_manager')
|
920
|
-
warn "WARN: @@session_manager already set."
|
921
|
-
return
|
922
|
-
else
|
923
|
-
@@session_manager = session_manager
|
924
|
-
end
|
925
|
-
end
|
926
|
-
|
927
|
-
## Riassence Daemon controls
|
928
|
-
require 'daemon/daemon'
|
929
|
-
puts "Starting RSence..." if self.args[:verbose]
|
930
|
-
daemon = HTTPDaemon.new
|
931
|
-
daemon.daemonize!
|
932
|
-
end
|
933
|
-
|
934
805
|
# @private The ARGVParser instance and its startup
|
935
806
|
@@argv_parser = ARGVParser.new
|
936
807
|
@@argv_parser.parse( ARGV )
|
data/lib/conf/default.rb
CHANGED
@@ -198,11 +198,11 @@ module RSence
|
|
198
198
|
end
|
199
199
|
end
|
200
200
|
|
201
|
-
if RUBY_VERSION.to_f >= 1.9
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
end
|
201
|
+
# if RUBY_VERSION.to_f >= 1.9
|
202
|
+
# # The encodings mess up compression when using ruby1.9
|
203
|
+
# warn "Disabling gzip support for ruby 1.9" if args[:debug]
|
204
|
+
# config[:no_gzip] = true
|
205
|
+
# end
|
206
206
|
|
207
207
|
# The default address of the index_html plugin
|
208
208
|
unless config[:index_html].has_key?(:respond_address)
|
data/lib/plugins/gui_plugin.rb
CHANGED
@@ -93,6 +93,7 @@ module RSence
|
|
93
93
|
client_pkg.add_src_dir( src_dir )
|
94
94
|
end
|
95
95
|
end
|
96
|
+
sleep 0.1 until client_pkg.ready?
|
96
97
|
client_pkg.add_packages( @client_pkgs[:packages ] ) if @client_pkgs.has_key?(:packages )
|
97
98
|
client_pkg.add_themes( @client_pkgs[:theme_names ] ) if @client_pkgs.has_key?(:theme_names )
|
98
99
|
client_pkg.add_gfx_formats( @client_pkgs[:gfx_formats ] ) if @client_pkgs.has_key?(:gfx_formats )
|
@@ -112,6 +113,7 @@ module RSence
|
|
112
113
|
client_pkg.del_src_dir( src_dir )
|
113
114
|
end
|
114
115
|
end
|
116
|
+
sleep 0.1 until client_pkg.ready?
|
115
117
|
client_pkg.del_reserved_names( @client_pkgs[:reserved_names] ) if @client_pkgs.has_key?(:reserved_names)
|
116
118
|
client_pkg.del_gfx_formats( @client_pkgs[:gfx_formats ] ) if @client_pkgs.has_key?(:gfx_formats )
|
117
119
|
client_pkg.del_themes( @client_pkgs[:theme_names ] ) if @client_pkgs.has_key?(:theme_names )
|
@@ -30,7 +30,7 @@ module RSence
|
|
30
30
|
super
|
31
31
|
@plugin_plugins = RSence::PluginManager.new({
|
32
32
|
:plugin_paths => [ bundle_path('plugins') ],
|
33
|
-
:autoreload =>
|
33
|
+
:autoreload => true,
|
34
34
|
:name_prefix => name_with_manager_s.to_sym,
|
35
35
|
:parent_manager => @plugins,
|
36
36
|
:resolved_deps => [:system]
|