rsence-pre 2.2.2.1 → 2.3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/conf/default_conf.yaml +6 -1
- data/js/comm/queue/queue.js +0 -1
- data/js/comm/transporter/transporter.js +32 -16
- data/js/comm/values/values.js +45 -13
- data/js/controls/sliders/slider/slider.js +5 -6
- data/js/controls/sliders/slider/themes/default/slider.css +34 -62
- data/js/controls/sliders/slider/themes/default/slider.html +4 -4
- data/js/controls/sliders/vslider/themes/default/vslider.css +43 -10
- data/js/controls/sliders/vslider/vslider.js +3 -1
- data/js/controls/stepper/stepper.js +1 -1
- data/js/controls/stringview/stringview.js +6 -8
- data/js/controls/stringview/themes/default/stringview.html +1 -1
- data/js/controls/textcontrol/textcontrol.js +22 -16
- data/js/controls/textcontrol/themes/default/textcontrol.css +23 -22
- data/js/controls/window/window.js +1 -1
- data/js/core/class/class.js +4 -4
- data/js/core/event/event.js +3 -2
- data/js/datetime/calendar/calendar.coffee +114 -58
- data/js/datetime/calendar/themes/default/calendar.css +4 -2
- data/js/foundation/control/control.js +2 -0
- data/js/foundation/control/dyncontrol/dyncontrol.js +15 -0
- data/js/foundation/control/eventresponder/eventresponder.js +29 -20
- data/js/foundation/eventmanager/eventmanager.coffee +1090 -0
- data/js/foundation/eventmanager/eventmanager.js +116 -28
- data/js/foundation/json_renderer/json_renderer.js +4 -2
- data/js/foundation/system/system.js +3 -0
- data/js/foundation/view/view.js +6 -30
- data/js/lists/listitems/listitems.js +8 -1
- data/js/lists/radiobuttonlist/radiobuttonlist.js +9 -4
- data/js/menus/minimenu/minimenu.js +11 -5
- data/js/menus/minimenuitem/minimenuitem.js +6 -4
- data/js/tables/table/table.coffee +19 -0
- data/js/tables/table/themes/default/table.css +0 -0
- data/js/tables/table/themes/default/table.html +19 -0
- data/lib/rsence/argv/initenv_argv.rb +1 -1
- data/lib/rsence/http/broker.rb +3 -1
- data/lib/rsence/msg.rb +1 -1
- data/lib/rsence/plugins/gui_plugin.rb +2 -0
- data/lib/rsence/sessionmanager.rb +7 -7
- data/lib/rsence/sessionstorage.rb +3 -1
- data/lib/rsence/transporter.rb +56 -32
- data/lib/rsence/valuemanager.rb +3 -3
- data/plugins/client_pkg/client_pkg.rb +5 -0
- data/plugins/client_pkg/lib/client_pkg_build.rb +29 -4
- metadata +10 -7
@@ -359,7 +359,7 @@ HWindow = HDynControl.extend({
|
|
359
359
|
_fitsRect.setHeight( this.options.minSize[1] );
|
360
360
|
}
|
361
361
|
// doesn't fit or right-clicked or alt-clicked, maximize:
|
362
|
-
if (!_fitsRect.equals(_maxRect) && (EVENT.status
|
362
|
+
if (!_fitsRect.equals(_maxRect) && (EVENT.status.button2 || EVENT.status.altKeyDown) ){
|
363
363
|
// console.log('force-max');
|
364
364
|
this.animateTo( _maxRect );
|
365
365
|
this.prevRect = HRect.nu( this.rect );
|
data/js/core/class/class.js
CHANGED
@@ -139,7 +139,7 @@ HClass.prototype = {
|
|
139
139
|
return this;
|
140
140
|
},
|
141
141
|
/** = Description
|
142
|
-
* If a method has been overridden then the base method provides access to the overridden method.
|
142
|
+
* If a method has been overridden then the base method provides access to the overridden method.
|
143
143
|
* Call this method from any other method to invoke that method's ancestor.
|
144
144
|
* It is also possible to call the base method from within a constructor function.
|
145
145
|
*
|
@@ -205,7 +205,7 @@ HClass.extend = function(_instance, _static) {
|
|
205
205
|
HClass._prototyping = true;
|
206
206
|
// this is base for single instance or prototype (class structure) for object that are created
|
207
207
|
// from this class
|
208
|
-
_prototype = new this;
|
208
|
+
_prototype = new this();
|
209
209
|
// copies properties and methods from _instance to _prototype (class structure)
|
210
210
|
_extend.call(_prototype, _instance);
|
211
211
|
// this constructor came from _instance
|
@@ -329,8 +329,8 @@ try {
|
|
329
329
|
// console.log surrogate for browsers without a console
|
330
330
|
if(window['console']===undefined){
|
331
331
|
window.console = {
|
332
|
-
log: function(){
|
333
|
-
}
|
332
|
+
log: function(){},
|
333
|
+
warn: function(){}
|
334
334
|
};
|
335
335
|
}
|
336
336
|
|
data/js/core/event/event.js
CHANGED
@@ -65,11 +65,11 @@ Event = {
|
|
65
65
|
if (!Event.observers) {
|
66
66
|
Event.observers = [];
|
67
67
|
}
|
68
|
-
if (_elem.addEventListener) {
|
68
|
+
if (_elem && _elem.addEventListener) {
|
69
69
|
this.observers.push([_elem, _name, _function, _useCapture]);
|
70
70
|
_elem.addEventListener(_name, _function, _useCapture);
|
71
71
|
}
|
72
|
-
else if (_elem.attachEvent) {
|
72
|
+
else if (_elem && _elem.attachEvent) {
|
73
73
|
this.observers.push([_elem, _name, _function, _useCapture]);
|
74
74
|
_elem.attachEvent("on" + _name, _function);
|
75
75
|
}
|
@@ -98,6 +98,7 @@ Event = {
|
|
98
98
|
observe: function(_elem, _name, _function, _useCapture) {
|
99
99
|
_useCapture = _useCapture || false;
|
100
100
|
Event._observeAndCache(_elem, _name, _function, _useCapture);
|
101
|
+
return _function;
|
101
102
|
},
|
102
103
|
|
103
104
|
/** Stops observing the named event of the element and
|
@@ -20,7 +20,7 @@ HCalendar = HControl.extend
|
|
20
20
|
## the mouse wheel or equivalent content-scrolling user interface gesture
|
21
21
|
defaultEvents:
|
22
22
|
mouseWheel: true
|
23
|
-
|
23
|
+
keyDown: true
|
24
24
|
|
25
25
|
## Calls HCalendar#nextMonth or HCalendar#prevMonth based on delta change
|
26
26
|
## of the mouseWheel event
|
@@ -29,10 +29,65 @@ HCalendar = HControl.extend
|
|
29
29
|
@nextMonth()
|
30
30
|
else
|
31
31
|
@prevMonth()
|
32
|
+
|
33
|
+
## Draws the next month
|
34
|
+
nextMonth: (_set)->
|
35
|
+
_dateNext = new Date( @viewMonth[0], @viewMonth[1]+1, 1 )
|
36
|
+
_dateMs = _dateNext.getTime() - @tzMs(_dateNext)
|
37
|
+
if _set
|
38
|
+
@setValue( _dateMs/1000 )
|
39
|
+
else
|
40
|
+
@drawCalendar( new Date(_dateMs) )
|
41
|
+
|
42
|
+
## Draws the prev month
|
43
|
+
prevMonth: (_set)->
|
44
|
+
_datePrev = new Date( @viewMonth[0], @viewMonth[1]-1, 1 )
|
45
|
+
_dateMs = _datePrev.getTime() - @tzMs(_datePrev)
|
46
|
+
if _set
|
47
|
+
@setValue( _dateMs/1000 )
|
48
|
+
else
|
49
|
+
@drawCalendar( new Date(_dateMs) )
|
32
50
|
|
33
|
-
##
|
34
|
-
|
35
|
-
|
51
|
+
## Draws the next year
|
52
|
+
nextYear: (_set)->
|
53
|
+
_dateNext = new Date( @viewMonth[0]+1, @viewMonth[1], 1 )
|
54
|
+
_dateMs = _dateNext.getTime() - @tzMs(_dateNext)
|
55
|
+
if _set
|
56
|
+
@setValue( _dateMs/1000 )
|
57
|
+
else
|
58
|
+
@drawCalendar( new Date(_dateMs) )
|
59
|
+
|
60
|
+
## Draws the prev year
|
61
|
+
prevYear: (_set)->
|
62
|
+
_datePrev = new Date( @viewMonth[0]-1, @viewMonth[1], 1 )
|
63
|
+
_dateMs = _datePrev.getTime() - @tzMs(_datePrev)
|
64
|
+
if _set
|
65
|
+
@setValue( _dateMs/1000 )
|
66
|
+
else
|
67
|
+
@drawCalendar( new Date(_dateMs) )
|
68
|
+
|
69
|
+
nextDay: -> @setValue( @value + 24*60*60 )
|
70
|
+
prevDay: -> @setValue( @value - 24*60*60 )
|
71
|
+
nextWeek: -> @setValue( @value + 7*24*60*60 )
|
72
|
+
prevWeek: -> @setValue( @value - 7*24*60*60 )
|
73
|
+
|
74
|
+
## Keyboard control
|
75
|
+
keyDown: (_key)->
|
76
|
+
if EVENT.status.shiftKeyDown
|
77
|
+
@prevMonth(true) if _key == Event.KEY_LEFT
|
78
|
+
@nextMonth(true) if _key == Event.KEY_RIGHT
|
79
|
+
@prevYear(true) if _key == Event.KEY_UP
|
80
|
+
@nextYear(true) if _key == Event.KEY_DOWN
|
81
|
+
else
|
82
|
+
@nextDay() if _key == Event.KEY_RIGHT
|
83
|
+
@prevDay() if _key == Event.KEY_LEFT
|
84
|
+
@nextWeek() if _key == Event.KEY_DOWN
|
85
|
+
@prevWeek() if _key == Event.KEY_UP
|
86
|
+
@prevMonth(true) if _key == Event.KEY_PAGEUP
|
87
|
+
@nextMonth(true) if _key == Event.KEY_PAGEDOWN
|
88
|
+
@prevYear(true) if _key == Event.KEY_HOME
|
89
|
+
@nextYear(true) if _key == Event.KEY_END
|
90
|
+
true
|
36
91
|
|
37
92
|
drawSubviews: ->
|
38
93
|
_this = @
|
@@ -128,91 +183,83 @@ HCalendar = HControl.extend
|
|
128
183
|
}
|
129
184
|
}
|
130
185
|
|
186
|
+
lostActiveStatus: (_obj)->
|
187
|
+
if (_obj and @menu and !@menu._killed and !_obj.isChildOf(@menu) and !_obj.isChildOf(@menu.menuItemView))
|
188
|
+
@menu.die()
|
189
|
+
@base(_obj)
|
190
|
+
|
131
191
|
## Calls #drawCalendar when the value is changed
|
132
192
|
refreshValue: ->
|
133
193
|
@drawCalendar( @date() )
|
134
194
|
|
135
|
-
## Draws the next month
|
136
|
-
nextMonth: ->
|
137
|
-
_dateNext = new Date( @viewMonth[0], @viewMonth[1]+1, 1 )
|
138
|
-
_dateMs = _dateNext.getTime() - @tzMs(_dateNext)
|
139
|
-
@drawCalendar( new Date(_dateMs) )
|
140
|
-
|
141
|
-
## Drows the prev month
|
142
|
-
prevMonth: ->
|
143
|
-
_datePrev = new Date( @viewMonth[0], @viewMonth[1]-1, 1 )
|
144
|
-
_dateMs = _datePrev.getTime() - @tzMs(_datePrev)
|
145
|
-
@drawCalendar( new Date(_dateMs) )
|
146
|
-
|
147
195
|
## Stores the currently viewed year and month
|
148
196
|
viewMonth: [ 1970, 0 ]
|
149
197
|
|
150
198
|
## Shows a pulldown menu for month selection
|
151
199
|
monthMenu: ->
|
152
200
|
return unless HMiniMenu?
|
153
|
-
_calendar =
|
201
|
+
_calendar = @
|
154
202
|
_monthValues = []
|
155
203
|
for _monthName, i in HLocale.dateTime.strings.monthsLong
|
156
204
|
_monthValues.push( [ i, _monthName ] )
|
157
205
|
_rect = ELEM.getBoxCoords( @_monthMenu )
|
158
206
|
_rect[0] += 20
|
159
207
|
_rect[2] = 80 if _rect[2] < 80
|
160
|
-
HMiniMenu.extend(
|
161
|
-
|
208
|
+
@menu = HMiniMenu.extend(
|
209
|
+
click: ->
|
210
|
+
console.log('click')
|
162
211
|
menuHide: ->
|
212
|
+
return if @_killed?
|
213
|
+
@_killed = true
|
163
214
|
@base()
|
215
|
+
_calendar.setValue( _calendar.setMonth( @value ) )
|
216
|
+
if _calendar.month() != @value
|
217
|
+
_calendar.setValue( _calendar.setMday( 30 ) )
|
218
|
+
_calendar.setValue( _calendar.setMonth( @value ) )
|
219
|
+
if _calendar.month() != @value
|
220
|
+
_calendar.setValue( _calendar.setMday( 29 ) )
|
221
|
+
_calendar.setValue( _calendar.setMonth( @value ) )
|
222
|
+
if _calendar.month() != @value
|
223
|
+
_calendar.setValue( _calendar.setMday( 28 ) )
|
224
|
+
_calendar.setValue( _calendar.setMonth( @value ) )
|
164
225
|
_menu = @
|
165
|
-
_menu._killAfterRefresh = true
|
166
226
|
COMM.Queue.push( ->
|
167
|
-
|
168
|
-
|
227
|
+
EVENT.changeActiveControl(_calendar)
|
228
|
+
_calendar.menu = null
|
229
|
+
_menu.die()
|
169
230
|
)
|
170
|
-
return true;
|
171
|
-
refreshValue: ->
|
172
|
-
@base()
|
173
|
-
if @_killAfterRefresh
|
174
|
-
@_killAfterRefresh = false
|
175
|
-
_calendar.setValue( _calendar.setMonth( @value ) )
|
176
|
-
if _calendar.month() != @value
|
177
|
-
_calendar.setValue( _calendar.setMday( 30 ) )
|
178
|
-
_calendar.setValue( _calendar.setMonth( this.value ) )
|
179
|
-
if _calendar.month() != @value
|
180
|
-
_calendar.setValue( _calendar.setMday( 29 ) )
|
181
|
-
_calendar.setValue( _calendar.setMonth( @value ) )
|
182
|
-
if _calendar.month() != this.value
|
183
|
-
_calendar.setValue( _calendar.setMday( 28 ) )
|
184
|
-
_calendar.setValue( _calendar.setMonth( @value ) )
|
185
|
-
_menu = this
|
186
|
-
COMM.Queue.push( ->
|
187
|
-
_menu.die()
|
188
|
-
)
|
189
231
|
).new( _rect, @,
|
190
232
|
value: @month()
|
191
233
|
initialVisibility: true
|
192
|
-
|
234
|
+
listItems: _monthValues
|
235
|
+
)
|
193
236
|
|
194
237
|
## Shows a text field for year selection
|
195
238
|
yearMenu: ->
|
196
239
|
_calendar = @
|
240
|
+
_calendarEnable = @enabled
|
197
241
|
_rect = ELEM.getBoxCoords( @_yearMenu )
|
198
242
|
_rect[0] += 20
|
199
243
|
_rect[2] = 40 if _rect[2] < 40
|
200
|
-
_rect[3] =
|
244
|
+
_rect[3] = 16
|
245
|
+
EVENT.changeActiveControl(null)
|
246
|
+
@setEnabled(false)
|
201
247
|
HNumericTextControl.extend(
|
202
248
|
refreshValue: ->
|
203
249
|
@base()
|
204
250
|
_calendar.setValue( _calendar.setYear( @value ) )
|
251
|
+
gainedActiveStatus: (_obj)->
|
252
|
+
@base(_obj)
|
253
|
+
_calendar.setEnabled(_calendarEnable)
|
205
254
|
textBlur: ->
|
206
255
|
@base()
|
207
|
-
_year =
|
256
|
+
_year = @
|
208
257
|
COMM.Queue.push( ->
|
209
|
-
|
258
|
+
if _year.markupElemIds?
|
259
|
+
_year.die()
|
210
260
|
)
|
211
|
-
|
212
|
-
|
213
|
-
_returnKeyPressed = EVENT.status[ EVENT.keysDown ].indexOf( 13 ) != -1
|
214
|
-
_noKeysPressed = EVENT.status[ EVENT.keysDown ].length == 0
|
215
|
-
if _returnKeyPressed or _noKeysPressed
|
261
|
+
keyDown: (_key)->
|
262
|
+
if _key == Event.KEY_RETURN
|
216
263
|
ELEM.get( @markupElemIds.value ).blur()
|
217
264
|
).new( _rect, @,
|
218
265
|
value: @year()
|
@@ -220,6 +267,11 @@ HCalendar = HControl.extend
|
|
220
267
|
maxValue: 38400
|
221
268
|
focusOnCreate: true
|
222
269
|
refreshOnInput: false
|
270
|
+
refreshOnIdle: false
|
271
|
+
events:
|
272
|
+
keyDown: true
|
273
|
+
style:
|
274
|
+
fontSize: '11px'
|
223
275
|
)
|
224
276
|
|
225
277
|
_destroyCalendarElems: ->
|
@@ -238,7 +290,6 @@ HCalendar = HControl.extend
|
|
238
290
|
## Params:
|
239
291
|
## - _date: The date on which calendar UI is opened at.
|
240
292
|
drawCalendar: (_date)->
|
241
|
-
@_destroyCalendarElems()
|
242
293
|
_date = @date() unless ( _date instanceof Date )
|
243
294
|
_calendarDateRange = @calendarDateRange( _date )
|
244
295
|
_monthFirst = _calendarDateRange.month.firstDate
|
@@ -252,7 +303,7 @@ HCalendar = HControl.extend
|
|
252
303
|
_colWidth = Math.floor( _availWidth / 8 )
|
253
304
|
_rowHeight = Math.floor( _availHeight / 6 )
|
254
305
|
_parentElem = @markupElemIds.value
|
255
|
-
ELEM.setStyle( _parentElem, 'visibility', 'hidden', true )
|
306
|
+
# ELEM.setStyle( _parentElem, 'visibility', 'hidden', true )
|
256
307
|
_elems = []
|
257
308
|
_this = @
|
258
309
|
for _row in [0..5]
|
@@ -288,9 +339,10 @@ HCalendar = HControl.extend
|
|
288
339
|
else
|
289
340
|
ELEM.addClassName( _colElem, 'calendar_weeks_week_col_yes' )
|
290
341
|
ELEM.setAttr( _colElem, '_colSecs', _colSecs )
|
291
|
-
|
292
|
-
|
293
|
-
|
342
|
+
if @enabled
|
343
|
+
Event.observe( ELEM.get( _colElem ), 'click', ->
|
344
|
+
_this.setValue( @_colSecs )
|
345
|
+
)
|
294
346
|
# ELEM.setAttr( _colElem, 'href', "javascript:HSystem.views[#{@viewId}].setValue(#{_colSecs})" )
|
295
347
|
_left = (_col*_colWidth+_leftPlus)
|
296
348
|
ELEM.setStyle( _colElem, 'left', _left+'px' )
|
@@ -298,13 +350,15 @@ HCalendar = HControl.extend
|
|
298
350
|
ELEM.setStyle( _colElem, 'height', (_rowHeight-1)+'px' )
|
299
351
|
ELEM.setStyle( _colElem, 'line-height', _rowHeight+'px' )
|
300
352
|
ELEM.setHTML( _colElem, @mday( _colDate ) )
|
301
|
-
ELEM.setStyle( _parentElem, 'visibility', 'inherit' )
|
353
|
+
# ELEM.setStyle( _parentElem, 'visibility', 'inherit' )
|
354
|
+
ELEM.flush()
|
302
355
|
_stateElem = @markupElemIds.state
|
303
356
|
|
304
357
|
@_monthMenu = ELEM.make( _stateElem, 'span' )#, 'a' )
|
305
358
|
_elems.push( @_monthMenu )
|
306
359
|
# ELEM.setAttr( @_monthMenu, 'href', "javascript:HSystem.views[#{@viewId}].monthMenu()" )
|
307
|
-
|
360
|
+
if @enabled
|
361
|
+
Event.observe( ELEM.get( @_monthMenu ), 'click', ( -> _this.monthMenu() ), false )
|
308
362
|
ELEM.setHTML( @_monthMenu, @monthName( _date ) )
|
309
363
|
|
310
364
|
_spacer = ELEM.make( _stateElem, 'span' )
|
@@ -313,11 +367,13 @@ HCalendar = HControl.extend
|
|
313
367
|
|
314
368
|
@_yearMenu = ELEM.make( _stateElem, 'span' )#, 'a' )
|
315
369
|
_elems.push( @_yearMenu )
|
316
|
-
|
370
|
+
if @enabled
|
371
|
+
Event.observe( ELEM.get( @_yearMenu ), 'click', ( -> _this.yearMenu() ), false )
|
317
372
|
# ELEM.setAttr( @_yearMenu, 'href', "javascript:HSystem.views[#{@viewId}].yearMenu()" )
|
318
373
|
ELEM.setHTML( @_yearMenu, @year( _date ) )
|
319
374
|
|
320
375
|
@viewMonth = [ _monthFirst.getUTCFullYear(), _monthFirst.getUTCMonth() ]
|
376
|
+
@_destroyCalendarElems()
|
321
377
|
@_drawCalendarElems = _elems
|
322
378
|
|
323
379
|
HCalendar.implement( HDateTime )
|
@@ -95,10 +95,12 @@
|
|
95
95
|
font-weight: bold;
|
96
96
|
border: 1px solid #666;
|
97
97
|
}
|
98
|
-
.calendar_weeks_week_col_sel
|
99
|
-
.calendar_weeks_week_col_yes:hover {
|
98
|
+
.calendar_weeks_week_col_sel {
|
100
99
|
background-color: #fff;
|
101
100
|
}
|
101
|
+
.calendar_weeks_week_col_yes:hover {
|
102
|
+
border: 2px solid black; margin: -1px; z-index: 100; border-radius: 3px;
|
103
|
+
}
|
102
104
|
.calendar_bg {
|
103
105
|
position: absolute;
|
104
106
|
left: -1px; right: -1px;
|
@@ -441,6 +441,11 @@ HDynControl = HControl.extend({
|
|
441
441
|
x-=_parent.pageX();
|
442
442
|
y-=_parent.pageY();
|
443
443
|
}
|
444
|
+
else {
|
445
|
+
var _scrollPos = ELEM.getScrollPosition(0);
|
446
|
+
x+=_scrollPos[0];
|
447
|
+
y+=_scrollPos[1];
|
448
|
+
}
|
444
449
|
this._startPoint = new HPoint(x,y);
|
445
450
|
this._startRect = new HRect( this.rect );
|
446
451
|
this._detectActionFlag();
|
@@ -473,6 +478,11 @@ HDynControl = HControl.extend({
|
|
473
478
|
x-=_parent.pageX();
|
474
479
|
y-=_parent.pageY();
|
475
480
|
}
|
481
|
+
else {
|
482
|
+
var _scrollPos = ELEM.getScrollPosition(0);
|
483
|
+
x+=_scrollPos[0];
|
484
|
+
y+=_scrollPos[1];
|
485
|
+
}
|
476
486
|
if(this._actionFlag!==-1){
|
477
487
|
this._actionFns[this._actionFlag](this,x,y);
|
478
488
|
}
|
@@ -503,6 +513,11 @@ HDynControl = HControl.extend({
|
|
503
513
|
x-=_parent.pageX();
|
504
514
|
y-=_parent.pageY();
|
505
515
|
}
|
516
|
+
else {
|
517
|
+
var _scrollPos = ELEM.getScrollPosition(0);
|
518
|
+
x+=_scrollPos[0];
|
519
|
+
y+=_scrollPos[1];
|
520
|
+
}
|
506
521
|
if(this._actionFlag!==-1){
|
507
522
|
this._actionFns[this._actionFlag](this,x,y);
|
508
523
|
}
|
@@ -28,6 +28,8 @@
|
|
28
28
|
** on the droppable.
|
29
29
|
** +startHover+:: Called when a draggable item is moved
|
30
30
|
** over the droppable.
|
31
|
+
** +hover+:: Called while a dragged item is moved between
|
32
|
+
** startHover and endHover.
|
31
33
|
** +endHover+:: Called when a draggable item is moved out
|
32
34
|
** of the droppable.
|
33
35
|
** +keyDown+:: Called when the user presses a key, and
|
@@ -154,10 +156,11 @@ HEventResponder = HClass.extend({
|
|
154
156
|
click: false,
|
155
157
|
resize: false,
|
156
158
|
doubleClick: false,
|
157
|
-
contextMenu: false
|
159
|
+
contextMenu: false,
|
160
|
+
rectHover: false,
|
161
|
+
multiDrop: false
|
158
162
|
} ).extend( this.defaultEvents ).extend( _events?_events:{} ).nu();
|
159
163
|
}
|
160
|
-
this.events.ctrl = this;
|
161
164
|
EVENT.reg( this, this.events );
|
162
165
|
return this;
|
163
166
|
},
|
@@ -487,7 +490,7 @@ HEventResponder = HClass.extend({
|
|
487
490
|
if(this.enabled) {
|
488
491
|
this.toggleCSSClass(this.elemId, HControl.CSS_ACTIVE, true);
|
489
492
|
}
|
490
|
-
this.gainedActiveStatus(_lastActiveControl);
|
493
|
+
return this.gainedActiveStatus(_lastActiveControl);
|
491
494
|
},
|
492
495
|
|
493
496
|
|
@@ -644,7 +647,6 @@ HEventResponder = HClass.extend({
|
|
644
647
|
*
|
645
648
|
**/
|
646
649
|
endDrag: function(x, y) {
|
647
|
-
this.invalidatePositionCache();
|
648
650
|
},
|
649
651
|
|
650
652
|
/** = Description
|
@@ -678,6 +680,10 @@ HEventResponder = HClass.extend({
|
|
678
680
|
},
|
679
681
|
onHoverStart: function(obj) {},
|
680
682
|
|
683
|
+
hover: function(obj){
|
684
|
+
|
685
|
+
},
|
686
|
+
|
681
687
|
/** = Description
|
682
688
|
* Default endHover event responder method. Does nothing by default.
|
683
689
|
* Extend the endHover method, if you want to do something
|
@@ -763,21 +769,24 @@ HEventResponder = HClass.extend({
|
|
763
769
|
EVENT.blur(_this);
|
764
770
|
Event.stop(e);
|
765
771
|
},
|
766
|
-
|
767
|
-
|
768
|
-
/** = Description
|
769
|
-
* Forces retrieving this control's DOM element position directly rather than
|
770
|
-
* using the cached version when the position is needed by +EVENT+.
|
771
|
-
* Child controls are invalidated recursively by +HView+.
|
772
|
-
*
|
773
|
-
* = Returns
|
774
|
-
* +self+
|
775
|
-
*
|
772
|
+
|
773
|
+
/** Selection handling; currently under construction
|
776
774
|
**/
|
777
|
-
|
778
|
-
|
779
|
-
|
780
|
-
|
781
|
-
}
|
782
|
-
|
775
|
+
selected: false,
|
776
|
+
select: function(){
|
777
|
+
this.selected = true;
|
778
|
+
console.warn("HControl#select not supported yet.");
|
779
|
+
},
|
780
|
+
deSelect: function(){
|
781
|
+
this.selected = false;
|
782
|
+
console.warn("HControl#deSelect not supported yet.");
|
783
|
+
},
|
784
|
+
setSelected: function(_state){
|
785
|
+
if( _state ){
|
786
|
+
this.select();
|
787
|
+
}
|
788
|
+
else {
|
789
|
+
this.deSelect();
|
790
|
+
}
|
791
|
+
}
|
783
792
|
});
|