rsence-pre 2.3.0.26 → 3.0.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.rdoc +11 -1
- data/VERSION +1 -1
- data/client/AUTHORS.txt +63 -0
- data/client/MIT-LICENSE.txt +21 -0
- data/client/README.md +17 -0
- data/client/VERSION +1 -0
- data/{conf → client/conf}/client_pkg.yaml +1 -6
- data/{js → client/js}/chat/chat_panel/chat_panel.coffee +0 -0
- data/{js → client/js}/chat/speech_bubble/speech_bubble.coffee +0 -0
- data/{js → client/js}/chat/speech_bubble/themes/default/speech_bubble.css +0 -0
- data/{js → client/js}/chat/speech_bubble/themes/default/speech_bubble.html +0 -0
- data/{js → client/js}/chat/speech_bubble/themes/default/user_anon.png +0 -0
- data/{js → client/js}/comm/autosync/autosync.js +0 -0
- data/{js → client/js}/comm/comm.js +0 -0
- data/{js → client/js}/comm/jsloader/jsloader.js +0 -0
- data/{js → client/js}/comm/queue/queue.js +0 -0
- data/{js → client/js}/comm/session/session.js +0 -0
- data/{js → client/js}/comm/sessionwatcher/sessionwatcher.js +0 -0
- data/{js → client/js}/comm/transporter/transporter.js +0 -0
- data/{js → client/js}/comm/urlresponder/urlresponder.js +0 -0
- data/{js → client/js}/comm/values/values.js +0 -0
- data/{js → client/js}/controls/button/button.js +0 -0
- data/{js → client/js}/controls/button/themes/default/button.css +0 -0
- data/{js/controls/button/themes/bright → client/js/controls/button/themes/default}/button.html +0 -0
- data/{js → client/js}/controls/button/themes/default/button_parts1.png +0 -0
- data/{js → client/js}/controls/checkbox/checkbox.js +0 -0
- data/{js → client/js}/controls/checkbox/themes/default/checkbox.css +0 -0
- data/{js → client/js}/controls/checkbox/themes/default/checkbox.html +0 -0
- data/{js → client/js}/controls/checkbox/themes/default/checkbox_parts1.png +0 -0
- data/{js → client/js}/controls/dialogs/alert_sheet/alert_sheet.js +0 -0
- data/{js → client/js}/controls/dialogs/confirm_sheet/confirm_sheet.js +0 -0
- data/{js → client/js}/controls/dialogs/sheet/sheet.js +0 -0
- data/{js → client/js}/controls/dialogs/sheet/themes/default/sheet.css +0 -0
- data/{js → client/js}/controls/dialogs/sheet/themes/default/sheet.html +0 -0
- data/{js → client/js}/controls/dialogs/sheet/themes/default/sheet_bg.png +0 -0
- data/{js → client/js}/controls/dialogs/sheet/themes/default/sheet_dim.png +0 -0
- data/{js → client/js}/controls/dialogs/sheet/themes/default/sheet_parts1.png +0 -0
- data/{js → client/js}/controls/dialogs/sheet/themes/default/sheet_parts2.png +0 -0
- data/{js → client/js}/controls/dialogs/sheet/themes/default/sheet_warning.png +0 -0
- data/{js → client/js}/controls/imageview/imageview.js +0 -0
- data/{js → client/js}/controls/imageview/themes/default/blank.gif +0 -0
- data/{js → client/js}/controls/numerictextcontrol/numerictextcontrol.coffee +0 -0
- data/{js → client/js}/controls/onoffbutton/onoffbutton.coffee +0 -0
- data/{js → client/js}/controls/onoffbutton/themes/default/onoffbutton.css +0 -0
- data/{js → client/js}/controls/onoffbutton/themes/default/onoffbutton.html +0 -0
- data/{js → client/js}/controls/passwordcontrol/passwordcontrol.js +0 -0
- data/{js → client/js}/controls/passwordcontrol/themes/default/passwordcontrol.css +0 -0
- data/{js → client/js}/controls/passwordcontrol/themes/default/passwordcontrol.html +0 -0
- data/{js → client/js}/controls/progress/progressbar/progressbar.js +0 -0
- data/{js → client/js}/controls/progress/progressbar/themes/default/progressbar.css +0 -0
- data/{js → client/js}/controls/progress/progressbar/themes/default/progressbar.html +0 -0
- data/{js → client/js}/controls/progress/progressindicator/progressindicator.js +0 -0
- data/{js → client/js}/controls/radiobutton/radiobutton.js +0 -0
- data/{js → client/js}/controls/radiobutton/themes/default/radiobutton.css +0 -0
- data/{js → client/js}/controls/radiobutton/themes/default/radiobutton.html +0 -0
- data/{js → client/js}/controls/radiobutton/themes/default/radiobutton_parts1.png +0 -0
- data/client/js/controls/searchfield/searchfield.coffee +14 -0
- data/{js → client/js}/controls/searchfield/themes/default/searchfield.css +9 -0
- data/{js → client/js}/controls/searchfield/themes/default/searchfield.html +1 -2
- data/{js → client/js}/controls/searchfield/themes/default/searchfield_parts1.png +0 -0
- data/{js → client/js}/controls/sliders/slider/slider.js +0 -0
- data/{js → client/js}/controls/sliders/slider/themes/default/hslider_tracks.png +0 -0
- data/{js → client/js}/controls/sliders/slider/themes/default/slider.css +0 -0
- data/{js → client/js}/controls/sliders/slider/themes/default/slider.html +0 -0
- data/{js → client/js}/controls/sliders/slider/themes/default/slider_thumbs.png +0 -0
- data/{js → client/js}/controls/sliders/vslider/themes/default/vslider.css +0 -0
- data/{js → client/js}/controls/sliders/vslider/themes/default/vslider.html +0 -0
- data/{js → client/js}/controls/sliders/vslider/themes/default/vslider_tracks.png +0 -0
- data/{js → client/js}/controls/sliders/vslider/vslider.js +0 -0
- data/{js → client/js}/controls/stepper/stepper.js +0 -0
- data/{js → client/js}/controls/stepper/themes/default/stepper.css +0 -0
- data/{js → client/js}/controls/stepper/themes/default/stepper.html +0 -0
- data/{js → client/js}/controls/stepper/themes/default/stepper.png +0 -0
- data/{js → client/js}/controls/stringview/stringview.js +0 -0
- data/{js → client/js}/controls/stringview/themes/default/stringview.css +0 -0
- data/{js → client/js}/controls/stringview/themes/default/stringview.html +0 -0
- data/{js → client/js}/controls/tab/tab.js +0 -0
- data/{js → client/js}/controls/tab/themes/default/tab.css +0 -0
- data/{js → client/js}/controls/tab/themes/default/tab.html +0 -0
- data/{js → client/js}/controls/tab/themes/default/tab_bg_color.png +0 -0
- data/{js/controls/tab/themes/bright → client/js/controls/tab/themes/default}/tab_border_pattern.png +0 -0
- data/{js → client/js}/controls/tab/themes/default/tab_parts1.png +0 -0
- data/{js → client/js}/controls/textarea/textarea.js +0 -0
- data/{js → client/js}/controls/textarea/themes/default/textarea.css +0 -0
- data/{js → client/js}/controls/textarea/themes/default/textarea.html +0 -0
- data/{js → client/js}/controls/textcontrol/textcontrol.coffee +0 -0
- data/{js → client/js}/controls/textcontrol/themes/default/textcontrol.css +0 -0
- data/{js → client/js}/controls/textcontrol/themes/default/textcontrol.html +0 -0
- data/{js → client/js}/controls/textcontrol/themes/default/textcontrol_parts1.png +0 -0
- data/{js → client/js}/controls/textcontrol/themes/default/textcontrol_parts2.png +0 -0
- data/{js → client/js}/controls/textcontrol/themes/default/textcontrol_parts3.png +0 -0
- data/{js → client/js}/controls/uploader/themes/default/upload_progress.gif +0 -0
- data/{js → client/js}/controls/uploader/themes/default/uploader.css +0 -0
- data/{js → client/js}/controls/uploader/themes/default/uploader.html +0 -0
- data/{js → client/js}/controls/uploader/uploader.coffee +0 -0
- data/{js → client/js}/controls/validatorview/themes/default/validator.png +0 -0
- data/{js → client/js}/controls/validatorview/themes/default/validatorview.css +0 -0
- data/{js → client/js}/controls/validatorview/themes/default/validatorview.html +0 -0
- data/{js → client/js}/controls/validatorview/validatorview.js +0 -0
- data/{js → client/js}/controls/window/themes/default/window.css +0 -0
- data/{js → client/js}/controls/window/themes/default/window.html +0 -0
- data/{js → client/js}/controls/window/themes/default/window_bg_active.png +0 -0
- data/{js → client/js}/controls/window/themes/default/window_bg_inactive.png +0 -0
- data/{js → client/js}/controls/window/themes/default/window_buttons.png +0 -0
- data/{js → client/js}/controls/window/themes/default/window_parts1.png +0 -0
- data/{js → client/js}/controls/window/themes/default/window_parts2.png +0 -0
- data/{js → client/js}/controls/window/window.js +0 -0
- data/{js → client/js}/core/class/class.js +0 -0
- data/{js → client/js}/core/elem/elem.coffee +3 -3
- data/{js → client/js}/core/event/event.js +2 -2
- data/{js → client/js}/core/rsence_ns/rsence_ns.coffee +0 -0
- data/{js → client/js}/core/util/util_methods/util_methods.coffee +0 -0
- data/{js → client/js}/datetime/calendar/calendar.coffee +2 -0
- data/{js → client/js}/datetime/calendar/themes/default/calendar.css +8 -3
- data/{js → client/js}/datetime/calendar/themes/default/calendar.html +0 -0
- data/{js → client/js}/datetime/calendar/themes/default/calendar_arrows.png +0 -0
- data/{js → client/js}/datetime/calendar/themes/default/calendar_bg.png +0 -0
- data/{js → client/js}/datetime/calendar/themes/default/calendar_parts1.png +0 -0
- data/{js → client/js}/datetime/calendar/themes/default/calendar_parts2.png +0 -0
- data/{js → client/js}/datetime/calendar_pulldown/calendar_pulldown.coffee +11 -4
- data/{js → client/js}/datetime/calendar_pulldown/themes/default/calendar_pulldown.css +0 -0
- data/{js → client/js}/datetime/calendar_pulldown/themes/default/calendar_pulldown.html +0 -0
- data/{js → client/js}/datetime/calendar_pulldown/themes/default/calendar_pulldown.png +0 -0
- data/{js → client/js}/datetime/datepicker/datepicker.coffee +5 -0
- data/{js → client/js}/datetime/datetimepicker/datetimepicker.coffee +0 -0
- data/{js → client/js}/datetime/datetimepicker/datetimepicker.js +0 -0
- data/{js → client/js}/datetime/datetimevalue/datetimevalue.js +0 -0
- data/{js → client/js}/datetime/momentjs/momentjs.js +0 -0
- data/{js → client/js}/datetime/timepicker/timepicker.coffee +0 -0
- data/{js → client/js}/datetime/timesheet/themes/default/timesheet.css +0 -0
- data/{js → client/js}/datetime/timesheet/themes/default/timesheet.html +0 -0
- data/{js → client/js}/datetime/timesheet/timesheet.js +0 -0
- data/{js → client/js}/datetime/timesheet_item/themes/default/timesheet_item.css +0 -0
- data/{js → client/js}/datetime/timesheet_item/themes/default/timesheet_item.html +0 -0
- data/{js → client/js}/datetime/timesheet_item/themes/default/timesheet_item_icons.png +0 -0
- data/{js → client/js}/datetime/timesheet_item/timesheet_item.js +0 -0
- data/{js → client/js}/datetime/timesheet_item_edit/timesheet_item_edit.js +0 -0
- data/{js → client/js}/foundation/application/application.js +0 -0
- data/{js → client/js}/foundation/control/control.js +0 -0
- data/{js → client/js}/foundation/control/controldefaults/controldefaults.js +0 -0
- data/{js → client/js}/foundation/control/dummyvalue/dummyvalue.js +0 -0
- data/{js → client/js}/foundation/control/dyncontrol/dyncontrol.js +0 -0
- data/{js → client/js}/foundation/control/dyncontrol/themes/default/dyncontrol.css +0 -0
- data/{js → client/js}/foundation/control/dyncontrol/themes/default/dyncontrol.html +0 -0
- data/{js → client/js}/foundation/control/eventresponder/eventresponder.js +0 -36
- data/{js → client/js}/foundation/control/valueaction/valueaction.js +0 -0
- data/{js → client/js}/foundation/control/valuematrix/valuematrix.js +0 -0
- data/{js → client/js}/foundation/control/valueresponder/valueresponder.js +0 -0
- data/{js → client/js}/foundation/eventmanager/eventmanager.coffee +68 -84
- data/{js → client/js}/foundation/eventmanager/eventmanager.js +0 -0
- data/{js → client/js}/foundation/geom/point/point.js +0 -0
- data/{js → client/js}/foundation/geom/rect/rect.js +0 -0
- data/{js → client/js}/foundation/json_renderer/json_renderer.js +0 -0
- data/{js → client/js}/foundation/locale_settings/locale_settings.js +0 -0
- data/{js → client/js}/foundation/system/system.js +0 -0
- data/{js → client/js}/foundation/thememanager/thememanager.coffee +0 -0
- data/{js → client/js}/foundation/value/value.js +0 -0
- data/{js → client/js}/foundation/view/markupview/markupview.js +0 -0
- data/{js → client/js}/foundation/view/morphanimation/morphanimation.js +2 -0
- data/{js → client/js}/foundation/view/view.js +0 -0
- data/{js → client/js}/foundation/view/viewdefaults/viewdefaults.js +0 -0
- data/{js → client/js}/graphics/svgcontrol/svgcontrol.js +0 -0
- data/{js → client/js}/lists/checkboxlist/checkboxlist.js +0 -0
- data/{js → client/js}/lists/listitems/listitems.js +0 -0
- data/{js → client/js}/lists/propertylist/propertylist.js +0 -0
- data/{js → client/js}/lists/propertylist/propertylisteditor/propertylisteditor.js +0 -0
- data/{js → client/js}/lists/radiobuttonlist/radiobuttonlist.js +0 -0
- data/{js → client/js}/menus/menuitem/menuitem.js +0 -0
- data/{js → client/js}/menus/menuitem/themes/default/menuitem.css +0 -0
- data/{js → client/js}/menus/menuitem/themes/default/menuitem.html +0 -0
- data/{js → client/js}/menus/minimenu/minimenu.js +26 -11
- data/{js → client/js}/menus/minimenu/themes/default/minimenu.css +0 -0
- data/{js → client/js}/menus/minimenu/themes/default/minimenu.html +0 -0
- data/{js → client/js}/menus/minimenu/themes/default/minimenu.png +0 -0
- data/{js → client/js}/menus/minimenuitem/minimenuitem.js +0 -9
- data/{js → client/js}/menus/minimenuitem/themes/default/minimenuitem.css +0 -0
- data/{js → client/js}/menus/minimenuitem/themes/default/minimenuitem.html +0 -0
- data/{js → client/js}/menus/minimenuitem/themes/default/minimenuitem_checkmark.png +0 -0
- data/{js → client/js}/menus/popupmenu/popupmenu.js +0 -0
- data/{js → client/js}/menus/popupmenu/themes/default/popupmenu.css +0 -0
- data/{js → client/js}/menus/popupmenu/themes/default/popupmenu.html +0 -0
- data/{js → client/js}/menus/popupmenu/themes/default/popupmenu.png +0 -0
- data/{js → client/js}/no_pkg/no_pkg.js +0 -0
- data/{js → client/js}/tables/table/table.coffee +0 -0
- data/{js → client/js}/tables/table/themes/default/table.css +0 -0
- data/{js → client/js}/tables/table/themes/default/table.html +0 -0
- data/{js → client/js}/util/reloadapp/reloadapp.js +0 -0
- data/{js → client/js}/util/reloadapp/themes/default/reloadapp_warning.png +0 -0
- data/{js → client/js}/util/sha/sha.js +0 -0
- data/{js → client/js}/views/centerview/centerview.js +0 -0
- data/{js → client/js}/views/inlineview/inlineview.js +0 -0
- data/{js → client/js}/views/scrollview/scrollview.js +0 -0
- data/lib/rsence/default_config.rb +2 -2
- metadata +193 -197
- data/js/controls/button/themes/bright/button.css +0 -89
- data/js/controls/button/themes/bright/button_parts1.png +0 -0
- data/js/controls/button/themes/default/button.html +0 -7
- data/js/controls/searchfield/searchfield.coffee +0 -2
- data/js/controls/tab/themes/bright/tab.css +0 -76
- data/js/controls/tab/themes/bright/tab.html +0 -6
- data/js/controls/tab/themes/bright/tab_bg_color.png +0 -0
- data/js/controls/tab/themes/bright/tab_parts1.png +0 -0
- data/js/controls/tab/themes/default/tab_border_pattern.png +0 -0
@@ -5,6 +5,8 @@ HDatePicker = HTextControl.extend
|
|
5
5
|
preserveTime: true
|
6
6
|
preserveDate: false
|
7
7
|
calendarPicker: false
|
8
|
+
calendarHorizontalAlign: 'right'
|
9
|
+
calendarVerticalAlign: 'top'
|
8
10
|
valueToField: (_value)->
|
9
11
|
_date = moment.unix(_value).utc()
|
10
12
|
@_datePreserve = [ _date.year(), _date.month(), _date.date() ] if @options.preserveDate
|
@@ -52,6 +54,9 @@ HDatePicker = HTextControl.extend
|
|
52
54
|
).new( [null,0,24,24,1,null], @,
|
53
55
|
value: @value
|
54
56
|
valueObj: @valueObj
|
57
|
+
todayStart: @options.todayStart
|
58
|
+
calendarHorizontalAlign: @options.calendarHorizontalAlign
|
59
|
+
calendarVerticalAlign: @options.calendarVerticalAlign
|
55
60
|
preserveTime: @options.preserveTime
|
56
61
|
style:
|
57
62
|
borderLeft: '1px dotted #666'
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -741,42 +741,6 @@ HEventResponder = HClass.extend({
|
|
741
741
|
*
|
742
742
|
**/
|
743
743
|
textEnter: function() {},
|
744
|
-
|
745
|
-
/** -- DON'T TOUCH _mouseOver, IT IS A LOW-LEVEL HANDLER, use focus() instead ++ **/
|
746
|
-
_mouseOver: function(e) {
|
747
|
-
if (!Event.element) {
|
748
|
-
return;
|
749
|
-
}
|
750
|
-
var _that = Event.element(e);
|
751
|
-
while(_that && _that.ctrl === undefined) {
|
752
|
-
_that = _that.parentNode;
|
753
|
-
}
|
754
|
-
if (!_that) {
|
755
|
-
return;
|
756
|
-
}
|
757
|
-
var _this = _that.ctrl;
|
758
|
-
|
759
|
-
EVENT.focus(_this);
|
760
|
-
Event.stop(e);
|
761
|
-
},
|
762
|
-
|
763
|
-
/** -- DON'T TOUCH _mouseOut, IT IS A LOW-LEVEL HANDLER, use blur() instead ++ **/
|
764
|
-
_mouseOut: function(e) {
|
765
|
-
if (!Event.element) {
|
766
|
-
return;
|
767
|
-
}
|
768
|
-
var _that = Event.element(e);
|
769
|
-
while(_that && _that.ctrl === undefined) {
|
770
|
-
_that = _that.parentNode;
|
771
|
-
}
|
772
|
-
if (!_that) {
|
773
|
-
return;
|
774
|
-
}
|
775
|
-
var _this = _that.owner;
|
776
|
-
|
777
|
-
EVENT.blur(_this);
|
778
|
-
Event.stop(e);
|
779
|
-
},
|
780
744
|
|
781
745
|
/** Selection handling; currently under construction
|
782
746
|
**/
|
File without changes
|
File without changes
|
File without changes
|
@@ -301,7 +301,6 @@ EventManagerApp = HApplication.extend
|
|
301
301
|
@observe( window, 'resize', 'resize' )
|
302
302
|
@observe( window, 'blur', '_domWindowBlur' )
|
303
303
|
@observe( window, 'focus', '_domWindowFocus' )
|
304
|
-
# @_legacyStart()
|
305
304
|
#
|
306
305
|
# Stops EventManager
|
307
306
|
stop: ->
|
@@ -321,56 +320,6 @@ EventManagerApp = HApplication.extend
|
|
321
320
|
@stopObserving( window, 'blur', '_domWindowBlur' )
|
322
321
|
@stopObserving( window, 'focus', '_domWindowFocus' )
|
323
322
|
#
|
324
|
-
## LEGACY; to be removed
|
325
|
-
#
|
326
|
-
# Set to false, if your app don't need drop events.
|
327
|
-
# Setting this to false, when not needed, improves over-all performance,
|
328
|
-
# because the drop events need constant calculation of where the mouse
|
329
|
-
# curser (or last touch) was against all possible drop targets.
|
330
|
-
enableDroppableChecks: true
|
331
|
-
#
|
332
|
-
# Initializes the members used by the drop-related events.
|
333
|
-
# This method is called from within the EventMangaer and is never called,
|
334
|
-
# if @enableDroppableChecks is false
|
335
|
-
# startDroppable: ->
|
336
|
-
# @warn "EventManager#startDroppable is deprecated"
|
337
|
-
# @hovered = [] # Drop-eligible items under the mouse cursor
|
338
|
-
# @hoverInterval = 200 # Milliseconds between checks
|
339
|
-
# @hoverTimer = new Date().getTime() # Time since last check was triggered
|
340
|
-
#
|
341
|
-
# Legacy startup, semi-compatible
|
342
|
-
# _legacyStart: ->
|
343
|
-
# @warn "EventManager#"+'_'+"legacyStart is deprecated"
|
344
|
-
# @listeners = [] # NOT SUPPORTED
|
345
|
-
# @focused = @_listeners.focused # DEPRECATED
|
346
|
-
# @resizeListeners = @_listeners.byEvent.resize # DEPRECATED
|
347
|
-
# @eventOptions = @_listeners.byId # DEPRECATED
|
348
|
-
# @dragItems = @_listeners.dragged # DEPRECATED
|
349
|
-
# @topmostDroppable = null # NOT SUPPORTED
|
350
|
-
# @textEnterCtrls = @_listeners.byEvent.textEnter # DEPRECATED
|
351
|
-
# @_coordCache = [] # NOT SUPPORTED
|
352
|
-
# @_coordCacheFlag = true # NOT SUPPORTED
|
353
|
-
# @_lastCoordFlushTimeout = null # NOT SUPPORTED
|
354
|
-
# @activeControl = null # NOT SUPPORTED
|
355
|
-
# @_lastKeyDown = null # NOT SUPPORTED
|
356
|
-
# @_origDroppableChecks = @enableDroppablechecks # DEPRECATED
|
357
|
-
# @startDroppable() if @enableDroppableChecks # DEPRECATED
|
358
|
-
#
|
359
|
-
# Flushes the position cache by elemId. If no elemId is specified,
|
360
|
-
# everything is flushed.
|
361
|
-
coordCacheFlush: (_elemId)->
|
362
|
-
@warn "EventManager#coordCacheFlush is deprecated"
|
363
|
-
if _elemId
|
364
|
-
@_coordCache[_elemId] = null
|
365
|
-
else
|
366
|
-
@_coordCache = []
|
367
|
-
#
|
368
|
-
# Flushed mouseMove timers, actually did more or less all the mouseMove work:
|
369
|
-
flushMouseMove: (x,y)->
|
370
|
-
@warn( "EventManager#flushMouseMove => Unsupported call, don't call it!", _ctrl )
|
371
|
-
return false
|
372
|
-
## /LEGACY
|
373
|
-
#
|
374
323
|
# Ensures the type of the object is a HControl
|
375
324
|
_ensureValidControl: (_ctrl,_warnMethodName)->
|
376
325
|
_warnMethodName = '[unknown]' unless _warnMethodName
|
@@ -414,7 +363,6 @@ EventManagerApp = HApplication.extend
|
|
414
363
|
if _ctrl.enabled
|
415
364
|
@_listeners.enabled.unshift( _viewId ) unless ~@_listeners.enabled.indexOf(_viewId)
|
416
365
|
_elem = ELEM.get( _ctrl.elemId )
|
417
|
-
@observe( _elem, 'mouseover', '_mouseOver' )
|
418
366
|
[ x, y ] = @status.crsr
|
419
367
|
_matchIds = @_findTopmostEnabled( HPoint.new( x, y ), 'contains', null )
|
420
368
|
if ~_matchIds.indexOf( _viewId )
|
@@ -449,12 +397,9 @@ EventManagerApp = HApplication.extend
|
|
449
397
|
else if _statusItem == 'active'
|
450
398
|
_ctrl._lostActiveStatus( null )
|
451
399
|
else if _statusItem == 'focused'
|
452
|
-
|
453
|
-
@stopObserving( _elem, 'mouseout', '_mouseOut' )
|
400
|
+
@blur( _ctrl )
|
454
401
|
_wasFocused = true
|
455
402
|
else if _statusItem == 'enabled'
|
456
|
-
unless _wasFocused
|
457
|
-
@stopObserving( _elem, 'mouseover', '_mouseOver' )
|
458
403
|
_ctrl.setEnabled( false ) if _ctrl.enabled
|
459
404
|
_viewIdx = @_listeners[_statusItem].indexOf(_viewId)
|
460
405
|
if ~_viewIdx
|
@@ -503,12 +448,9 @@ EventManagerApp = HApplication.extend
|
|
503
448
|
for _viewId in @_listeners.byEvent.resize
|
504
449
|
_ctrl = @_views[_viewId]
|
505
450
|
_ctrl.resize() if _ctrl.resize?
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
_ctrl.onResize()
|
510
|
-
## /Deprecate
|
511
|
-
HSystem._updateFlexibleRects()
|
451
|
+
setTimeout(->
|
452
|
+
HSystem._updateFlexibleRects()
|
453
|
+
, 100 )
|
512
454
|
#
|
513
455
|
# Finds the next elem with a view_id attribute
|
514
456
|
_findViewId: (_elem)->
|
@@ -538,26 +480,12 @@ EventManagerApp = HApplication.extend
|
|
538
480
|
Event.stop(e) if _stop
|
539
481
|
return _ctrl
|
540
482
|
#
|
541
|
-
# Enables focused state of enabled HControls by listening to the
|
542
|
-
# view-element-specific mouseover event.
|
543
|
-
_mouseOver: (e)->
|
544
|
-
_ctrl = @_findEventControl(e, '_'+'mouseOver')
|
545
|
-
@focus(_ctrl) if _ctrl
|
546
|
-
#
|
547
|
-
# Disables focused state of enabled HControls by listening to the
|
548
|
-
# view-element-specific mouseout event.
|
549
|
-
_mouseOut: (e)->
|
550
|
-
_ctrl = @_findEventControl(e, '_'+'mouseOut')
|
551
|
-
@blur(_ctrl) if _ctrl
|
552
|
-
#
|
553
483
|
# Focuses a control, triggered based on the view-element-specific
|
554
484
|
# mouseover event.
|
555
485
|
focus: (_ctrl)->
|
556
486
|
_viewId = _ctrl.viewId
|
557
487
|
unless ~@_listeners.focused.indexOf(_viewId)
|
558
488
|
_elem = ELEM.get( _ctrl.elemId )
|
559
|
-
@observe( _elem, 'mouseout', '_mouseOut' )
|
560
|
-
@stopObserving( _elem, 'mouseover', '_mouseOver' )
|
561
489
|
@_listeners.focused.unshift(_viewId)
|
562
490
|
unless _ctrl.focus?
|
563
491
|
@warn( "EventManager#focus => The viewId:#{_viewId} doesn't have a 'focus' method.")
|
@@ -571,17 +499,52 @@ EventManagerApp = HApplication.extend
|
|
571
499
|
_viewIdx = @_listeners.focused.indexOf(_viewId)
|
572
500
|
if ~_viewIdx
|
573
501
|
_elem = ELEM.get( _ctrl.elemId )
|
574
|
-
@observe( _elem, 'mouseover', '_mouseOver' )
|
575
|
-
@stopObserving( _elem, 'mouseout', '_mouseOut' )
|
576
502
|
@_listeners.focused.splice(_viewIdx,1)
|
577
503
|
unless _ctrl.blur?
|
578
504
|
@warn( "EventManager#blur => The viewId:#{_viewId} doesn't have a 'blur' method.")
|
579
505
|
return false
|
580
|
-
## Should probably perform additional de-registration on active events
|
581
|
-
## dependant on focus here.
|
582
|
-
##
|
583
|
-
##
|
584
506
|
_ctrl.blur()
|
507
|
+
|
508
|
+
_debugHighlight: (_ctrl)->
|
509
|
+
unless @isProduction
|
510
|
+
unless @_debugHighlightT?
|
511
|
+
@_debugHighlightT = ELEM.make(0,'div')
|
512
|
+
@_debugHighlightR = ELEM.make(0,'div')
|
513
|
+
@_debugHighlightB = ELEM.make(0,'div')
|
514
|
+
@_debugHighlightL = ELEM.make(0,'div')
|
515
|
+
for _elemId in [
|
516
|
+
@_debugHighlightT, @_debugHighlightL,
|
517
|
+
@_debugHighlightB, @_debugHighlightR ]
|
518
|
+
ELEM.setStyles( _elemId,
|
519
|
+
position: 'absolute'
|
520
|
+
left: 0
|
521
|
+
top: 0
|
522
|
+
width: 0
|
523
|
+
height: 0
|
524
|
+
background: 'red'
|
525
|
+
zIndex: 20000
|
526
|
+
)
|
527
|
+
for _elemId in [ @_debugHighlightT, @_debugHighlightB ]
|
528
|
+
ELEM.setStyle( _elemId, 'height', '1px' )
|
529
|
+
for _elemId in [ @_debugHighlightL, @_debugHighlightR ]
|
530
|
+
ELEM.setStyle( _elemId, 'width', '1px' )
|
531
|
+
_rect = _ctrl.rect
|
532
|
+
x = _ctrl.pageX()
|
533
|
+
y = _ctrl.pageY()
|
534
|
+
w = _rect.width
|
535
|
+
h = _rect.height
|
536
|
+
for _elemId in [ @_debugHighlightT, @_debugHighlightL ]
|
537
|
+
ELEM.setStyle( _elemId, 'left', x+'px' )
|
538
|
+
ELEM.setStyle( _elemId, 'top', y+'px' )
|
539
|
+
for _elemId in [ @_debugHighlightT, @_debugHighlightB ]
|
540
|
+
ELEM.setStyle( _elemId, 'width', w+'px' )
|
541
|
+
for _elemId in [ @_debugHighlightL, @_debugHighlightR ]
|
542
|
+
ELEM.setStyle( _elemId, 'height', h+'px' )
|
543
|
+
ELEM.setStyle( @_debugHighlightB, 'top', (y+h)+'px' )
|
544
|
+
ELEM.setStyle( @_debugHighlightB, 'left', x+'px' )
|
545
|
+
ELEM.setStyle( @_debugHighlightR, 'top', y+'px' )
|
546
|
+
ELEM.setStyle( @_debugHighlightR, 'left', (x+w)+'px' )
|
547
|
+
|
585
548
|
#
|
586
549
|
# Mouse movement manager. Triggered by the global mousemove event.
|
587
550
|
# Delegates the following event responder methods to focused HControl instances:
|
@@ -594,8 +557,30 @@ EventManagerApp = HApplication.extend
|
|
594
557
|
[ x, y ] = @status.crsr
|
595
558
|
Event.stop(e) if @_handleMouseMove( x, y )
|
596
559
|
#
|
560
|
+
# Finds new focusable components after the
|
561
|
+
# mouse has been moved (replacement of mouseover/mouseout)
|
562
|
+
_findNewFocus: (x,y)->
|
563
|
+
_dragged = @_listeners.dragged
|
564
|
+
if _dragged.length != 0
|
565
|
+
console.log('dragged:',_dragged)
|
566
|
+
return
|
567
|
+
_matchIds = @_findTopmostEnabled( HPoint.new( x, y ), 'contains', null )
|
568
|
+
_focused = @_listeners.focused
|
569
|
+
if _matchIds.length == 0
|
570
|
+
for _focusId in _focused
|
571
|
+
@blur( @_views[_focusId] )
|
572
|
+
for _viewId in _matchIds
|
573
|
+
continue if ~_focused.indexOf(_viewId)
|
574
|
+
_ctrl = @_views[_viewId]
|
575
|
+
@_debugHighlight(_ctrl)
|
576
|
+
for _focusId in _focused
|
577
|
+
@blur( @_views[_focusId] )
|
578
|
+
_focused.splice( _focused.indexOf(_focusId), 1 )
|
579
|
+
@focus( _ctrl )
|
580
|
+
#
|
597
581
|
# Just split to gain namespace:
|
598
582
|
_handleMouseMove: ( x, y )->
|
583
|
+
@_findNewFocus(x,y)
|
599
584
|
@_delegateMouseMove(x,y)
|
600
585
|
_currentlyDragging = @_delegateDrag(x,y)
|
601
586
|
return _currentlyDragging
|
@@ -683,7 +668,7 @@ EventManagerApp = HApplication.extend
|
|
683
668
|
else
|
684
669
|
_searchArea = _area
|
685
670
|
if _view.hasAncestor? and _view.hasAncestor( HView )
|
686
|
-
if _view.rect[_matchMethod](_searchArea)
|
671
|
+
if _view.rect[_matchMethod](_searchArea) and !_view.isHidden
|
687
672
|
if ~_arrOfIds.indexOf( _viewId )
|
688
673
|
_foundId = _search( _view.viewsZOrder.slice().reverse() )
|
689
674
|
return _foundId if _foundId
|
@@ -872,7 +857,6 @@ EventManagerApp = HApplication.extend
|
|
872
857
|
@_listeners.dragged = []
|
873
858
|
@_cancelTextSelection() unless _endDragIds.length == 0 and _mouseUpIds.length == 0
|
874
859
|
Event.stop(e) if _stop
|
875
|
-
## /jatka
|
876
860
|
#
|
877
861
|
# Handles mouse button clicks
|
878
862
|
# It's different from mouseUp/mouseDown, because it's a different event,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -247,6 +247,7 @@ HMorphAnimation = HClass.extend({
|
|
247
247
|
if(typeof this.endAnimation == 'function'){
|
248
248
|
this.endAnimation();
|
249
249
|
}
|
250
|
+
HSystem._updateFlexibleRects();
|
250
251
|
},
|
251
252
|
|
252
253
|
/** Extend this method if functionality is desired upon cancellation of animation.
|
@@ -255,5 +256,6 @@ HMorphAnimation = HClass.extend({
|
|
255
256
|
if(typeof this.cancelAnimation == 'function'){
|
256
257
|
this.cancelAnimation();
|
257
258
|
}
|
259
|
+
HSystem._updateFlexibleRects();
|
258
260
|
}
|
259
261
|
});
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -22,17 +22,17 @@ HMiniMenu = HRadioButtonList.extend({
|
|
22
22
|
},
|
23
23
|
|
24
24
|
repositionMenuItems: function(){
|
25
|
-
if(!this.listItems || (this.listItems && !this.listItems.length)){ return; }
|
26
25
|
var
|
27
26
|
x = this.pageX(),
|
28
27
|
y = this.pageY(),
|
29
28
|
w = this.rect.width,
|
30
|
-
|
29
|
+
_listItems = this.listItems ? (this.listItems.length ? this.listItems : [] ) : [],
|
30
|
+
h = _listItems.length*this.subComponentHeight,
|
31
31
|
i = 0,
|
32
32
|
listItem = null;
|
33
|
-
for(;i<
|
34
|
-
if(
|
35
|
-
listItem =
|
33
|
+
for(;i<_listItems.length && listItem === null;i++){
|
34
|
+
if(_listItems[i][0]===this.value){
|
35
|
+
listItem = _listItems[i];
|
36
36
|
}
|
37
37
|
}
|
38
38
|
y -= (i-1)*this.subComponentHeight;
|
@@ -47,13 +47,24 @@ HMiniMenu = HRadioButtonList.extend({
|
|
47
47
|
x += this.options.menuItemGeom.left;
|
48
48
|
}
|
49
49
|
}
|
50
|
-
|
50
|
+
var
|
51
|
+
mw = x+w,
|
52
|
+
mh = y+h;
|
53
|
+
this._menuItemViewShowPos = [ x, y ];
|
54
|
+
this._menuItemViewHidePos = [ 0-mw, 0-mh ];
|
55
|
+
this.menuItemView.rect.set( x, y, mw, mh );
|
56
|
+
this.menuItemView.offsetTo( 0-mw, 0-mh );
|
51
57
|
this.menuItemView.refresh();
|
58
|
+
this.menuItemView.hide();
|
52
59
|
},
|
53
60
|
|
54
61
|
click: function(){
|
55
62
|
if(!this.active){return false;}
|
56
|
-
this.
|
63
|
+
if( ELEM.getStyle(this.menuItemView.elemId,'visibility',true) === 'hidden' ) {
|
64
|
+
this.menuShow();
|
65
|
+
}else{
|
66
|
+
this.menuHide();
|
67
|
+
}
|
57
68
|
return false;
|
58
69
|
},
|
59
70
|
|
@@ -71,6 +82,8 @@ HMiniMenu = HRadioButtonList.extend({
|
|
71
82
|
|
72
83
|
menuShow: function(){
|
73
84
|
this.repositionMenuItems();
|
85
|
+
var m = this._menuItemViewShowPos, x=m[0], y=m[1];
|
86
|
+
this.menuItemView.offsetTo( x, y );
|
74
87
|
this.menuItemView.bringToFront();
|
75
88
|
this.menuItemView.show();
|
76
89
|
return true;
|
@@ -78,9 +91,10 @@ HMiniMenu = HRadioButtonList.extend({
|
|
78
91
|
|
79
92
|
menuHide: function(){
|
80
93
|
if( this.menuItemView ){
|
94
|
+
var m = this._menuItemViewHidePos, x=m[0], y=m[1];
|
95
|
+
this.menuItemView.offsetTo( x, y );
|
81
96
|
this.menuItemView.sendToBack();
|
82
97
|
this.menuItemView.hide();
|
83
|
-
this.menuItemView.offsetTo(0-this.menuItemView.rect.width,0-this.menuItemView.rect.height);
|
84
98
|
}
|
85
99
|
},
|
86
100
|
|
@@ -101,7 +115,6 @@ HMiniMenu = HRadioButtonList.extend({
|
|
101
115
|
gainedActiveStatus: function(_prevActive){
|
102
116
|
if( _prevActive && _prevActive.isChildOf( this.menuItemView ) ){
|
103
117
|
this.menuHide();
|
104
|
-
// EVENT.changeActiveControl(null);
|
105
118
|
}
|
106
119
|
this.base(_prevActive);
|
107
120
|
},
|
@@ -133,13 +146,15 @@ HMiniMenu = HRadioButtonList.extend({
|
|
133
146
|
'background-color': '#f6f6f6',
|
134
147
|
'border': '1px solid #999',
|
135
148
|
'overflow': 'auto',
|
136
|
-
'overflow-x': 'hidden'
|
149
|
+
'overflow-x': 'hidden',
|
150
|
+
'display': 'none'
|
137
151
|
};
|
138
152
|
if(!BROWSER_TYPE.ie){
|
139
153
|
itemStyle.opacity = 0.9;
|
140
154
|
}
|
141
155
|
this.menuItemView = HView.nu(
|
142
|
-
[ this.rect.left, this.rect.top, this.rect.width, 10 ],
|
156
|
+
// [ this.rect.left, this.rect.top, this.rect.width, 10 ],
|
157
|
+
[ 0-this.rect.width, 0-this.rect.height, this.rect.width, 10 ],
|
143
158
|
this.app, {
|
144
159
|
visible: false,
|
145
160
|
style: itemStyle,
|
File without changes
|
File without changes
|
File without changes
|
@@ -12,16 +12,8 @@ HMiniMenuItem = HRadioButton.extend({
|
|
12
12
|
mouseUp: true,
|
13
13
|
mouseDown: true
|
14
14
|
},
|
15
|
-
|
16
|
-
_activateParentParent: function(){
|
17
|
-
var _parentParent = this.parent.options.logicParent;
|
18
|
-
EVENT.changeActiveControl(_parentParent);
|
19
|
-
// EVENT.changeActiveControl(null);
|
20
|
-
// EVENT.blur( _this );
|
21
|
-
},
|
22
15
|
|
23
16
|
gainedActiveStatus: function( _prevActive ){
|
24
|
-
// console.log('menuitem gained active status',_prevActive === this.parent.options.logicParent);
|
25
17
|
this.base( _prevActive );
|
26
18
|
},
|
27
19
|
|
@@ -37,7 +29,6 @@ HMiniMenuItem = HRadioButton.extend({
|
|
37
29
|
this.base();
|
38
30
|
this._parentLastActivation = _now;
|
39
31
|
EVENT.changeActiveControl(null);
|
40
|
-
// this._activateParentParent();
|
41
32
|
}
|
42
33
|
return true;
|
43
34
|
},
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -119,12 +119,12 @@ module RSence
|
|
119
119
|
end
|
120
120
|
|
121
121
|
# Load client packaging configuration:
|
122
|
-
client_pkg_conf = File.join(SERVER_PATH,'conf','client_pkg.yaml')
|
122
|
+
client_pkg_conf = File.join(SERVER_PATH,'client','conf','client_pkg.yaml')
|
123
123
|
config[:client_pkg] = YAML.load( File.read( client_pkg_conf ) )
|
124
124
|
|
125
125
|
# Makes the distribution 'js' directory containing the client core the
|
126
126
|
# first client package source directory.
|
127
|
-
config[:client_pkg][:src_dirs].unshift( File.join( SERVER_PATH, 'js' ) )
|
127
|
+
config[:client_pkg][:src_dirs].unshift( File.join( SERVER_PATH, 'client', 'js' ) )
|
128
128
|
|
129
129
|
# At this point, configuration files are read and ready.
|
130
130
|
|