rsence 2.0.4.15 → 2.0.8.19
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/js/comm/transporter/transporter.js +3 -0
- data/js/controls/tab/tab.js +3 -1
- data/js/core/elem/elem.js +12 -8
- data/js/core/event/event.js +5 -2
- data/js/core/rsence_ns/rsence_ns.js +7 -1
- data/js/foundation/control/eventresponder/eventresponder.js +58 -31
- data/js/foundation/eventmanager/eventmanager.js +61 -19
- data/lib/conf/argv.rb +3 -1
- data/lib/plugins/pluginmanager.rb +27 -7
- data/lib/transporter/transporter.rb +19 -13
- data/lib/values/valuemanager.rb +1 -1
- data/plugins/client_pkg/lib/client_pkg_build.rb +12 -1
- data/plugins/index_html/tmpl/index.html +1 -3
- metadata +5 -5
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.0.
|
1
|
+
2.0.8.19
|
@@ -239,6 +239,9 @@ COMM.Transporter = HApplication.extend({
|
|
239
239
|
}
|
240
240
|
// console.log('sync.');
|
241
241
|
this.busy = true;
|
242
|
+
if(window['sesWatcher']){
|
243
|
+
sesWatcher.sesTimeoutValue.set( new Date().getTime() );
|
244
|
+
}
|
242
245
|
var _this = this,
|
243
246
|
_values = COMM.Values.sync(),
|
244
247
|
_sesKey = 'ses_key='+COMM.Session.ses_key,
|
data/js/controls/tab/tab.js
CHANGED
@@ -166,10 +166,12 @@ HTab = HControl.extend({
|
|
166
166
|
if(this.tabTriggerLink&&this.tabLabelElementTagName==='a'){
|
167
167
|
ELEM.setAttr(_tabLabelElemId,'href','javascript:HSystem.views['+this.viewId+'].selectTab('+_tabIdx+');');
|
168
168
|
}
|
169
|
-
else if (this.tabTriggerLink){
|
169
|
+
else if (this.tabTriggerLink && !(BROWSER_TYPE.ie7 || BROWSER_TYPE.ie6)){
|
170
170
|
ELEM.setAttr(_tabLabelElemId,'onclick','HSystem.views['+this.viewId+'].selectTab('+_tabIdx+');');
|
171
171
|
}
|
172
172
|
else {
|
173
|
+
this.tabTriggerLink = false;
|
174
|
+
this.setClick(true);
|
173
175
|
this.tabLabelBounds.push([this.rightmostPx,this.rightmostPx+_labelWidth]);
|
174
176
|
}
|
175
177
|
this.rightmostPx+=_labelWidth;
|
data/js/core/elem/elem.js
CHANGED
@@ -507,18 +507,19 @@ ELEM = {
|
|
507
507
|
**/
|
508
508
|
setOpacity: function(_id, _opacity) {
|
509
509
|
var _this = ELEM;
|
510
|
-
if (_opacity === 1 && BROWSER_TYPE.ie6) {
|
510
|
+
if (_opacity === 1 && (BROWSER_TYPE.ie6 || BROWSER_TYPE.ie7 || BROWSER_TYPE.ie8)) {
|
511
511
|
_this._elements[_id].style.setAttribute('filter', _this.getStyle(_id, 'filter', true).replace(/alpha([^)]*)/gi, ''));
|
512
512
|
}
|
513
513
|
else {
|
514
514
|
if (_opacity < 0.01) {
|
515
515
|
_opacity = 0;
|
516
516
|
}
|
517
|
-
if (BROWSER_TYPE.ie6) {
|
518
|
-
|
517
|
+
if (BROWSER_TYPE.ie6 || BROWSER_TYPE.ie7 || BROWSER_TYPE.ie8) {
|
518
|
+
var _prevAlpha = _this.getStyle(_id, 'filter', true);
|
519
|
+
_this._elements[_id].style.setAttribute('filter', _prevAlpha.replace(/alpha([^)]*)/gi, '') + 'alpha(opacity=' + _opacity * 100 + ')');
|
519
520
|
}
|
520
521
|
else if (BROWSER_TYPE.ie) {
|
521
|
-
|
522
|
+
_this._elements[_id].style.setAttribute('opacity', _opacity);
|
522
523
|
}
|
523
524
|
else {
|
524
525
|
_this._elements[_id].style.setProperty('opacity', _opacity, '');
|
@@ -1097,6 +1098,9 @@ ELEM = {
|
|
1097
1098
|
if ((_key === 'opacity') && _bypass) {
|
1098
1099
|
_retval = _this.getOpacity(_id);
|
1099
1100
|
}
|
1101
|
+
else if (BROWSER_TYPE.ie7 || BROWSER_TYPE.ie8){
|
1102
|
+
_retval = _this._elements[_id].style[_key];
|
1103
|
+
}
|
1100
1104
|
else {
|
1101
1105
|
_retval = document.defaultView.getComputedStyle(_this._elements[_id], null).getPropertyValue(_key);
|
1102
1106
|
}
|
@@ -1125,7 +1129,7 @@ ELEM = {
|
|
1125
1129
|
return $3.toUpperCase() + $4;
|
1126
1130
|
}
|
1127
1131
|
);
|
1128
|
-
_this._elements[_id].currentStyle[_camelName];
|
1132
|
+
_retval = _this._elements[_id].currentStyle[_camelName];
|
1129
1133
|
}
|
1130
1134
|
_cached[_key] = _retval;
|
1131
1135
|
}
|
@@ -1213,10 +1217,10 @@ ELEM = {
|
|
1213
1217
|
|
1214
1218
|
var _this = ELEM;
|
1215
1219
|
|
1216
|
-
if (BROWSER_TYPE.ie6) {
|
1217
|
-
_this.getStyle = _this._getStyleIE;
|
1218
|
-
}
|
1219
1220
|
if (BROWSER_TYPE.ie) {
|
1221
|
+
_this.getStyle = _this._getStyleIE;
|
1222
|
+
// }
|
1223
|
+
// if (BROWSER_TYPE.ie) {
|
1220
1224
|
_this._flushStyleCache = _this._flushStyleCacheIE;
|
1221
1225
|
}
|
1222
1226
|
|
data/js/core/event/event.js
CHANGED
@@ -49,7 +49,7 @@ Event = {
|
|
49
49
|
isLeftClick: function(e) {
|
50
50
|
// IE: left 1, middle 4, right 2
|
51
51
|
if (BROWSER_TYPE.ie) {
|
52
|
-
return (e.button === 1);
|
52
|
+
return (e.button === 1 || e.button === 3 || e.button === 5);
|
53
53
|
}
|
54
54
|
else {
|
55
55
|
return (e.button === 0);
|
@@ -84,7 +84,10 @@ Event = {
|
|
84
84
|
var i,
|
85
85
|
l = Event.observers.length;
|
86
86
|
for (i = 0; i < l; i++) {
|
87
|
-
|
87
|
+
try {
|
88
|
+
Event.stopObserving.apply(this, Event.observers[0]);
|
89
|
+
}
|
90
|
+
catch(e){}
|
88
91
|
}
|
89
92
|
Event.observers = false;
|
90
93
|
},
|
@@ -11,5 +11,11 @@
|
|
11
11
|
// var//RSence
|
12
12
|
// ..into this namespace.
|
13
13
|
// Additional logic for handling the namespaces will however be required.
|
14
|
-
var RSence = {
|
14
|
+
var RSence = {
|
15
|
+
serverConf: function(_clientPrefix,_helloUrl){
|
16
|
+
COMM.ClientPrefix=_clientPrefix;
|
17
|
+
COMM.Transporter.HelloUrl=_helloUrl;
|
18
|
+
HThemeManager.themePath=_clientPrefix+'/themes';
|
19
|
+
}
|
20
|
+
};
|
15
21
|
|
@@ -140,33 +140,22 @@ HEventResponder = HClass.extend({
|
|
140
140
|
setEvents: function(_events) {
|
141
141
|
if(!this.events) {
|
142
142
|
this.events = HClass.extend( {
|
143
|
-
mouseMove:
|
144
|
-
mouseDown:
|
145
|
-
mouseUp:
|
146
|
-
draggable:
|
147
|
-
droppable:
|
148
|
-
keyDown:
|
149
|
-
keyUp:
|
150
|
-
mouseWheel:
|
151
|
-
textEnter:
|
152
|
-
click:
|
153
|
-
resize:
|
154
|
-
|
155
|
-
|
156
|
-
if(_events) {
|
157
|
-
this.events = this.events.extend( _events );
|
143
|
+
mouseMove: false,
|
144
|
+
mouseDown: false,
|
145
|
+
mouseUp: false,
|
146
|
+
draggable: false,
|
147
|
+
droppable: false,
|
148
|
+
keyDown: false,
|
149
|
+
keyUp: false,
|
150
|
+
mouseWheel: false,
|
151
|
+
textEnter: false,
|
152
|
+
click: false,
|
153
|
+
resize: false,
|
154
|
+
doubleClick: false
|
155
|
+
} ).extend( this.defaultEvents ).extend( _events?_events:{} ).nu();
|
158
156
|
}
|
159
157
|
this.events.ctrl = this;
|
160
|
-
|
161
|
-
// var _mmoveStatus = this.events.mouseMove,
|
162
|
-
// _mmoveIndex = EVENT.coordListeners.indexOf(this.elemId);
|
163
|
-
// if (_mmoveStatus && (_mmoveIndex===-1)){
|
164
|
-
// EVENT.coordListeners.push(this.elemId);
|
165
|
-
// }
|
166
|
-
// else if ((!_mmoveStatus) && (_mmoveIndex!==-1)){
|
167
|
-
// EVENT.coordListeners.splice(_mmoveIndex,1);
|
168
|
-
// }
|
169
|
-
EVENT.reg( this, this.events);
|
158
|
+
EVENT.reg( this, this.events );
|
170
159
|
return this;
|
171
160
|
},
|
172
161
|
|
@@ -272,6 +261,24 @@ HEventResponder = HClass.extend({
|
|
272
261
|
return this;
|
273
262
|
},
|
274
263
|
|
264
|
+
/** = Description
|
265
|
+
* Registers or releases event listening for doubleClick events depending on
|
266
|
+
* the value of the flag argument.
|
267
|
+
*
|
268
|
+
* = Parameters
|
269
|
+
* +_flag+:: Set the doubleClick event listening on/off (true/false) for
|
270
|
+
* the component instance.
|
271
|
+
*
|
272
|
+
* = Returns
|
273
|
+
* +self+
|
274
|
+
*
|
275
|
+
**/
|
276
|
+
setDoubleClickable: function(_flag) {
|
277
|
+
this.events.doubleClick = _flag;
|
278
|
+
this.setEvents();
|
279
|
+
return this;
|
280
|
+
},
|
281
|
+
|
275
282
|
/** = Description
|
276
283
|
* Registers or releases event listening for mouseUp events depending on the
|
277
284
|
* value of the flag argument.
|
@@ -402,6 +409,12 @@ HEventResponder = HClass.extend({
|
|
402
409
|
return this.setClickable(_flag);
|
403
410
|
},
|
404
411
|
|
412
|
+
/** Same as +setDoubleClickable+
|
413
|
+
**/
|
414
|
+
setDoubleClick: function(_flag) {
|
415
|
+
return this.setDoubleClickable(_flag);
|
416
|
+
},
|
417
|
+
|
405
418
|
/** = Description
|
406
419
|
* Default focus event responder method. Does nothing by default.
|
407
420
|
* Called when the component gets focus.
|
@@ -498,11 +511,25 @@ HEventResponder = HClass.extend({
|
|
498
511
|
* mouse cursor position.
|
499
512
|
* +y+:: The vertical coordinate units (px) of the
|
500
513
|
* mouse cursor position.
|
501
|
-
* +
|
514
|
+
* +_isLeftButton+:: Boolean flag; false if the right(context) mouse
|
515
|
+
* button is pressed.
|
516
|
+
*
|
517
|
+
**/
|
518
|
+
click: function(x,y,_isLeftButton){},
|
519
|
+
|
520
|
+
/** = Description
|
521
|
+
* Default click event responder method. Does nothing by default.
|
522
|
+
*
|
523
|
+
* = Parameters
|
524
|
+
* +x+:: The horizontal coordinate units (px) of the
|
525
|
+
* mouse cursor position.
|
526
|
+
* +y+:: The vertical coordinate units (px) of the
|
527
|
+
* mouse cursor position.
|
528
|
+
* +_isLeftButton+:: Boolean flag; false if the right(context) mouse
|
502
529
|
* button is pressed.
|
503
530
|
*
|
504
531
|
**/
|
505
|
-
|
532
|
+
doubleClick: function(x,y,_isLeftButton){},
|
506
533
|
|
507
534
|
/** = Description
|
508
535
|
* Default mouseDown event responder method. Does nothing by default.
|
@@ -512,11 +539,11 @@ HEventResponder = HClass.extend({
|
|
512
539
|
* mouse cursor position.
|
513
540
|
* +y+:: The vertical coordinate units (px) of the
|
514
541
|
* mouse cursor position.
|
515
|
-
* +
|
542
|
+
* +_isLeftButton+:: Boolean flag; false if the right(context) mouse
|
516
543
|
* button is pressed.
|
517
544
|
*
|
518
545
|
**/
|
519
|
-
mouseDown: function(x,y,
|
546
|
+
mouseDown: function(x,y,_isLeftButton) {},
|
520
547
|
|
521
548
|
|
522
549
|
/** = Description
|
@@ -527,11 +554,11 @@ HEventResponder = HClass.extend({
|
|
527
554
|
* mouse cursor position.
|
528
555
|
* +y+:: The vertical coordinate units (px) of the
|
529
556
|
* mouse cursor position.
|
530
|
-
* +
|
557
|
+
* +_isLeftButton+:: Boolean flag; false if the right(context) mouse
|
531
558
|
* button is pressed.
|
532
559
|
*
|
533
560
|
**/
|
534
|
-
mouseUp: function(x,y,
|
561
|
+
mouseUp: function(x,y,_isLeftButton) {},
|
535
562
|
|
536
563
|
/** = Description
|
537
564
|
* Default mouseWheel event responder method. Does nothing by default.
|
@@ -27,7 +27,8 @@ EVENT = {
|
|
27
27
|
keyUp: false,
|
28
28
|
mouseWheel: false,
|
29
29
|
resize: false,
|
30
|
-
textEnter: false
|
30
|
+
textEnter: false,
|
31
|
+
doubleClick: false
|
31
32
|
},
|
32
33
|
|
33
34
|
/** = Description
|
@@ -69,7 +70,7 @@ EVENT = {
|
|
69
70
|
* Command, Menu or Start modifier keys being held down.
|
70
71
|
*
|
71
72
|
**/
|
72
|
-
status: [false, false,
|
73
|
+
status: [false, false, -1, -1, [], false, false, false, false, false],
|
73
74
|
|
74
75
|
/** The index in the status array for the left mouse button.
|
75
76
|
**/
|
@@ -152,6 +153,7 @@ EVENT = {
|
|
152
153
|
Event.observe( _globalEventTargetElement, 'contextmenu', _this.contextMenu );
|
153
154
|
Event.observe( _globalEventTargetElement, 'resize', _this.resize );
|
154
155
|
Event.observe( _globalEventTargetElement, 'mousewheel', _this.mouseWheel );
|
156
|
+
Event.observe( _globalEventTargetElement, 'dblclick', _this.doubleClick );
|
155
157
|
// ],
|
156
158
|
// i = 0;
|
157
159
|
// for (; i !== _eventMap.length; i++) {
|
@@ -263,6 +265,10 @@ EVENT = {
|
|
263
265
|
}
|
264
266
|
}
|
265
267
|
Event.observe(_elem, 'mouseover', _this._mouseOver);
|
268
|
+
if(_ctrl.drawn){
|
269
|
+
_this._updateHoverItems();
|
270
|
+
(_this.hovered.length !== 0) && (_this.hovered.indexOf(_ctrl.elemId) === _this.hovered.length-1) && _this.focus(_ctrl);
|
271
|
+
}
|
266
272
|
},
|
267
273
|
|
268
274
|
/** Unregisters the _ctrl object event listeners
|
@@ -275,6 +281,9 @@ EVENT = {
|
|
275
281
|
_this.changeActiveControl(null);
|
276
282
|
}
|
277
283
|
_elemId = _ctrl.elemId;
|
284
|
+
if (_this.focused[_elemId]){
|
285
|
+
_this.blur(_ctrl);
|
286
|
+
}
|
278
287
|
_elem = ELEM.get(_elemId);
|
279
288
|
|
280
289
|
_this._coordCache[_elemId] = null;
|
@@ -297,6 +306,7 @@ EVENT = {
|
|
297
306
|
}
|
298
307
|
if (_elem !== undefined) {
|
299
308
|
Event.stopObserving(_elem, 'mouseover', _this._mouseOver);
|
309
|
+
Event.stopObserving(_elem, 'mouseout', _this._mouseOut);
|
300
310
|
}
|
301
311
|
},
|
302
312
|
|
@@ -517,28 +527,33 @@ EVENT = {
|
|
517
527
|
_elem,
|
518
528
|
_pos,
|
519
529
|
_size,
|
520
|
-
_coords
|
521
|
-
|
530
|
+
_coords,
|
531
|
+
_hovered = [];
|
522
532
|
for (; i !== _this.listeners.length; i++) {
|
523
533
|
if (!_this.listeners[i] || !_this.focusOptions[i].ctrl) {
|
524
534
|
continue;
|
525
535
|
}
|
526
536
|
_ctrl = _this.focusOptions[i].ctrl;
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
537
|
+
if(_ctrl.drawn){
|
538
|
+
_elem = ELEM.get(i);
|
539
|
+
if (!_this._coordCacheFlag || !_this._coordCache[i]) {
|
540
|
+
_pos = ELEM.getVisiblePosition(_ctrl.elemId);
|
541
|
+
// [x,y]
|
542
|
+
_size = ELEM.getVisibleSize(_ctrl.elemId);
|
543
|
+
// [w,h]
|
544
|
+
_this._coordCache[i] = [_pos[0], _pos[1], _size[0], _size[1]];
|
545
|
+
}
|
546
|
+
_coords = _this._coordCache[i];
|
536
547
|
|
537
|
-
|
538
|
-
|
539
|
-
|
548
|
+
// Is the mouse pointer inside the element's rectangle?
|
549
|
+
if (x >= _coords[0] && x <= _coords[0] + _coords[2] && y >= _coords[1] && y <= _coords[1] + _coords[3]) {
|
550
|
+
// console.log('coords:',_coords);
|
551
|
+
_hovered.push(i);
|
552
|
+
}
|
540
553
|
}
|
541
554
|
}
|
555
|
+
// console.log('update hover:',_hovered);
|
556
|
+
_this.hovered = _hovered;
|
542
557
|
},
|
543
558
|
|
544
559
|
/** = Description
|
@@ -674,7 +689,6 @@ EVENT = {
|
|
674
689
|
if(!_isLeftButton){
|
675
690
|
return true;
|
676
691
|
}
|
677
|
-
_this.status[_this.button1] = true;
|
678
692
|
for (; i !== _this.focused.length; i++) {
|
679
693
|
if (_this.focused[i] === true) {
|
680
694
|
// Set the active control to the currently focused item.
|
@@ -703,7 +717,6 @@ EVENT = {
|
|
703
717
|
}
|
704
718
|
}
|
705
719
|
//if(_this.hovered.length!==0){Event.stop(e);}
|
706
|
-
_this.status[_this.button1] = false;
|
707
720
|
return true;
|
708
721
|
},
|
709
722
|
|
@@ -723,13 +736,15 @@ EVENT = {
|
|
723
736
|
_prevActiveCtrl.active = false;
|
724
737
|
_prevActiveCtrl._lostActiveStatus(_ctrl);
|
725
738
|
}
|
726
|
-
_this.activeControl = null;
|
727
739
|
if (_ctrl) {
|
728
740
|
// A new control gained the active status.
|
729
741
|
_ctrl.active = true;
|
730
742
|
_this.activeControl = _ctrl;
|
731
743
|
_ctrl._gainedActiveStatus(_prevActiveCtrl);
|
732
744
|
}
|
745
|
+
else {
|
746
|
+
_this.activeControl = null;
|
747
|
+
}
|
733
748
|
}
|
734
749
|
},
|
735
750
|
|
@@ -797,6 +812,33 @@ EVENT = {
|
|
797
812
|
return true;
|
798
813
|
},
|
799
814
|
|
815
|
+
/** Mid-level double-click manager.
|
816
|
+
* Gets called on the onDoubleClick event.
|
817
|
+
* Delegates the following call to the high-level event receivers of all
|
818
|
+
* enabled controls registered, depending on the events they registered:
|
819
|
+
* - doubleClick
|
820
|
+
*
|
821
|
+
**/
|
822
|
+
doubleClick: function(e) {
|
823
|
+
var _this = EVENT,
|
824
|
+
_didEndDrag = false,
|
825
|
+
x = _this.status[_this.crsrX],
|
826
|
+
y = _this.status[_this.crsrY],
|
827
|
+
_elemId,
|
828
|
+
_ctrl,
|
829
|
+
i = 0;
|
830
|
+
_this._modifiers(e);
|
831
|
+
// Check for mouseUp listeners.
|
832
|
+
for (i = 0; i !== _this.focused.length; i++) {
|
833
|
+
if (_this.focused[i] === true) {
|
834
|
+
if (_this.focusOptions[i].doubleClick === true) {
|
835
|
+
_this.focusOptions[i].ctrl.doubleClick(x, y, true);
|
836
|
+
}
|
837
|
+
}
|
838
|
+
}
|
839
|
+
return true;
|
840
|
+
},
|
841
|
+
|
800
842
|
|
801
843
|
/** Mid-level key press manager.
|
802
844
|
* Gets called on the onKeyDown event.
|
data/lib/conf/argv.rb
CHANGED
@@ -504,14 +504,20 @@ module RSence
|
|
504
504
|
end
|
505
505
|
to_unload.each do |name|
|
506
506
|
next if @deps.category?( name )
|
507
|
-
|
507
|
+
if RSence.args[:verbose]
|
508
|
+
print "Unloading #{name.inspect}..."; STDOUT.flush
|
509
|
+
end
|
508
510
|
unload_bundle( name )
|
511
|
+
puts "done!" if RSence.args[:verbose]
|
509
512
|
end
|
510
513
|
to_reload.each do |name|
|
511
514
|
next if @deps.category?( name )
|
512
|
-
|
515
|
+
if RSence.args[:verbose]
|
516
|
+
print "Unloading #{name.inspect}..."; STDOUT.flush
|
517
|
+
end
|
513
518
|
unload_order = unload_bundle( name )
|
514
519
|
to_load += unload_order
|
520
|
+
puts "done!" if RSence.args[:verbose]
|
515
521
|
end
|
516
522
|
info_map = {}
|
517
523
|
to_load.each do |name|
|
@@ -531,14 +537,18 @@ module RSence
|
|
531
537
|
next if @deps.category?( name )
|
532
538
|
next unless to_load.include?( name )
|
533
539
|
info = info_map[name]
|
534
|
-
if
|
535
|
-
|
536
|
-
|
537
|
-
|
540
|
+
if RSence.args[:verbose]
|
541
|
+
if to_reload.include?( name )
|
542
|
+
print "Reloading #{name.inspect}..."
|
543
|
+
else
|
544
|
+
print "Loading #{name.inspect}..."
|
545
|
+
end
|
546
|
+
STDOUT.flush
|
538
547
|
end
|
539
548
|
@info[name] = info
|
540
549
|
load_bundle( name )
|
541
550
|
to_open.push( name )
|
551
|
+
puts "done!" if RSence.args[:verbose]
|
542
552
|
end
|
543
553
|
unless no_deps.empty?
|
544
554
|
warn "Warning! Unable to load the following bundles; missing dependencies:"
|
@@ -547,8 +557,18 @@ module RSence
|
|
547
557
|
end
|
548
558
|
end
|
549
559
|
to_open.each do |name|
|
550
|
-
|
560
|
+
if RSence.args[:verbose]
|
561
|
+
print "Opening #{name.inspect}..."; STDOUT.flush
|
562
|
+
end
|
551
563
|
call( name, :open )
|
564
|
+
puts "done!" if RSence.args[:verbose]
|
565
|
+
end
|
566
|
+
if not (to_load.empty? and to_unload.empty? and to_reload.empty?)
|
567
|
+
puts "Plugin bundles:"
|
568
|
+
puts " loaded: #{to_load.join(', ')}" unless to_load.empty?
|
569
|
+
puts " unloaded: #{to_unload.join(', ')}" unless to_unload.empty?
|
570
|
+
puts " reloaded: #{to_reload.join(', ')}" unless to_reload.empty?
|
571
|
+
puts " opened: #{to_open.join(', ')}" unless to_open.empty?
|
552
572
|
end
|
553
573
|
end
|
554
574
|
|
@@ -145,19 +145,26 @@ module RSence
|
|
145
145
|
|
146
146
|
# If the session is valid, continue:
|
147
147
|
if msg.ses_valid and response_success
|
148
|
-
|
148
|
+
|
149
149
|
# If cookies are true, it means the url base needs to
|
150
150
|
# be changed from /hello to /x to prevent further cookie juggling.
|
151
151
|
if options[:cookies] and not options[:servlet]
|
152
|
-
|
152
|
+
conf_sync_url = RSence.config[:broker_urls][:x]
|
153
|
+
else
|
154
|
+
conf_sync_url = RSence.config[:broker_urls][:hello]
|
153
155
|
end
|
154
|
-
|
156
|
+
if msg.request.path != conf_sync_url
|
157
|
+
msg.reply("COMM.Transporter.url=#{conf_sync_url.to_json};")
|
158
|
+
end
|
159
|
+
|
155
160
|
# Appends a 'new session.' message for new sessions in RSence.args[:verbose]:
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
+
if RSence.args[:verbose]
|
162
|
+
puts "new session." if msg.new_session
|
163
|
+
puts "restored session." if msg.restored_session
|
164
|
+
puts "clone source." if msg.cloned_targets
|
165
|
+
puts "clone target." if msg.cloned_source
|
166
|
+
end
|
167
|
+
|
161
168
|
## Pass the client XML to the value manager
|
162
169
|
if request.query.has_key?( 'values' )
|
163
170
|
syncdata_str = request.query[ 'values' ]
|
@@ -172,7 +179,6 @@ module RSence
|
|
172
179
|
|
173
180
|
## Calls the restore_ses of plugins, when a session is restored (page reload with previously active session)
|
174
181
|
if msg.restored_session
|
175
|
-
|
176
182
|
msg.session[:deps] = []
|
177
183
|
|
178
184
|
if msg.cloned_source
|
@@ -210,7 +216,7 @@ module RSence
|
|
210
216
|
xhr_traceback_handler( e, "Transporter::PluginDelegateClonedSourceError: @plugins.delegate 'cloned_source' failed." )
|
211
217
|
end
|
212
218
|
end
|
213
|
-
|
219
|
+
|
214
220
|
## Calls validators for changed values
|
215
221
|
begin
|
216
222
|
@valuemanager.validate( msg )
|
@@ -219,7 +225,7 @@ module RSence
|
|
219
225
|
xhr_error_handler( msg, :valuemanager_validate_error, e.message )
|
220
226
|
xhr_traceback_handler( e, "Transporter::ValueManagerValidateError: @valuemanager.validate failed." )
|
221
227
|
end
|
222
|
-
|
228
|
+
|
223
229
|
### Allows every plugin to respond to the idle call
|
224
230
|
begin
|
225
231
|
@plugins.delegate( :idle, msg )
|
@@ -228,7 +234,7 @@ module RSence
|
|
228
234
|
xhr_error_handler( msg, :plugin_idle_error, e.message )
|
229
235
|
xhr_traceback_handler( e, "Transporter::PluginIdleError: @plugins.idle failed." )
|
230
236
|
end
|
231
|
-
|
237
|
+
|
232
238
|
### Processes outgoing values to client
|
233
239
|
begin
|
234
240
|
@valuemanager.sync_client( msg )
|
@@ -237,7 +243,7 @@ module RSence
|
|
237
243
|
xhr_error_handler( msg, :valuemanager_sync_client_error, e.message )
|
238
244
|
xhr_traceback_handler( e, "Transporter::ValueManagerSyncClientError: @valuemanager.sync_client failed." )
|
239
245
|
end
|
240
|
-
|
246
|
+
|
241
247
|
else
|
242
248
|
|
243
249
|
# session is not valid, the error was set in SessionManager
|
data/lib/values/valuemanager.rb
CHANGED
@@ -186,6 +186,9 @@ class ClientPkgBuild
|
|
186
186
|
|
187
187
|
def minimize_data
|
188
188
|
unless @quiet
|
189
|
+
@logger.log( '' )
|
190
|
+
@logger.log( "Client package build report.......................#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}" )
|
191
|
+
@logger.log( '' )
|
189
192
|
@logger.log( "JS Package....................: Original | Minimized | Compressed" )
|
190
193
|
@logger.log( " : | |" )
|
191
194
|
end
|
@@ -234,7 +237,7 @@ class ClientPkgBuild
|
|
234
237
|
|
235
238
|
def build_themes
|
236
239
|
unless @quiet
|
237
|
-
@logger.log(
|
240
|
+
@logger.log( '' )
|
238
241
|
@logger.log( "Theme name and part...........: Original | Minimized | Compressed" )
|
239
242
|
@logger.log( " : | |" )
|
240
243
|
end
|
@@ -277,11 +280,15 @@ class ClientPkgBuild
|
|
277
280
|
unless @quiet
|
278
281
|
print_stat( "#{theme_name}/css", @theme_sizes[theme_name][:css][0], @theme_sizes[theme_name][:css][1], theme_css_template_data_gz.size )
|
279
282
|
print_stat( "#{theme_name}/gfx", @theme_sizes[theme_name][:gfx], -1, -1 )
|
283
|
+
@logger.log( '' )
|
280
284
|
end
|
281
285
|
end
|
282
286
|
end
|
283
287
|
|
284
288
|
def run
|
289
|
+
|
290
|
+
time_start = Time.now.to_f*10000
|
291
|
+
|
285
292
|
# hash of bundles per bundle name per theme; @html_by_theme[theme_name][bundle_name] = bundle_data
|
286
293
|
@html_by_theme = {}
|
287
294
|
@css_by_theme = {}
|
@@ -316,10 +323,14 @@ class ClientPkgBuild
|
|
316
323
|
package_data = package_array.join('')
|
317
324
|
@destination_files[ package_name ] = package_data
|
318
325
|
end
|
326
|
+
|
319
327
|
build_indexes
|
320
328
|
minimize_data
|
321
329
|
build_themes
|
322
330
|
|
331
|
+
ms_taken = ((Time.now.to_f*10000)-time_start).to_i/10.0
|
332
|
+
@logger.log( "Time taken: #{ms_taken}ms\n\n" )
|
333
|
+
|
323
334
|
end
|
324
335
|
|
325
336
|
def setup_dirs
|
@@ -10,8 +10,6 @@ __SCRIPT_DEPS__
|
|
10
10
|
<script>
|
11
11
|
|
12
12
|
/** Runtime configuration: **/
|
13
|
-
|
14
|
-
COMM.Transporter.HelloUrl='__CLIENT_HELLO__';
|
15
|
-
HThemeManager.themePath='__CLIENT_BASE__/themes';
|
13
|
+
RSence.serverConf('__CLIENT_BASE__','__CLIENT_HELLO__');
|
16
14
|
|
17
15
|
</script></head><body id="body"><noscript>__NOSCRIPT__</noscript></body></html>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rsence
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 105
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 2
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
-
|
11
|
-
version: 2.0.
|
9
|
+
- 8
|
10
|
+
- 19
|
11
|
+
version: 2.0.8.19
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- Riassence Inc.
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2010-07-
|
19
|
+
date: 2010-07-26 00:00:00 +03:00
|
20
20
|
default_executable: rsence
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|