rsence-pre 2.1.0.8.pre → 2.1.0.9
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/js/controls/button/button.js +12 -2
- data/js/controls/stepper/stepper.js +12 -19
- data/js/controls/window/window.js +1 -1
- data/js/foundation/control/eventresponder/eventresponder.js +8 -7
- data/js/foundation/eventmanager/eventmanager.js +24 -18
- data/js/foundation/geom/rect/rect.js +1 -1
- data/js/foundation/system/system.js +1 -1
- data/js/foundation/view/view.js +18 -4
- data/js/lists/radiobuttonlist/radiobuttonlist.js +1 -1
- data/js/menus/minimenu/minimenu.js +2 -1
- data/lib/plugins/plugins.rb +9 -0
- metadata +5 -6
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.1.0.
|
1
|
+
2.1.0.9.pre
|
@@ -53,7 +53,12 @@ HClickButton = HButton.extend({
|
|
53
53
|
*
|
54
54
|
**/
|
55
55
|
refreshValue: function(){
|
56
|
-
|
56
|
+
if( this.options.inverseValue ){
|
57
|
+
this.setEnabled( this.value === 1 );
|
58
|
+
}
|
59
|
+
else {
|
60
|
+
this.setEnabled( this.value === 0 );
|
61
|
+
}
|
57
62
|
},
|
58
63
|
/** = Description
|
59
64
|
* Click method, sets the value to disabled if the button is enabled.
|
@@ -61,7 +66,12 @@ HClickButton = HButton.extend({
|
|
61
66
|
**/
|
62
67
|
click: function(){
|
63
68
|
if(this.enabled){
|
64
|
-
this.
|
69
|
+
if( this.options.inverseValue ){
|
70
|
+
this.setValue(0);
|
71
|
+
}
|
72
|
+
else {
|
73
|
+
this.setValue(1);
|
74
|
+
}
|
65
75
|
}
|
66
76
|
}
|
67
77
|
|
@@ -26,6 +26,7 @@ HStepper = HControl.extend({
|
|
26
26
|
|
27
27
|
defaultEvents: {
|
28
28
|
mouseDown: true,
|
29
|
+
click: true,
|
29
30
|
keyDown: true,
|
30
31
|
mouseWheel: true
|
31
32
|
},
|
@@ -101,17 +102,6 @@ HStepper = HControl.extend({
|
|
101
102
|
);
|
102
103
|
},
|
103
104
|
|
104
|
-
// -- Returns an action string for the setInterval in _setRepeatInterval ++
|
105
|
-
_repeatIntervalStr: function( _up ){
|
106
|
-
return [
|
107
|
-
'HSystem.views[',
|
108
|
-
this.viewId,
|
109
|
-
'].step',
|
110
|
-
(_up?'Up':'Down'),
|
111
|
-
'();'
|
112
|
-
].join('');
|
113
|
-
},
|
114
|
-
|
115
105
|
// -- Background-offset of the state images up/down,
|
116
106
|
// overrideable in the html template ++
|
117
107
|
bgStateUp: '0px -23px',
|
@@ -131,15 +121,13 @@ HStepper = HControl.extend({
|
|
131
121
|
_setRepeatInterval: function( _up ){
|
132
122
|
var _this = this,
|
133
123
|
_options = _this.options;
|
124
|
+
_this._repeatInterval && clearInterval( _this._repeatInterval );
|
134
125
|
_this._bgStateOn( _up );
|
135
|
-
|
136
|
-
|
137
|
-
_this.
|
138
|
-
|
139
|
-
|
140
|
-
_this.stepDown();
|
141
|
-
_this._repeatInterval = setInterval( _this._repeatIntervalStr(0), _options.repeatInterval );
|
142
|
-
}
|
126
|
+
_up?_this.stepUp():_this.stepDown();
|
127
|
+
_this._repeatInterval = setInterval(
|
128
|
+
_up?function(){_this.stepUp();}:function(){_this.stepDown();},
|
129
|
+
_options.repeatInterval
|
130
|
+
);
|
143
131
|
},
|
144
132
|
|
145
133
|
// Stops the repeating stepping up or down enabled in _setRepeatInterval
|
@@ -153,6 +141,7 @@ HStepper = HControl.extend({
|
|
153
141
|
mouseDown: function( x, y ){
|
154
142
|
this.setMouseUp(true);
|
155
143
|
this._setRepeatInterval( ( y - ELEM.getVisiblePosition( this.elemId )[1] ) <= 11 );
|
144
|
+
|
156
145
|
},
|
157
146
|
|
158
147
|
/** Stops the repeating stepping, when the mouse button goes up
|
@@ -161,6 +150,10 @@ HStepper = HControl.extend({
|
|
161
150
|
this._clearRepeatInterval();
|
162
151
|
},
|
163
152
|
|
153
|
+
click: function(){
|
154
|
+
this.mouseUp();
|
155
|
+
},
|
156
|
+
|
164
157
|
/** Stops the repeating stepping, when the control becomes inactive
|
165
158
|
**/
|
166
159
|
blur: function(){
|
@@ -241,7 +241,7 @@ HWindow = HDynControl.extend({
|
|
241
241
|
for( ; i < _views.length; i++ ){
|
242
242
|
_view = HSystem.views[_views[i]];
|
243
243
|
_size = ELEM.getSize(_view.elemId);
|
244
|
-
_pos = ELEM.
|
244
|
+
_pos = ELEM.getVisiblePosition(_view.elemId);
|
245
245
|
_right = _size[0]+_pos[0]-this.pageX();
|
246
246
|
_bottom = _size[1]+_pos[1]-this.pageY();
|
247
247
|
if(_right > _fitsRect.width){
|
@@ -174,13 +174,14 @@ HEventResponder = HClass.extend({
|
|
174
174
|
**/
|
175
175
|
setEnabled: function(_flag) {
|
176
176
|
|
177
|
-
var
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
177
|
+
var
|
178
|
+
_this = this,
|
179
|
+
_elemId = this.elemId,
|
180
|
+
_sysViews = HSystem.views,
|
181
|
+
i = 0,
|
182
|
+
_views = _this.views,
|
183
|
+
_view,
|
184
|
+
_viewsLen = _views.length;
|
184
185
|
|
185
186
|
// Enable/disable the children first.
|
186
187
|
for (; i < _viewsLen; i++) {
|
@@ -210,21 +210,23 @@ EVENT = {
|
|
210
210
|
/** Registers the _ctrl object by event listener flags in _focusOptions.
|
211
211
|
**/
|
212
212
|
reg: function(_ctrl, _focusOptions) {
|
213
|
-
var
|
214
|
-
_elem,
|
215
|
-
_this = EVENT,
|
216
|
-
_propIn;
|
213
|
+
var
|
217
214
|
// Binds the class to the element (so it can be called on the event)
|
218
|
-
_elemId = _ctrl.elemId
|
219
|
-
_elem = ELEM.get(_elemId)
|
215
|
+
_elemId = _ctrl.elemId,
|
216
|
+
_elem = ELEM.get(_elemId),
|
217
|
+
_this = EVENT,
|
218
|
+
_propIn,
|
219
|
+
_init = ( _this.listeners[_elemId] === undefined || _this.listeners[_elemId] === false );
|
220
220
|
if (BROWSER_TYPE.ie) {
|
221
221
|
_elem.setAttribute('ctrl', _ctrl);
|
222
222
|
}
|
223
223
|
else {
|
224
224
|
_elem.ctrl = _ctrl;
|
225
225
|
}
|
226
|
-
|
227
|
-
|
226
|
+
if(_init){
|
227
|
+
_this.listeners[_elemId] = true;
|
228
|
+
_this.focused[_elemId] = false;
|
229
|
+
}
|
228
230
|
for (_propIn in _this._defaultFocusOptions) {
|
229
231
|
if (_focusOptions[_propIn] === undefined) {
|
230
232
|
_focusOptions[_propIn] = _defaultFocusOptions[_propIn];
|
@@ -264,7 +266,9 @@ EVENT = {
|
|
264
266
|
_this.resizeListeners.splice(_resizeIndex,1);
|
265
267
|
}
|
266
268
|
}
|
267
|
-
|
269
|
+
if(_init){
|
270
|
+
Event.observe(_elem, 'mouseover', _this._mouseOver);
|
271
|
+
}
|
268
272
|
if(_ctrl.drawn){
|
269
273
|
_this._updateHoverItems();
|
270
274
|
(_this.hovered.length !== 0) && (_this.hovered.indexOf(_ctrl.elemId) === _this.hovered.length-1) && _this.focus(_ctrl);
|
@@ -274,9 +278,10 @@ EVENT = {
|
|
274
278
|
/** Unregisters the _ctrl object event listeners
|
275
279
|
**/
|
276
280
|
unreg: function(_ctrl) {
|
277
|
-
var
|
278
|
-
|
279
|
-
|
281
|
+
var
|
282
|
+
_this = EVENT,
|
283
|
+
_elemId,
|
284
|
+
_elem;
|
280
285
|
if (_ctrl === this.activeControl) {
|
281
286
|
_this.changeActiveControl(null);
|
282
287
|
}
|
@@ -734,7 +739,7 @@ EVENT = {
|
|
734
739
|
// if it's no longer the active control.
|
735
740
|
_prevActiveCtrl = _this.activeControl;
|
736
741
|
// Did the active control change?
|
737
|
-
if ((_ctrl !== _prevActiveCtrl) && (_ctrl._gainedActiveStatus || _prevActiveCtrl._lostActiveStatus)) {
|
742
|
+
if (_ctrl && (_ctrl !== _prevActiveCtrl) && (_ctrl._gainedActiveStatus || _prevActiveCtrl._lostActiveStatus)) {
|
738
743
|
if (_prevActiveCtrl && _prevActiveCtrl._lostActiveStatus) {
|
739
744
|
// Previously active control just lost the active status.
|
740
745
|
_prevActiveCtrl.active = false;
|
@@ -785,7 +790,7 @@ EVENT = {
|
|
785
790
|
for (; i !== _this.dragItems.length; i++) {
|
786
791
|
_elemId = _this.dragItems[i];
|
787
792
|
_ctrl = _this.focusOptions[_elemId].ctrl;
|
788
|
-
_ctrl.endDrag(x, y,_isLeftButton);
|
793
|
+
_ctrl.endDrag(x, y, _isLeftButton);
|
789
794
|
_didEndDrag = true;
|
790
795
|
// If the mouse slipped off the dragged item before the mouse button was released, blur the item manually
|
791
796
|
if (_this.enableDroppableChecks) {
|
@@ -808,10 +813,11 @@ EVENT = {
|
|
808
813
|
document.onselectstart = _this._storedOnSelectStart;
|
809
814
|
}
|
810
815
|
// Check for mouseUp listeners.
|
811
|
-
for (i = 0; i
|
816
|
+
for (i = 0; i < _this.focused.length; i++) {
|
812
817
|
if (_this.focused[i] === true) {
|
818
|
+
_ctrl = _this.focusOptions[i].ctrl;
|
813
819
|
if (_this.focusOptions[i].mouseUp === true) {
|
814
|
-
|
820
|
+
_ctrl.mouseUp(x, y, _isLeftButton);
|
815
821
|
}
|
816
822
|
}
|
817
823
|
}
|
@@ -860,7 +866,7 @@ EVENT = {
|
|
860
866
|
keyDown: function(e) {
|
861
867
|
var _this = EVENT,
|
862
868
|
_theKeyCode = e.keyCode,
|
863
|
-
_keyDownStateForActiveControl = _this.activeControl?_this.focusOptions[_this.activeControl.elemId].keyDown:false,
|
869
|
+
_keyDownStateForActiveControl = _this.activeControl?(_this.focusOptions[_this.activeControl.elemId]?_this.focusOptions[_this.activeControl.elemId].keyDown:false):false,
|
864
870
|
_repeat = (_keyDownStateForActiveControl === 'repeat'),
|
865
871
|
_stopEvent = false;
|
866
872
|
_this._modifiers(e);
|
@@ -902,7 +908,7 @@ EVENT = {
|
|
902
908
|
_ctrl;
|
903
909
|
_this._modifiers(e);
|
904
910
|
_this._lastKeyDown = null;
|
905
|
-
if (_this.activeControl && _this.focusOptions[_this.activeControl.elemId].keyUp === true) {
|
911
|
+
if (_this.activeControl && _this.activeControl.elemId && _this.focusOptions[_this.activeControl.elemId].keyUp === true) {
|
906
912
|
if(_this.activeControl.keyUp(_theKeyCode)){
|
907
913
|
_stopEvent = true;
|
908
914
|
}
|
@@ -134,7 +134,7 @@ HRect = HClass.extend({
|
|
134
134
|
}
|
135
135
|
_parentHeight = _parentSize[1];
|
136
136
|
if(_view.flexBottom){
|
137
|
-
_this.bottom =
|
137
|
+
_this.bottom = _parentHeight - _view.flexBottomOffset - _this.top;
|
138
138
|
}
|
139
139
|
if(!_view.flexTop){
|
140
140
|
_this.top = _this.bottom - _this.height;
|
data/js/foundation/view/view.js
CHANGED
@@ -615,7 +615,7 @@ HView = HClass.extend({
|
|
615
615
|
**/
|
616
616
|
drawRect: function() {
|
617
617
|
if(!this.rect.isValid){
|
618
|
-
console.log('invalid rect:',ELEM.get(this.elemId));
|
618
|
+
console.log('invalid rect:',this.rect);//,ELEM.get(this.elemId));
|
619
619
|
}
|
620
620
|
if(!this.parent){
|
621
621
|
console.log('no parent:',ELEM.get(this.elemId));
|
@@ -830,8 +830,22 @@ HView = HClass.extend({
|
|
830
830
|
* A string with the html escaped.
|
831
831
|
**/
|
832
832
|
escapeHTML: function( _html ) {
|
833
|
-
|
834
|
-
|
833
|
+
if( typeof _html !== 'string' ) {
|
834
|
+
return _html.toString();
|
835
|
+
}
|
836
|
+
for( var i=0, _reFrom, _reTo, _reArr = this._escapeHTMLArr; i < _reArr.length; i++ ){
|
837
|
+
_reFrom = _reArr[i][0];
|
838
|
+
_reTo = _reArr[i][1];
|
839
|
+
_html = _html.replace( _reFrom, _reTo );
|
840
|
+
}
|
841
|
+
return _html;
|
842
|
+
},
|
843
|
+
_escapeHTMLArr: [
|
844
|
+
[ new RegExp( /&/gmi ), '&' ],
|
845
|
+
[ new RegExp( />/gmi ), '>' ],
|
846
|
+
[ new RegExp( /</gmi ), '<' ],
|
847
|
+
[ new RegExp( /\n/gmi ), '<br>' ]
|
848
|
+
],
|
835
849
|
|
836
850
|
/** = Description
|
837
851
|
*
|
@@ -927,7 +941,6 @@ HView = HClass.extend({
|
|
927
941
|
_validHeight = (typeof _height === 'number'),
|
928
942
|
_right,
|
929
943
|
_bottom;
|
930
|
-
|
931
944
|
if(_arrLen === 6){
|
932
945
|
var
|
933
946
|
_parentSize = this.parentSize(),
|
@@ -976,6 +989,7 @@ HView = HClass.extend({
|
|
976
989
|
}
|
977
990
|
|
978
991
|
this.rect = HRect.nu(_leftOffset,_topOffset,_right,_bottom);
|
992
|
+
|
979
993
|
}
|
980
994
|
else {
|
981
995
|
console.log(_throwPrefix + 'the length has to be either 4 or 6.');
|
@@ -74,7 +74,7 @@ HRadioButtonList = HControl.extend({
|
|
74
74
|
die: function(){
|
75
75
|
this.listItems = null;
|
76
76
|
this.listItemViews = null;
|
77
|
-
this.radioButtonIndexValue.die();
|
77
|
+
this.radioButtonIndexValue && this.radioButtonIndexValue.die();
|
78
78
|
this.base();
|
79
79
|
},
|
80
80
|
radioButtonIndexValue: false,
|
@@ -105,7 +105,7 @@ HMiniMenu = HRadioButtonList.extend({
|
|
105
105
|
this.markupElemIds.subview = 0;
|
106
106
|
this.menuItemView = HView.extend({
|
107
107
|
bringToFront: function(){
|
108
|
-
this.setStyle('z-index',this.app.views.length);
|
108
|
+
this.setStyle('z-index',10000);//this.app.views.length);
|
109
109
|
}
|
110
110
|
}).nu(
|
111
111
|
[ this.rect.left, this.rect.top, this.rect.width, 500 ],
|
@@ -124,6 +124,7 @@ HMiniMenu = HRadioButtonList.extend({
|
|
124
124
|
setListItems: function(listItems){
|
125
125
|
this.base(listItems);
|
126
126
|
this.valueMatrix = this.menuItemView.valueMatrix;
|
127
|
+
this.refreshValue();
|
127
128
|
},
|
128
129
|
|
129
130
|
createComponent: function( i, _label ){
|
data/lib/plugins/plugins.rb
CHANGED
@@ -142,6 +142,15 @@ module RSence
|
|
142
142
|
plugin_src = "_bundle_path = #{params[:bundle_path].inspect};" + plugin_src
|
143
143
|
end
|
144
144
|
m.module_eval( plugin_src )
|
145
|
+
rescue SyntaxError => e
|
146
|
+
src_path = params[:src_path]
|
147
|
+
src_path = "<undefined src_path>" if src_path == nil
|
148
|
+
params[:plugin_manager].plugin_error(
|
149
|
+
e,
|
150
|
+
'BundleLoaderSyntaxError',
|
151
|
+
"The syntax of #{params[:bundle_name]} is invalid.",
|
152
|
+
src_path
|
153
|
+
)
|
145
154
|
rescue => e
|
146
155
|
src_path = params[:src_path]
|
147
156
|
src_path = "<undefined src_path>" if src_path == nil
|
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rsence-pre
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 117
|
5
|
+
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 2
|
8
8
|
- 1
|
9
9
|
- 0
|
10
|
-
-
|
11
|
-
|
12
|
-
version: 2.1.0.8.pre
|
10
|
+
- 9
|
11
|
+
version: 2.1.0.9
|
13
12
|
platform: ruby
|
14
13
|
authors:
|
15
14
|
- Riassence Inc.
|
@@ -17,7 +16,7 @@ autorequire:
|
|
17
16
|
bindir: bin
|
18
17
|
cert_chain: []
|
19
18
|
|
20
|
-
date: 2010-
|
19
|
+
date: 2010-10-19 00:00:00 +03:00
|
21
20
|
default_executable: rsence-pre
|
22
21
|
dependencies:
|
23
22
|
- !ruby/object:Gem::Dependency
|