rsence-pre 2.3.0.1 → 2.3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/js/comm/comm.js +1 -1
- data/js/comm/jsloader/jsloader.js +1 -1
- data/js/comm/urlresponder/urlresponder.js +4 -4
- data/js/comm/values/values.js +2 -2
- data/js/controls/dialogs/sheet/sheet.js +95 -49
- data/js/controls/dialogs/sheet/themes/default/sheet.css +22 -18
- data/js/controls/dialogs/sheet/themes/default/sheet.html +10 -12
- data/js/controls/tab/tab.js +6 -3
- data/js/controls/textcontrol/textcontrol.js +1 -1
- data/js/controls/uploader/uploader.coffee +1 -1
- data/js/core/class/class.js +1 -1
- data/js/core/elem/elem.coffee +20 -20
- data/js/core/iefix/iefix.js +2 -2
- data/js/datetime/timesheet/timesheet.js +4 -4
- data/js/foundation/control/dyncontrol/dyncontrol.js +3 -3
- data/js/foundation/control/valueaction/valueaction.js +8 -1
- data/js/foundation/control/valuematrix/valuematrix.js +3 -3
- data/js/foundation/control/valueresponder/valueresponder.js +1 -1
- data/js/foundation/eventmanager/eventmanager.coffee +106 -62
- data/js/foundation/geom/rect/rect.js +2 -2
- data/js/foundation/json_renderer/json_renderer.js +3 -3
- data/js/foundation/system/system.js +2 -2
- data/js/foundation/thememanager/thememanager.js +4 -4
- data/js/foundation/value/value.js +1 -1
- data/js/foundation/view/view.js +4 -4
- data/js/lists/checkboxlist/checkboxlist.js +4 -4
- data/js/lists/listitems/listitems.js +1 -1
- data/js/lists/propertylist/propertylisteditor/propertylisteditor.js +2 -2
- metadata +2 -2
@@ -122,14 +122,14 @@ EventManagerApp = HApplication.extend
|
|
122
122
|
4: []
|
123
123
|
keysDown: []
|
124
124
|
hasKeyDown: (k)->
|
125
|
-
|
125
|
+
!!~@keysDown.indexOf(k)
|
126
126
|
addKeyDown: (k)->
|
127
127
|
if !@hasKeyDown(k)
|
128
128
|
@keysDown.push( k )
|
129
129
|
@[4] = @keysDown
|
130
130
|
delKeyDown: (k)->
|
131
131
|
i = @keysDown.indexOf(k)
|
132
|
-
if i
|
132
|
+
if ~i
|
133
133
|
@keysDown.splice( i, 1 )
|
134
134
|
@[4] = @keysDown
|
135
135
|
resetKeysDown: ->
|
@@ -199,8 +199,8 @@ EventManagerApp = HApplication.extend
|
|
199
199
|
#
|
200
200
|
# List of used event methods for global purposes:
|
201
201
|
_eventMethods: [
|
202
|
-
'
|
203
|
-
'
|
202
|
+
'resize', 'mouseMove', 'doubleClick', 'contextMenu', 'click', 'mouseUp',
|
203
|
+
'mouseDown', 'keyUp', 'keyDown', 'mouseWheel'
|
204
204
|
]
|
205
205
|
#
|
206
206
|
# This structure keeps track of registered elem/event/object/method; see #observe and #stopObserving
|
@@ -220,7 +220,7 @@ EventManagerApp = HApplication.extend
|
|
220
220
|
}
|
221
221
|
_cache = @_observerMethods[_eventName]
|
222
222
|
_elemIdx = _cache.elems.indexOf( _elem )
|
223
|
-
if _elemIdx
|
223
|
+
if ~_elemIdx
|
224
224
|
_prevFn = _cache.fns[_elemIdx]
|
225
225
|
_prevCapture = _cache.capture[_elemIdx]
|
226
226
|
Event.stopObserving( _elem, _eventName, _prevFn, _prevCapture )
|
@@ -241,7 +241,7 @@ EventManagerApp = HApplication.extend
|
|
241
241
|
return false
|
242
242
|
_cache = @_observerMethods[_eventName]
|
243
243
|
_elemIdx = _cache.elems.indexOf(_elem)
|
244
|
-
return false
|
244
|
+
return false unless ~_elemIdx
|
245
245
|
_prevFn = _cache.fns[_elemIdx]
|
246
246
|
_prevCapture = _cache.capture[_elemIdx]
|
247
247
|
Event.stopObserving( _elem, _eventName, _prevFn, _prevCapture )
|
@@ -402,19 +402,18 @@ EventManagerApp = HApplication.extend
|
|
402
402
|
_value = _eventOptions[_key]
|
403
403
|
if _value
|
404
404
|
_eventsOn.push( _key )
|
405
|
-
@_listeners.byEvent[_key].unshift( _viewId )
|
406
|
-
if _key == 'rectHover' and _value == 'intersects' and
|
405
|
+
@_listeners.byEvent[_key].unshift( _viewId ) unless ~@_listeners.byEvent[_key].indexOf(_viewId)
|
406
|
+
if _key == 'rectHover' and _value == 'intersects' and not ~@_listeners._rectHoverIntersectMode.indexOf( _viewId )
|
407
407
|
@_listeners._rectHoverIntersectMode.unshift( _viewId )
|
408
408
|
else
|
409
409
|
_idx = @_listeners.byEvent[_key].indexOf(_viewId)
|
410
|
-
|
411
|
-
@_listeners.byEvent[_key].splice( _idx, 1 )
|
410
|
+
@_listeners.byEvent[_key].splice( _idx, 1 ) if ~_idx
|
412
411
|
else
|
413
412
|
@warn( "EventManager##{_warnMethodName} => Invalid event type: #{_key}" )
|
414
413
|
_this = @
|
415
414
|
@_listeners.byId[_viewId] = _eventsOn
|
416
415
|
if _ctrl.enabled
|
417
|
-
@_listeners.enabled.unshift( _viewId )
|
416
|
+
@_listeners.enabled.unshift( _viewId ) unless ~@_listeners.enabled.indexOf(_viewId)
|
418
417
|
_elem = ELEM.get( _ctrl.elemId )
|
419
418
|
@observe( _elem, 'mouseover', '_mouseOver' )
|
420
419
|
#
|
@@ -426,20 +425,18 @@ EventManagerApp = HApplication.extend
|
|
426
425
|
delete @_listeners.byId[_viewId]
|
427
426
|
else
|
428
427
|
@warn( "EventManager##{_warnMethodName} => viewId not registered: #{_viewId}" )
|
429
|
-
console.log(@_listeners.byId[_viewId],_viewId,_ctrl)
|
430
428
|
for _key, _value of @_listeners.byEvent
|
431
429
|
_viewIdx = _value.indexOf(_viewId)
|
432
|
-
if _viewIdx
|
433
|
-
_value.splice(_viewIdx,1)
|
430
|
+
_value.splice(_viewIdx,1) if ~_viewIdx
|
434
431
|
if _key == 'rectHover'
|
435
432
|
_intersectHoverIdx = @_listeners._rectHoverIntersectMode.indexOf( _viewId )
|
436
|
-
if _intersectHoverIdx
|
433
|
+
if ~_intersectHoverIdx
|
437
434
|
@_listeners._rectHoverIntersectMode.splice( _intersectHoverIdx, 1 )
|
438
435
|
_wasFocused = false
|
439
436
|
_elem = ELEM.get( _ctrl.elemId )
|
440
437
|
for _statusItem in [ 'dragged', 'selected', 'hovered', 'active', 'focused', 'enabled' ]
|
441
438
|
_viewIdx = @_listeners[_statusItem].indexOf(_viewId)
|
442
|
-
if _viewIdx
|
439
|
+
if ~_viewIdx
|
443
440
|
if _statusItem == 'dragged'
|
444
441
|
_ctrl.endDrag( @status.crsrX, @status.crsrY )
|
445
442
|
else if _statusItem == 'selected'
|
@@ -552,7 +549,7 @@ EventManagerApp = HApplication.extend
|
|
552
549
|
# mouseover event.
|
553
550
|
focus: (_ctrl)->
|
554
551
|
_viewId = _ctrl.viewId
|
555
|
-
|
552
|
+
unless ~@_listeners.focused.indexOf(_viewId)
|
556
553
|
_elem = ELEM.get( _ctrl.elemId )
|
557
554
|
@observe( _elem, 'mouseout', '_mouseOut' )
|
558
555
|
@stopObserving( _elem, 'mouseover', '_mouseOver' )
|
@@ -567,7 +564,7 @@ EventManagerApp = HApplication.extend
|
|
567
564
|
blur: (_ctrl)->
|
568
565
|
_viewId = _ctrl.viewId
|
569
566
|
_viewIdx = @_listeners.focused.indexOf(_viewId)
|
570
|
-
if _viewIdx
|
567
|
+
if ~_viewIdx
|
571
568
|
_elem = ELEM.get( _ctrl.elemId )
|
572
569
|
@observe( _elem, 'mouseover', '_mouseOver' )
|
573
570
|
@stopObserving( _elem, 'mouseout', '_mouseOut' )
|
@@ -621,8 +618,8 @@ EventManagerApp = HApplication.extend
|
|
621
618
|
# #hover( _dragObj ) and #endHover( _dragObj ) calls
|
622
619
|
_delegateHover: (_ctrl, x, y)->
|
623
620
|
_byEvent = @_listeners.byEvent
|
624
|
-
_findPoint = _byEvent.rectHover.indexOf( _ctrl.viewId )
|
625
|
-
_findTopmost = _byEvent.multiDrop.indexOf( _ctrl.viewId )
|
621
|
+
_findPoint = not ~_byEvent.rectHover.indexOf( _ctrl.viewId )
|
622
|
+
_findTopmost = not ~_byEvent.multiDrop.indexOf( _ctrl.viewId )
|
626
623
|
_findIntersect = true
|
627
624
|
if _findPoint
|
628
625
|
_area = HPoint.new( x, y )
|
@@ -630,7 +627,7 @@ EventManagerApp = HApplication.extend
|
|
630
627
|
else
|
631
628
|
_rect = _ctrl.rect
|
632
629
|
_area = HRect.new( x, y, _rect.width, _rect.height )
|
633
|
-
if
|
630
|
+
if not ~@_listeners._rectHoverIntersectMode.indexOf( _viewId )
|
634
631
|
_matchMethod = 'intersects'
|
635
632
|
else
|
636
633
|
_matchMethod = 'contains'
|
@@ -640,11 +637,11 @@ EventManagerApp = HApplication.extend
|
|
640
637
|
_hoverItems = @_findAllDroppable(_area,_matchMethod,_ctrl.viewid)
|
641
638
|
_endHover = []
|
642
639
|
for _hoverId in @_listeners.hovered
|
643
|
-
|
640
|
+
unless ~_hoverItems.indexOf( _hoverId )
|
644
641
|
_endHover.push( _hoverId )
|
645
642
|
_startHover = []
|
646
643
|
for _hoverId in _hoverItems
|
647
|
-
|
644
|
+
unless ~@_listeners.hovered.indexOf( _hoverId )
|
648
645
|
_startHover.push( _hoverId )
|
649
646
|
for _viewId in _startHover
|
650
647
|
@_views[_viewId].startHover(_ctrl)
|
@@ -662,8 +659,15 @@ EventManagerApp = HApplication.extend
|
|
662
659
|
for _viewId in _parentIds
|
663
660
|
continue if _viewId == _selfId
|
664
661
|
_view = _views[_viewId]
|
665
|
-
if _view.
|
666
|
-
if
|
662
|
+
if _view.parent.hasAncestor( HView )
|
663
|
+
if _area.offsetTo?
|
664
|
+
_searchArea = HRect.nu(_area).offsetTo( _area.left-_view.parent.pageX(), _area.top-_view.parent.pageY() )
|
665
|
+
else
|
666
|
+
_searchArea = HPoint.nu( _area.x-_view.parent.pageX(), _area.y-_view.parent.pageY() )
|
667
|
+
else
|
668
|
+
_searchArea = _area
|
669
|
+
if _view.hasAncestor? and _view.hasAncestor( HView ) and _view.rect[_matchMethod](_searchArea)
|
670
|
+
if ~_droppable.indexOf( _viewId )
|
667
671
|
_dropId = _search( _view.viewsZOrder.slice().reverse() )
|
668
672
|
return _dropId if _dropId
|
669
673
|
return _viewId
|
@@ -684,7 +688,7 @@ EventManagerApp = HApplication.extend
|
|
684
688
|
continue if _viewId == _selfId
|
685
689
|
_view = _views[_viewId]
|
686
690
|
if _view.hasAncestor? and _view.hasAncestor( HView ) and _view.rect[_matchMethod](_area)
|
687
|
-
_found.push( _viewId ) if _droppable.indexOf( _viewId )
|
691
|
+
_found.push( _viewId ) if ~_droppable.indexOf( _viewId )
|
688
692
|
_search( _view.viewsZOrder.slice().reverse() )
|
689
693
|
_search( HSystem.viewsZOrder.slice().reverse() )
|
690
694
|
return _found
|
@@ -693,19 +697,36 @@ EventManagerApp = HApplication.extend
|
|
693
697
|
delActiveControl: (_newActive)->
|
694
698
|
_active = @_listeners.active
|
695
699
|
_focused = @_listeners.focused
|
700
|
+
_dragged = @_listeners.dragged
|
701
|
+
_hovered = @_listeners.hovered
|
696
702
|
return null if _active.length == 0
|
697
|
-
|
698
|
-
|
699
|
-
else
|
703
|
+
_prevActive = @_views[_active[0]]
|
704
|
+
if _active.length != 1
|
700
705
|
@warn "Danger, too many active items: #{JSON.stringify(_active)}"
|
701
706
|
for _viewId in _active.slice()
|
702
707
|
continue if _newActive != null and _viewId == _newActive.viewId
|
703
708
|
_ctrl = @_views[_viewId]
|
704
709
|
_ctrl.active = false
|
705
710
|
_idx = _active.indexOf( _viewId )
|
711
|
+
_dragIdx = _dragged.indexOf(_viewId)
|
712
|
+
# console.log('dragIdx:',~_dragIdx)
|
713
|
+
if ~_dragIdx
|
714
|
+
_dragged.splice( _dragIdx, 1 )
|
715
|
+
for _dropViewId in _hovered
|
716
|
+
_dropCtrl = @_views[_dropViewId]
|
717
|
+
_dropCtrl.endHover(_ctrl) if _dropCtrl.endHover?
|
718
|
+
_dropCtrl.drop(_ctrl) if _dropCtrl.drop?
|
719
|
+
[ x, y ] = @status.crsr
|
720
|
+
_ctrl.endDrag( x, y )
|
706
721
|
_active.splice( _idx, 1 )
|
707
|
-
|
722
|
+
# console.log('lost:',_viewId)
|
723
|
+
@blur(_ctrl) if ~_focused.indexOf(_viewId)
|
708
724
|
_ctrl.lostActiveStatus(_newActive)
|
725
|
+
# _ctrl.setStyle('border','1px dotted red')
|
726
|
+
# if @prevActiveCtrl
|
727
|
+
# @prevActiveCtrl.setStyle('border','1px dotted gray')
|
728
|
+
# @prevActiveCtrl = null
|
729
|
+
# @prevActiveCtrl = _ctrl
|
709
730
|
_prevActive
|
710
731
|
#
|
711
732
|
# Adds the active control
|
@@ -713,11 +734,13 @@ EventManagerApp = HApplication.extend
|
|
713
734
|
_active = @_listeners.active
|
714
735
|
_focused = @_listeners.focused
|
715
736
|
_idx = _active.indexOf( _ctrl.viewId )
|
716
|
-
|
737
|
+
unless ~_idx
|
717
738
|
_active.unshift(_ctrl.viewId)
|
718
|
-
|
739
|
+
# console.log('gained:',_ctrl.viewId)
|
740
|
+
@focus(_ctrl) unless ~_focused.indexOf(_ctrl.viewId)
|
719
741
|
_ctrl.active = true
|
720
742
|
_ctrl.gainedActiveStatus(_prevActive)
|
743
|
+
# _ctrl.setStyle('border','1px dotted blue')
|
721
744
|
#
|
722
745
|
# Sets the active control
|
723
746
|
changeActiveControl: (_ctrl)->
|
@@ -730,7 +753,7 @@ EventManagerApp = HApplication.extend
|
|
730
753
|
_viewId = _ctrl.viewId
|
731
754
|
@focus( _viewId )
|
732
755
|
@changeActiveControl(_ctrl)
|
733
|
-
@_listeners.dragged.unshift( _viewId )
|
756
|
+
@_listeners.dragged.unshift( _viewId ) unless ~@_listeners.dragged.indexOf( _viewId )
|
734
757
|
_ctrl.startDrag( @status.crsrX, @status.crsrY, @status.button2 )
|
735
758
|
#
|
736
759
|
# Cancels text selections, which happen by
|
@@ -759,25 +782,25 @@ EventManagerApp = HApplication.extend
|
|
759
782
|
_startDragIds = []
|
760
783
|
_stop = false
|
761
784
|
for _viewId in _focused
|
762
|
-
_newActive.push( _viewId )
|
785
|
+
_newActive.push( _viewId ) unless ~_active.indexOf(_viewId)
|
763
786
|
_eventOptions = @_listeners.byId[_viewId]
|
764
|
-
if _mouseDownable.indexOf( _viewId )
|
787
|
+
if ~_mouseDownable.indexOf( _viewId )
|
765
788
|
_mouseDownIds.push( _viewId )
|
766
|
-
if _draggable.indexOf( _viewId )
|
789
|
+
if ~_draggable.indexOf( _viewId ) and not ~_dragged.indexOf( _viewId )
|
767
790
|
_startDragIds.push( _viewId )
|
768
791
|
for _viewId in _newActive
|
769
792
|
_ctrl = @_views[_viewId]
|
770
793
|
@changeActiveControl( _ctrl )
|
771
794
|
[ x, y ] = @status.crsr
|
795
|
+
@_handleMouseMove(x,y)
|
772
796
|
for _viewId in _mouseDownIds
|
773
797
|
_ctrl = @_views[_viewId]
|
774
798
|
_stop = true if _ctrl.mouseDown( x, y, _leftClick )
|
775
799
|
for _viewId in _startDragIds
|
776
|
-
|
800
|
+
unless ~_dragged.indexOf( _viewId )
|
777
801
|
_ctrl = @_views[_viewId]
|
778
802
|
_dragged.unshift( _viewId )
|
779
803
|
_stop = true if _ctrl.startDrag( x, y, _leftClick )
|
780
|
-
@_handleMouseMove(x,y)
|
781
804
|
@_cancelTextSelection() unless _startDragIds.length == 0 and _mouseDownIds.length == 0
|
782
805
|
Event.stop(e) if _stop
|
783
806
|
#
|
@@ -804,22 +827,20 @@ EventManagerApp = HApplication.extend
|
|
804
827
|
_endDragIds = []
|
805
828
|
_stop = false
|
806
829
|
for _viewId in _focused
|
807
|
-
_newActive.push( _viewId )
|
830
|
+
_newActive.push( _viewId ) unless ~_active.indexOf(_viewId)
|
808
831
|
_eventOptions = @_listeners.byId[_viewId]
|
809
|
-
if _mouseUppable.indexOf( _viewId )
|
832
|
+
if ~_mouseUppable.indexOf( _viewId )
|
810
833
|
_mouseUpIds.push( _viewId )
|
811
|
-
if _draggable.indexOf( _viewId )
|
834
|
+
if ~_draggable.indexOf( _viewId ) and ~_dragged.indexOf( _viewId )
|
812
835
|
_endDragIds.push( _viewId )
|
813
|
-
for _viewId in _newActive
|
814
|
-
_ctrl = @_views[_viewId]
|
815
|
-
@changeActiveControl( _ctrl )
|
816
836
|
[ x, y ] = @status.crsr
|
837
|
+
@_handleMouseMove(x,y)
|
817
838
|
for _viewId in _mouseUpIds
|
818
839
|
_ctrl = @_views[_viewId]
|
819
840
|
_stop = true if _ctrl.mouseUp( x, y, _leftClick )
|
820
841
|
for _viewId in _endDragIds
|
821
842
|
_dragIdx = _dragged.indexOf( _viewId )
|
822
|
-
|
843
|
+
if ~_dragIdx
|
823
844
|
_ctrl = @_views[_viewId]
|
824
845
|
_dragged.splice( _dragIdx, 1 )
|
825
846
|
for _dropViewId in _hovered
|
@@ -827,9 +848,11 @@ EventManagerApp = HApplication.extend
|
|
827
848
|
_dropCtrl.endHover(_ctrl) if _dropCtrl.endHover?
|
828
849
|
_dropCtrl.drop(_ctrl) if _dropCtrl.drop?
|
829
850
|
_stop = true if _ctrl.endDrag( x, y, _leftClick )
|
851
|
+
for _viewId in _newActive
|
852
|
+
_ctrl = @_views[_viewId]
|
853
|
+
@changeActiveControl( _ctrl )
|
830
854
|
@_listeners.hovered = []
|
831
855
|
@_listeners.dragged = []
|
832
|
-
@_handleMouseMove(x,y)
|
833
856
|
@_cancelTextSelection() unless _endDragIds.length == 0 and _mouseUpIds.length == 0
|
834
857
|
Event.stop(e) if _stop
|
835
858
|
## /jatka
|
@@ -849,28 +872,47 @@ EventManagerApp = HApplication.extend
|
|
849
872
|
_focused = @_listeners.focused
|
850
873
|
_active = @_listeners.active
|
851
874
|
_clickable = @_listeners.byEvent.click
|
875
|
+
_doubleClickable = @_listeners.byEvent.doubleClick
|
876
|
+
_doubleClickWait = []
|
852
877
|
_newActive = []
|
853
878
|
_clickIds = []
|
854
879
|
_stop = false
|
855
880
|
for _viewId in _focused
|
856
|
-
_newActive.push( _viewId )
|
857
|
-
if _clickable.indexOf(_viewId)
|
881
|
+
_newActive.push( _viewId ) unless ~_active.indexOf(_viewId)
|
882
|
+
if ~_clickable.indexOf(_viewId) and ~_doubleClickable.indexOf(_viewId)
|
883
|
+
_doubleClickWait.push( _viewId )
|
884
|
+
else if ~_clickable.indexOf(_viewId)
|
858
885
|
_clickIds.push( _viewId )
|
859
886
|
for _viewId in _newActive
|
860
887
|
_ctrl = @_views[_viewId]
|
861
888
|
@changeActiveControl( _ctrl )
|
862
889
|
[ x, y ] = @status.crsr
|
890
|
+
@_handleMouseMove(x,y)
|
863
891
|
for _viewId in _clickIds
|
864
892
|
_ctrl = @_views[_viewId]
|
865
893
|
unless _ctrl.click? and typeof _ctrl.click == 'function'
|
866
894
|
@warn( 'no click:', _ctrl, _ctrl.click?, typeof _ctrl.click )
|
867
895
|
continue
|
868
896
|
_stop = true if _ctrl.click( x, y, _leftClick )
|
869
|
-
|
897
|
+
if _doubleClickWait.length
|
898
|
+
_this = @
|
899
|
+
@dblClickWait = setTimeout( (->
|
900
|
+
for _viewId in _doubleClickWait
|
901
|
+
_ctrl = _this._views[_viewId]
|
902
|
+
unless _ctrl.click? and typeof _ctrl.click == 'function'
|
903
|
+
_this.warn( 'no click:', _ctrl, _ctrl.click?, typeof _ctrl.click )
|
904
|
+
continue
|
905
|
+
_stop = true if _ctrl.click( x, y, _leftClick )
|
906
|
+
Event.stop(e) if _stop
|
907
|
+
), 50
|
908
|
+
)
|
870
909
|
Event.stop(e) if _stop
|
871
910
|
#
|
872
911
|
# Handles doubleClick events
|
873
912
|
doubleClick: (e)->
|
913
|
+
if @dblClickWait
|
914
|
+
clearTimeout( @dblClickWait )
|
915
|
+
delete this['dblClickWait']
|
874
916
|
@_modifiers(e)
|
875
917
|
_leftClick = Event.isLeftClick(e)
|
876
918
|
@status.setButton1( false )
|
@@ -881,12 +923,14 @@ EventManagerApp = HApplication.extend
|
|
881
923
|
_doubleClicks = []
|
882
924
|
_doubleClickable = @_listeners.byEvent.doubleClick
|
883
925
|
_stop = false
|
926
|
+
# console.log('focused:',_focused)
|
884
927
|
for _viewId in _focused
|
885
|
-
if _doubleClickable.indexOf(_viewId)
|
928
|
+
if ~_doubleClickable.indexOf(_viewId)
|
886
929
|
_doubleClicks.push( _viewId )
|
887
|
-
for _viewId in
|
930
|
+
for _viewId in _doubleClicks
|
888
931
|
_ctrl = @_views[_viewId]
|
889
932
|
if _ctrl.doubleClick?
|
933
|
+
# console.log _ctrl.componentName
|
890
934
|
_stop = true if _ctrl.doubleClick(x,y,true)
|
891
935
|
Event.stop(e) if _stop
|
892
936
|
#
|
@@ -905,7 +949,7 @@ EventManagerApp = HApplication.extend
|
|
905
949
|
_mouseWheelable = @_listeners.byEvent.mouseWheel
|
906
950
|
_stop = false
|
907
951
|
for _viewId in _focused
|
908
|
-
if _mouseWheelable.indexOf(_viewId)
|
952
|
+
if ~_mouseWheelable.indexOf(_viewId)
|
909
953
|
_mouseWheels.push( _viewId )
|
910
954
|
for _viewId in _mouseWheels
|
911
955
|
_ctrl = @_views[_viewId]
|
@@ -922,7 +966,7 @@ EventManagerApp = HApplication.extend
|
|
922
966
|
_focused = @_listeners.focused
|
923
967
|
_contextMenuable = @_listeners.byEvent.contextMenu
|
924
968
|
for _viewId in _focused
|
925
|
-
if _contextMenuable.indexOf(_viewId)
|
969
|
+
if ~_contextMenuable.indexOf(_viewId)
|
926
970
|
_ctrl = @_views[_viewId]
|
927
971
|
_stop = false if _ctrl.contextMenu? and _ctrl.contextMenu()
|
928
972
|
Event.stop(e) if _stop
|
@@ -990,7 +1034,7 @@ EventManagerApp = HApplication.extend
|
|
990
1034
|
_detectCmdKey: ( _keyCode )->
|
991
1035
|
# On Opera, return true on any of the keycodes
|
992
1036
|
if BROWSER_TYPE.opera
|
993
|
-
return
|
1037
|
+
return !!~@_cmdKeys.indexOf(_keyCode)
|
994
1038
|
# Any mac browser (except opera, above) uses left or right windows key
|
995
1039
|
# equivalent as the Command key.
|
996
1040
|
else if BROWSER_TYPE.mac
|
@@ -1011,7 +1055,7 @@ EventManagerApp = HApplication.extend
|
|
1011
1055
|
_keyDowns = []
|
1012
1056
|
unless @status.hasKeyDown( _keyCode ) and @_lastKeyDown != _keyCode
|
1013
1057
|
for _viewId in _active
|
1014
|
-
_keyDowns.push( _viewId ) if _keyDowners.indexOf( _viewId )
|
1058
|
+
_keyDowns.push( _viewId ) if ~_keyDowners.indexOf( _viewId )
|
1015
1059
|
@status.addKeyDown( _keyCode )
|
1016
1060
|
# repeat not implemented yet
|
1017
1061
|
for _viewId in _keyDowns
|
@@ -1033,20 +1077,20 @@ EventManagerApp = HApplication.extend
|
|
1033
1077
|
_keyUps = []
|
1034
1078
|
_textEnterers = @_listeners.byEvent.textEnter
|
1035
1079
|
_textEnters = []
|
1080
|
+
for _viewId in _textEnterers
|
1081
|
+
_textEnters.push( _viewId ) if ~_enabled.indexOf( _viewId )
|
1082
|
+
for _viewId in _textEnters
|
1083
|
+
_ctrl = @_views[_viewId]
|
1084
|
+
if _ctrl.textEnter?
|
1085
|
+
_stop = true if _ctrl.textEnter( _keyCode )
|
1036
1086
|
if @status.hasKeyDown( _keyCode )
|
1037
1087
|
for _viewId in _active
|
1038
|
-
_keyUps.push( _viewId ) if _keyUppers.indexOf( _viewId )
|
1088
|
+
_keyUps.push( _viewId ) if ~_keyUppers.indexOf( _viewId )
|
1039
1089
|
@status.delKeyDown( _keyCode )
|
1040
1090
|
for _viewId in _keyUppers
|
1041
1091
|
_ctrl = @_views[_viewId]
|
1042
1092
|
if _ctrl.keyUp?
|
1043
1093
|
_stop = true if _ctrl.keyUp( _keyCode )
|
1044
|
-
for _viewId in _textEnterers
|
1045
|
-
_textEnters.push( _viewId ) if _enabled.indexOf( _viewId ) != -1
|
1046
|
-
for _viewId in _textEnters
|
1047
|
-
_ctrl = @_views[_viewId]
|
1048
|
-
if _ctrl.textEnter?
|
1049
|
-
_stop = true if _ctrl.textEnter( _keyCode )
|
1050
1094
|
Event.stop(e) if _stop
|
1051
1095
|
keyPress: (e)->
|
1052
1096
|
@warn('EventManager#keyPress not implemented')
|
@@ -663,7 +663,7 @@ HRect = HClass.extend({
|
|
663
663
|
*
|
664
664
|
**/
|
665
665
|
bind: function(_view){
|
666
|
-
if(this.viewIds.indexOf( _view.viewId )
|
666
|
+
if(!~this.viewIds.indexOf( _view.viewId )){
|
667
667
|
this.viewIds.push( _view.viewId );
|
668
668
|
}
|
669
669
|
this._updateFlexibleDimensions();
|
@@ -674,7 +674,7 @@ HRect = HClass.extend({
|
|
674
674
|
**/
|
675
675
|
release: function(_view){
|
676
676
|
var _viewIdx = this.viewIds.indexOf(_view.viewId);
|
677
|
-
if(_viewIdx
|
677
|
+
if(~_viewIdx){
|
678
678
|
this.viewIds.splice( _viewIdx, 1 );
|
679
679
|
}
|
680
680
|
},
|
@@ -114,7 +114,7 @@ COMM.JSONRenderer = HClass.extend({
|
|
114
114
|
_extend = HClass;
|
115
115
|
}
|
116
116
|
for( _key in _definition ){
|
117
|
-
if( _reserved.indexOf( _key )
|
117
|
+
if( !~_reserved.indexOf( _key ) ){
|
118
118
|
_value = _definition[_key];
|
119
119
|
if( typeof _value === 'string' ){
|
120
120
|
_value = this.extEval( _value );
|
@@ -134,7 +134,7 @@ COMM.JSONRenderer = HClass.extend({
|
|
134
134
|
if(_className === undefined){
|
135
135
|
return false;
|
136
136
|
}
|
137
|
-
if(_className.indexOf('.')
|
137
|
+
if(~_className.indexOf('.')){
|
138
138
|
var
|
139
139
|
_splitClass = _className.split('.'),
|
140
140
|
j = 1,
|
@@ -219,7 +219,7 @@ COMM.JSONRenderer = HClass.extend({
|
|
219
219
|
if( !_dataNode['class'] ){
|
220
220
|
|
221
221
|
for( i in _dataNode ){
|
222
|
-
if( _reserved.indexOf( i )
|
222
|
+
if( !~_reserved.indexOf( i ) ){
|
223
223
|
_className = i;
|
224
224
|
_origNode = _dataNode;
|
225
225
|
_dataNode = _dataNode[i];
|
@@ -317,11 +317,11 @@ HSystem = {
|
|
317
317
|
|
318
318
|
/** Updates the z-indexes of the children of the given +_viewId+. **/
|
319
319
|
updateZIndexOfChildren: function(_viewId) {
|
320
|
-
if(this._updateZIndexOfChildrenBuffer.indexOf(_viewId)
|
320
|
+
if(!~this._updateZIndexOfChildrenBuffer.indexOf(_viewId)){
|
321
321
|
this._updateZIndexOfChildrenBuffer.push(_viewId);
|
322
322
|
}
|
323
323
|
if((_viewId !== undefined && _viewId !== null) && (this.views[_viewId].app === this.views[_viewId].parent)){
|
324
|
-
(this._updateZIndexOfChildrenBuffer.indexOf(null)
|
324
|
+
(!~this._updateZIndexOfChildrenBuffer.indexOf(null)) && this._updateZIndexOfChildrenBuffer.push(null);
|
325
325
|
}
|
326
326
|
},
|
327
327
|
|
@@ -138,7 +138,7 @@ HThemeManager = HClass.extend({
|
|
138
138
|
**/
|
139
139
|
getCssFilePath: function( _fileName ){
|
140
140
|
var _themeName = this._cssEvalParams[0];
|
141
|
-
if((HThemeHasIE6GifsInsteadOfPng.indexOf(_themeName)
|
141
|
+
if((~HThemeHasIE6GifsInsteadOfPng.indexOf(_themeName)) && (BROWSER_TYPE.ie6 || BROWSER_TYPE.symbian) ){
|
142
142
|
return "url('"+this._joinPath( this.getThemeGfxPath(), _fileName.replace('.png','-ie6.gif') )+"')";
|
143
143
|
}
|
144
144
|
else {
|
@@ -314,14 +314,14 @@ HThemeManager = HClass.extend({
|
|
314
314
|
/* Load Theme-Specific CSS: */
|
315
315
|
if(!this._cssCache[_themeName]){
|
316
316
|
this._cssCache[_themeName] = {};
|
317
|
-
if(HNoCommonCSS.indexOf(_themeName)
|
317
|
+
if(!~HNoCommonCSS.indexOf(_themeName)){
|
318
318
|
var _commonCssUrl = this._cssUrl( _themeName, 'common', _themePath, null );
|
319
319
|
this.loadCSS( _commonCssUrl );
|
320
320
|
}
|
321
321
|
}
|
322
322
|
|
323
323
|
/* Load Component-Specific CSS, unless configured to only load the common css: */
|
324
|
-
if(HNoComponentCSS.indexOf(_themeName)
|
324
|
+
if(!~HNoComponentCSS.indexOf(_themeName)){
|
325
325
|
if (!this._cssCache[_themeName][_componentName]){
|
326
326
|
var _componentCssUrl = this._cssUrl( _themeName, _componentName, _themePath );
|
327
327
|
this._cssCache[_themeName][_componentName] = true;
|
@@ -340,7 +340,7 @@ HThemeManager = HClass.extend({
|
|
340
340
|
return _url;
|
341
341
|
},
|
342
342
|
_componentGfxFile: function( _themeName, _componentName, _themePath, _fileName ){
|
343
|
-
if((HThemeHasIE6GifsInsteadOfPng.indexOf(_themeName)
|
343
|
+
if((~HThemeHasIE6GifsInsteadOfPng.indexOf(_themeName)) && BROWSER_TYPE.ie6){
|
344
344
|
return this._joinPath( this._componentGfxPath(_themeName, _componentName, _themePath), _fileName.replace('.png','-ie6.gif') );
|
345
345
|
}
|
346
346
|
return this._joinPath( this._componentGfxPath(_themeName, _componentName, _themePath), _fileName );
|
@@ -133,7 +133,7 @@ HValue = HClass.extend({
|
|
133
133
|
if(_responder===undefined){
|
134
134
|
throw("HValueBindError: responder is undefined!");
|
135
135
|
}
|
136
|
-
if(this.views.indexOf(_responder)
|
136
|
+
if(!~this.views.indexOf(_responder)){
|
137
137
|
this.views.push(_responder);
|
138
138
|
_responder.setValueObj( this );
|
139
139
|
}
|
data/js/foundation/view/view.js
CHANGED
@@ -783,7 +783,7 @@ HView = HClass.extend({
|
|
783
783
|
var _partName = this.markupElemNames[ i ],
|
784
784
|
_elemName = _partName + this.elemId,
|
785
785
|
_htmlIdMatch = ' id="' + _elemName + '"';
|
786
|
-
if( this.markup.indexOf( _htmlIdMatch )
|
786
|
+
if( ~this.markup.indexOf( _htmlIdMatch ) ) {
|
787
787
|
this.markupElemIds[ _partName ] = this.bindDomElement( _elemName );
|
788
788
|
}
|
789
789
|
}
|
@@ -1432,7 +1432,7 @@ HView = HClass.extend({
|
|
1432
1432
|
HSystem.delView(this.viewId);
|
1433
1433
|
this.parent.viewsZOrder.splice( _viewZIdx, 1 );
|
1434
1434
|
var _sysUpdateZIndexOfChildrenBufferIndex = HSystem._updateZIndexOfChildrenBuffer.indexOf( this.viewId );
|
1435
|
-
if(_sysUpdateZIndexOfChildrenBufferIndex
|
1435
|
+
if(~_sysUpdateZIndexOfChildrenBufferIndex){
|
1436
1436
|
HSystem._updateZIndexOfChildrenBuffer.splice( _sysUpdateZIndexOfChildrenBufferIndex, 1 );
|
1437
1437
|
}
|
1438
1438
|
|
@@ -2005,7 +2005,7 @@ HView = HClass.extend({
|
|
2005
2005
|
**/
|
2006
2006
|
unbindDomElement: function(_elementId) {
|
2007
2007
|
var _indexOfElementId = this._domElementBindings.indexOf(_elementId);
|
2008
|
-
if (_indexOfElementId
|
2008
|
+
if (~_indexOfElementId) {
|
2009
2009
|
ELEM.del(_elementId);
|
2010
2010
|
this._domElementBindings.splice(_indexOfElementId, 1);
|
2011
2011
|
}
|
@@ -2083,7 +2083,7 @@ HView = HClass.extend({
|
|
2083
2083
|
return false;
|
2084
2084
|
}
|
2085
2085
|
if( typeof _obj['hasAncestor'] === 'function' ){
|
2086
|
-
if( _obj.parents.indexOf( this )
|
2086
|
+
if( ~_obj.parents.indexOf( this ) ){
|
2087
2087
|
return true;
|
2088
2088
|
}
|
2089
2089
|
}
|
@@ -60,7 +60,7 @@ HCheckboxList = HListItemControl.extend({
|
|
60
60
|
*
|
61
61
|
**/
|
62
62
|
addItem: function( _listValue ){
|
63
|
-
if(this.value.indexOf(_listValue)
|
63
|
+
if(!~this.value.indexOf(_listValue)){
|
64
64
|
var _newValue = [], i = 0;
|
65
65
|
for( ; i < this.value.length; i++ ){
|
66
66
|
_newValue.push( this.value[i] );
|
@@ -80,7 +80,7 @@ HCheckboxList = HListItemControl.extend({
|
|
80
80
|
**/
|
81
81
|
delItem: function( _listValue ){
|
82
82
|
var _listIndex = this.value.indexOf(_listValue);
|
83
|
-
if(_listIndex
|
83
|
+
if(~_listIndex){
|
84
84
|
var _newValue = [], i = 0;
|
85
85
|
for( ; i < this.value.length; i++ ){
|
86
86
|
if(this.value[i] !== _listValue){
|
@@ -125,7 +125,7 @@ HCheckboxList = HListItemControl.extend({
|
|
125
125
|
_listItem = _listItems[i];
|
126
126
|
_value = _listItem[0];
|
127
127
|
_label = _listItem[1];
|
128
|
-
_checked =
|
128
|
+
_checked = !!~this.value.indexOf( _value );
|
129
129
|
_checkbox = this.ListCheckbox.nu(
|
130
130
|
[ 4, (i*23)+4, null, 23, 4, null ],
|
131
131
|
this, {
|
@@ -180,7 +180,7 @@ HCheckboxList = HListItemControl.extend({
|
|
180
180
|
_isSelected;
|
181
181
|
for( ; i < _listItems.length; i++ ){
|
182
182
|
_listItemValue = _listItems[i][0];
|
183
|
-
_isSelected =
|
183
|
+
_isSelected = !!~_value.indexOf( _listItemValue );
|
184
184
|
this.listItemViews[i].setValue( _isSelected );
|
185
185
|
if(_isSelected){
|
186
186
|
_selectedItems.push( _listItemValue );
|
@@ -106,7 +106,7 @@ HListItemControl = HControl.extend({
|
|
106
106
|
_listItems.push( _row );
|
107
107
|
}
|
108
108
|
// strings and integers
|
109
|
-
else if ( ['s','n'].indexOf(_rowType)
|
109
|
+
else if ( ~['s','n'].indexOf(_rowType) ){
|
110
110
|
_label = _row.toString();
|
111
111
|
_value = _row;
|
112
112
|
_listItems.push( [_value, _label] );
|
@@ -68,7 +68,7 @@ HPropertyListEditor = HControl.extend({
|
|
68
68
|
lostActiveStatus: function(newActive){
|
69
69
|
this.base();
|
70
70
|
if( newActive &&
|
71
|
-
( (newActive === this) ||
|
71
|
+
( (newActive === this) || ~newActive.parents.indexOf(this) )
|
72
72
|
){
|
73
73
|
return;
|
74
74
|
}
|
@@ -132,7 +132,7 @@ HPropertyListEditor = HControl.extend({
|
|
132
132
|
},
|
133
133
|
refreshValue: function(){
|
134
134
|
if(this.drawn){
|
135
|
-
if(this.boldTypes.indexOf(this.parent.value.type)
|
135
|
+
if(~this.boldTypes.indexOf(this.parent.value.type)){
|
136
136
|
this.setStyle('font-weight','bold',true);
|
137
137
|
}
|
138
138
|
else{
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rsence-pre
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.3.0.
|
4
|
+
version: 2.3.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-08-
|
13
|
+
date: 2012-08-08 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rsence-deps
|