@base-framework/base 2.6.1 → 2.6.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.
- package/README.md +1 -0
- package/dist/base.js +1 -0
- package/package.json +9 -4
- package/.jshintrc +0 -3
- package/base.js +0 -41
- package/base.min.js +0 -1
- package/core.js +0 -1
- package/data-tracker.js +0 -351
- package/es5/base.js +0 -2968
- package/es5/modules/ajax.js +0 -663
- package/es5/modules/animation.js +0 -188
- package/es5/modules/animations.js +0 -1080
- package/es5/modules/atom.js +0 -65
- package/es5/modules/component.js +0 -1310
- package/es5/modules/data-binder.js +0 -1131
- package/es5/modules/data.js +0 -1808
- package/es5/modules/date.js +0 -525
- package/es5/modules/form-validator.js +0 -324
- package/es5/modules/history.js +0 -126
- package/es5/modules/html-builder.js +0 -461
- package/es5/modules/layout.js +0 -1679
- package/es5/modules/mouse.js +0 -124
- package/es5/modules/nav-link.js +0 -123
- package/es5/modules/olderversions/animations-ease.js +0 -1095
- package/es5/modules/olderversions/animations-update.js +0 -1048
- package/es5/modules/olderversions/base-animations.js +0 -636
- package/es5/modules/olderversions/base-component-class.js +0 -100
- package/es5/modules/olderversions/base-data-binder-1.js +0 -407
- package/es5/modules/olderversions/base-data-binder-class.js +0 -358
- package/es5/modules/olderversions/base-layout-parser-class.js +0 -172
- package/es5/modules/olderversions/base-mode-1.js +0 -777
- package/es5/modules/olderversions/base-model-class.js +0 -585
- package/es5/modules/olderversions/data-binder/element-binding/base-data-binder-class.js +0 -358
- package/es5/modules/olderversions/data-binder/element-binding/base-model-class.js +0 -585
- package/es5/modules/olderversions/data-binder/model-binding/base-data-binder-class.js +0 -353
- package/es5/modules/olderversions/data-binder/model-binding/base-model-class.js +0 -604
- package/es5/modules/olderversions/data-binder-update-watcher.js +0 -640
- package/es5/modules/olderversions/data-tracker.js +0 -187
- package/es5/modules/olderversions/event-update.js +0 -666
- package/es5/modules/olderversions/nav-link.js +0 -119
- package/es5/modules/olderversions/router-with-templates-1.js +0 -785
- package/es5/modules/olderversions/router-with-templates.js +0 -701
- package/es5/modules/prototypes/ajax.js +0 -657
- package/es5/modules/prototypes/atom.js +0 -65
- package/es5/modules/prototypes/component.js +0 -972
- package/es5/modules/prototypes/data-binder.js +0 -1089
- package/es5/modules/prototypes/data.js +0 -1290
- package/es5/modules/prototypes/html-builder.js +0 -414
- package/es5/modules/prototypes/layout.js +0 -879
- package/es5/modules/router.js +0 -1680
- package/es5/modules/state.js +0 -274
- package/es6/.jshintrc +0 -3
- package/es6/base.js +0 -41
- package/es6/core.js +0 -1
- package/es6/data-tracker.js +0 -351
- package/es6/events.js +0 -602
- package/es6/legacy/es5/base.js +0 -2968
- package/es6/legacy/es5/modules/ajax.js +0 -663
- package/es6/legacy/es5/modules/animation.js +0 -188
- package/es6/legacy/es5/modules/animations.js +0 -1080
- package/es6/legacy/es5/modules/atom.js +0 -65
- package/es6/legacy/es5/modules/component.js +0 -1310
- package/es6/legacy/es5/modules/data-binder.js +0 -1131
- package/es6/legacy/es5/modules/data.js +0 -1808
- package/es6/legacy/es5/modules/date.js +0 -525
- package/es6/legacy/es5/modules/form-validator.js +0 -324
- package/es6/legacy/es5/modules/history.js +0 -126
- package/es6/legacy/es5/modules/html-builder.js +0 -461
- package/es6/legacy/es5/modules/layout.js +0 -1679
- package/es6/legacy/es5/modules/mouse.js +0 -124
- package/es6/legacy/es5/modules/nav-link.js +0 -123
- package/es6/legacy/es5/modules/olderversions/animations-ease.js +0 -1095
- package/es6/legacy/es5/modules/olderversions/animations-update.js +0 -1048
- package/es6/legacy/es5/modules/olderversions/base-animations.js +0 -636
- package/es6/legacy/es5/modules/olderversions/base-component-class.js +0 -100
- package/es6/legacy/es5/modules/olderversions/base-data-binder-1.js +0 -407
- package/es6/legacy/es5/modules/olderversions/base-data-binder-class.js +0 -358
- package/es6/legacy/es5/modules/olderversions/base-layout-parser-class.js +0 -172
- package/es6/legacy/es5/modules/olderversions/base-mode-1.js +0 -777
- package/es6/legacy/es5/modules/olderversions/base-model-class.js +0 -585
- package/es6/legacy/es5/modules/olderversions/data-binder/element-binding/base-data-binder-class.js +0 -358
- package/es6/legacy/es5/modules/olderversions/data-binder/element-binding/base-model-class.js +0 -585
- package/es6/legacy/es5/modules/olderversions/data-binder/model-binding/base-data-binder-class.js +0 -353
- package/es6/legacy/es5/modules/olderversions/data-binder/model-binding/base-model-class.js +0 -604
- package/es6/legacy/es5/modules/olderversions/data-binder-update-watcher.js +0 -640
- package/es6/legacy/es5/modules/olderversions/data-tracker.js +0 -187
- package/es6/legacy/es5/modules/olderversions/event-update.js +0 -666
- package/es6/legacy/es5/modules/olderversions/nav-link.js +0 -119
- package/es6/legacy/es5/modules/olderversions/router-with-templates-1.js +0 -785
- package/es6/legacy/es5/modules/olderversions/router-with-templates.js +0 -701
- package/es6/legacy/es5/modules/prototypes/ajax.js +0 -657
- package/es6/legacy/es5/modules/prototypes/atom.js +0 -65
- package/es6/legacy/es5/modules/prototypes/component.js +0 -972
- package/es6/legacy/es5/modules/prototypes/data-binder.js +0 -1089
- package/es6/legacy/es5/modules/prototypes/data.js +0 -1290
- package/es6/legacy/es5/modules/prototypes/html-builder.js +0 -414
- package/es6/legacy/es5/modules/prototypes/layout.js +0 -879
- package/es6/legacy/es5/modules/router.js +0 -1680
- package/es6/legacy/es5/modules/state.js +0 -274
- package/es6/main.js +0 -1331
- package/es6/modules/ajax/ajax.js +0 -514
- package/es6/modules/animation/animation.js +0 -236
- package/es6/modules/animations/animation-controller.js +0 -231
- package/es6/modules/animations/animation.js +0 -64
- package/es6/modules/animations/attr-movement.js +0 -66
- package/es6/modules/animations/css-movement.js +0 -170
- package/es6/modules/animations/movement.js +0 -131
- package/es6/modules/animations/value.js +0 -187
- package/es6/modules/atom/atom.js +0 -54
- package/es6/modules/component/component.js +0 -230
- package/es6/modules/component/event-helper.js +0 -119
- package/es6/modules/component/jot.js +0 -144
- package/es6/modules/component/state-helper.js +0 -262
- package/es6/modules/component/unit.js +0 -551
- package/es6/modules/data/attrs.js +0 -40
- package/es6/modules/data/basic-data.js +0 -500
- package/es6/modules/data/data-utils.js +0 -29
- package/es6/modules/data/data.js +0 -3
- package/es6/modules/data/deep-data.js +0 -541
- package/es6/modules/data/model-service.js +0 -528
- package/es6/modules/data/model.js +0 -133
- package/es6/modules/data/simple-data.js +0 -33
- package/es6/modules/data-binder/connection-tracker.js +0 -113
- package/es6/modules/data-binder/connection.js +0 -16
- package/es6/modules/data-binder/data-binder.js +0 -352
- package/es6/modules/data-binder/data-pub-sub.js +0 -141
- package/es6/modules/data-binder/data-source.js +0 -56
- package/es6/modules/data-binder/element-source.js +0 -219
- package/es6/modules/data-binder/one-way-connection.js +0 -46
- package/es6/modules/data-binder/one-way-source.js +0 -43
- package/es6/modules/data-binder/source.js +0 -36
- package/es6/modules/data-binder/two-way-connection.js +0 -75
- package/es6/modules/data-binder/two-way-source.js +0 -41
- package/es6/modules/date/date.js +0 -544
- package/es6/modules/history/history.js +0 -89
- package/es6/modules/html-builder/html-builder.js +0 -434
- package/es6/modules/import/import.js +0 -390
- package/es6/modules/layout/layout-builder.js +0 -1269
- package/es6/modules/layout/layout-parser.js +0 -134
- package/es6/modules/layout/watcher-helper.js +0 -282
- package/es6/modules/mouse/mouse.js +0 -114
- package/es6/modules/router/component-helper.js +0 -163
- package/es6/modules/router/history-controller.js +0 -216
- package/es6/modules/router/nav-link.js +0 -124
- package/es6/modules/router/route.js +0 -401
- package/es6/modules/router/router.js +0 -789
- package/es6/modules/router/utils.js +0 -31
- package/es6/modules/state/state-target.js +0 -91
- package/es6/modules/state/state.js +0 -171
- package/es6/package-lock.json +0 -13
- package/es6/package.json +0 -28
- package/es6/shared/objects.js +0 -99
- package/events.js +0 -602
- package/legacy/es5/base.js +0 -2968
- package/legacy/es5/modules/ajax.js +0 -663
- package/legacy/es5/modules/animation.js +0 -188
- package/legacy/es5/modules/animations.js +0 -1080
- package/legacy/es5/modules/atom.js +0 -65
- package/legacy/es5/modules/component.js +0 -1310
- package/legacy/es5/modules/data-binder.js +0 -1131
- package/legacy/es5/modules/data.js +0 -1808
- package/legacy/es5/modules/date.js +0 -525
- package/legacy/es5/modules/form-validator.js +0 -324
- package/legacy/es5/modules/history.js +0 -126
- package/legacy/es5/modules/html-builder.js +0 -461
- package/legacy/es5/modules/layout.js +0 -1679
- package/legacy/es5/modules/mouse.js +0 -124
- package/legacy/es5/modules/nav-link.js +0 -123
- package/legacy/es5/modules/olderversions/animations-ease.js +0 -1095
- package/legacy/es5/modules/olderversions/animations-update.js +0 -1048
- package/legacy/es5/modules/olderversions/base-animations.js +0 -636
- package/legacy/es5/modules/olderversions/base-component-class.js +0 -100
- package/legacy/es5/modules/olderversions/base-data-binder-1.js +0 -407
- package/legacy/es5/modules/olderversions/base-data-binder-class.js +0 -358
- package/legacy/es5/modules/olderversions/base-layout-parser-class.js +0 -172
- package/legacy/es5/modules/olderversions/base-mode-1.js +0 -777
- package/legacy/es5/modules/olderversions/base-model-class.js +0 -585
- package/legacy/es5/modules/olderversions/data-binder/element-binding/base-data-binder-class.js +0 -358
- package/legacy/es5/modules/olderversions/data-binder/element-binding/base-model-class.js +0 -585
- package/legacy/es5/modules/olderversions/data-binder/model-binding/base-data-binder-class.js +0 -353
- package/legacy/es5/modules/olderversions/data-binder/model-binding/base-model-class.js +0 -604
- package/legacy/es5/modules/olderversions/data-binder-update-watcher.js +0 -640
- package/legacy/es5/modules/olderversions/data-tracker.js +0 -187
- package/legacy/es5/modules/olderversions/event-update.js +0 -666
- package/legacy/es5/modules/olderversions/nav-link.js +0 -119
- package/legacy/es5/modules/olderversions/router-with-templates-1.js +0 -785
- package/legacy/es5/modules/olderversions/router-with-templates.js +0 -701
- package/legacy/es5/modules/prototypes/ajax.js +0 -657
- package/legacy/es5/modules/prototypes/atom.js +0 -65
- package/legacy/es5/modules/prototypes/component.js +0 -972
- package/legacy/es5/modules/prototypes/data-binder.js +0 -1089
- package/legacy/es5/modules/prototypes/data.js +0 -1290
- package/legacy/es5/modules/prototypes/html-builder.js +0 -414
- package/legacy/es5/modules/prototypes/layout.js +0 -879
- package/legacy/es5/modules/router.js +0 -1680
- package/legacy/es5/modules/state.js +0 -274
- package/main.js +0 -1331
- package/modules/ajax/ajax.js +0 -514
- package/modules/animation/animation.js +0 -236
- package/modules/animations/animation-controller.js +0 -231
- package/modules/animations/animation.js +0 -64
- package/modules/animations/attr-movement.js +0 -66
- package/modules/animations/css-movement.js +0 -170
- package/modules/animations/movement.js +0 -131
- package/modules/animations/value.js +0 -187
- package/modules/atom/atom.js +0 -54
- package/modules/component/component.js +0 -230
- package/modules/component/event-helper.js +0 -119
- package/modules/component/jot.js +0 -144
- package/modules/component/state-helper.js +0 -262
- package/modules/component/unit.js +0 -551
- package/modules/data/attrs.js +0 -40
- package/modules/data/basic-data.js +0 -500
- package/modules/data/data-utils.js +0 -29
- package/modules/data/data.js +0 -3
- package/modules/data/deep-data.js +0 -541
- package/modules/data/model-service.js +0 -528
- package/modules/data/model.js +0 -133
- package/modules/data/simple-data.js +0 -33
- package/modules/data-binder/connection-tracker.js +0 -113
- package/modules/data-binder/connection.js +0 -16
- package/modules/data-binder/data-binder.js +0 -352
- package/modules/data-binder/data-pub-sub.js +0 -141
- package/modules/data-binder/data-source.js +0 -56
- package/modules/data-binder/element-source.js +0 -219
- package/modules/data-binder/one-way-connection.js +0 -46
- package/modules/data-binder/one-way-source.js +0 -43
- package/modules/data-binder/source.js +0 -36
- package/modules/data-binder/two-way-connection.js +0 -75
- package/modules/data-binder/two-way-source.js +0 -41
- package/modules/date/date.js +0 -544
- package/modules/history/history.js +0 -89
- package/modules/html-builder/html-builder.js +0 -434
- package/modules/import/import.js +0 -390
- package/modules/layout/layout-builder.js +0 -1269
- package/modules/layout/layout-parser.js +0 -134
- package/modules/layout/watcher-helper.js +0 -282
- package/modules/mouse/mouse.js +0 -114
- package/modules/router/component-helper.js +0 -163
- package/modules/router/history-controller.js +0 -216
- package/modules/router/nav-link.js +0 -124
- package/modules/router/route.js +0 -401
- package/modules/router/router.js +0 -789
- package/modules/router/utils.js +0 -31
- package/modules/state/state-target.js +0 -91
- package/modules/state/state.js +0 -171
- package/shared/objects.js +0 -99
- package/update +0 -16
|
@@ -1,666 +0,0 @@
|
|
|
1
|
-
/* base framework module */
|
|
2
|
-
(function(global)
|
|
3
|
-
{
|
|
4
|
-
"use strict";
|
|
5
|
-
|
|
6
|
-
var DataTracker = base.DataTracker;
|
|
7
|
-
|
|
8
|
-
/* this will register the event system to the
|
|
9
|
-
data tracker to remove events that have been
|
|
10
|
-
added in layouts. */
|
|
11
|
-
DataTracker.addType('events', function(data)
|
|
12
|
-
{
|
|
13
|
-
base.events.removeEvent(data);
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
base.extend.events =
|
|
17
|
-
{
|
|
18
|
-
getEvents: function(obj)
|
|
19
|
-
{
|
|
20
|
-
if(!obj || typeof obj !== 'object')
|
|
21
|
-
{
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
return DataTracker.get(obj, 'events');
|
|
25
|
-
},
|
|
26
|
-
|
|
27
|
-
/* this will create an object to use through the event
|
|
28
|
-
tracker.
|
|
29
|
-
@param string event = the name of the event to listen
|
|
30
|
-
@param object obj = obj to add the listener
|
|
31
|
-
@param function fn = function to perform on event
|
|
32
|
-
@param bool capture = event capture
|
|
33
|
-
@param bool swapped = tells if the even return was
|
|
34
|
-
swapped with a standardized function.
|
|
35
|
-
@param function originalFn = the original function
|
|
36
|
-
return function was swapped.
|
|
37
|
-
*/
|
|
38
|
-
createEventObj: function(event, obj, fn, capture, swapped, originalFn)
|
|
39
|
-
{
|
|
40
|
-
/* we want to check if the swapped param was set */
|
|
41
|
-
swapped = (swapped === true);
|
|
42
|
-
|
|
43
|
-
return {
|
|
44
|
-
event: event,
|
|
45
|
-
obj: obj,
|
|
46
|
-
fn: fn,
|
|
47
|
-
capture: capture,
|
|
48
|
-
swapped: swapped,
|
|
49
|
-
originalFn: originalFn
|
|
50
|
-
};
|
|
51
|
-
},
|
|
52
|
-
|
|
53
|
-
/* this will setup the add function to cache the
|
|
54
|
-
proper function so we only check one time.
|
|
55
|
-
@return (function) the function */
|
|
56
|
-
_add: function()
|
|
57
|
-
{
|
|
58
|
-
/* create a local function to perform the check
|
|
59
|
-
once then override the function */
|
|
60
|
-
var addEvent;
|
|
61
|
-
if(typeof global.addEventListener === 'function')
|
|
62
|
-
{
|
|
63
|
-
// modern browsers
|
|
64
|
-
addEvent = function(obj, event, fn, capture)
|
|
65
|
-
{
|
|
66
|
-
obj.addEventListener(event, fn, capture);
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
else if(typeof document.attachEvent === 'function')
|
|
70
|
-
{
|
|
71
|
-
// old ie
|
|
72
|
-
addEvent = function(obj, event, fn, capture)
|
|
73
|
-
{
|
|
74
|
-
obj.attachEvent("on" + event, fn);
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
else
|
|
78
|
-
{
|
|
79
|
-
addEvent = function(obj, event, fn, capture)
|
|
80
|
-
{
|
|
81
|
-
obj["on" + event] = fn;
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/* this will override method with cached method
|
|
86
|
-
and we need to return and call with object */
|
|
87
|
-
return base.overrideMethod(this, '_add', addEvent, arguments);
|
|
88
|
-
},
|
|
89
|
-
|
|
90
|
-
/* this will and an event listener and add
|
|
91
|
-
to the event tracker.
|
|
92
|
-
@param string event = the name of the event to listen
|
|
93
|
-
@param object obj = obj to add the listener
|
|
94
|
-
@param function fn = function to perform on event
|
|
95
|
-
@param bool capture = event capture
|
|
96
|
-
@param bool swapped = tells if the even return was
|
|
97
|
-
swapped with a standardized function.
|
|
98
|
-
@param function originalFn = the original function */
|
|
99
|
-
add: function(event, obj, fn, capture, swapped, data)
|
|
100
|
-
{
|
|
101
|
-
if(!obj || typeof obj !== 'object')
|
|
102
|
-
{
|
|
103
|
-
return this;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
capture = (typeof capture !== 'undefined')? capture : false;
|
|
107
|
-
|
|
108
|
-
/* we want to create an event object and add it the
|
|
109
|
-
the active events to track */
|
|
110
|
-
var data = this.createEventObj(event, obj, fn, capture, swapped, data);
|
|
111
|
-
DataTracker.add(obj, 'events', data);
|
|
112
|
-
|
|
113
|
-
this._add(obj, event, fn, capture);
|
|
114
|
-
|
|
115
|
-
return this;
|
|
116
|
-
},
|
|
117
|
-
|
|
118
|
-
/* this remove the event and remove from the tracker.
|
|
119
|
-
@param string event = the name of the event to listen
|
|
120
|
-
@param object obj = obj to add the listener
|
|
121
|
-
@param function fn = function to perform on event
|
|
122
|
-
@param bool capture = event capture */
|
|
123
|
-
remove: function(event, obj, fn, capture)
|
|
124
|
-
{
|
|
125
|
-
capture = (typeof capture !== 'undefined')? capture : false;
|
|
126
|
-
|
|
127
|
-
/* we want to select the event from the active events array */
|
|
128
|
-
var result = this.getEvent(event, obj, fn, capture);
|
|
129
|
-
if(result === false)
|
|
130
|
-
{
|
|
131
|
-
return this;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
if(typeof result === 'object')
|
|
135
|
-
{
|
|
136
|
-
/* we want to use the remove event method and just
|
|
137
|
-
pass the listener object */
|
|
138
|
-
this.removeEvent(result);
|
|
139
|
-
}
|
|
140
|
-
return this;
|
|
141
|
-
},
|
|
142
|
-
|
|
143
|
-
/* this will setup the remove function to cache the
|
|
144
|
-
proper function so we only check one time.
|
|
145
|
-
@return (function) the function */
|
|
146
|
-
_remove: function()
|
|
147
|
-
{
|
|
148
|
-
/* create a local function to perform the check
|
|
149
|
-
once then override the function */
|
|
150
|
-
var removeEvent;
|
|
151
|
-
if(typeof global.removeEventListener === 'function')
|
|
152
|
-
{
|
|
153
|
-
// modern browsers
|
|
154
|
-
removeEvent = function(obj, event, fn, capture)
|
|
155
|
-
{
|
|
156
|
-
obj.removeEventListener(event, fn, capture);
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
else if(typeof document.detachEvent === 'function')
|
|
160
|
-
{
|
|
161
|
-
// old ie
|
|
162
|
-
removeEvent = function(obj, event, fn, capture)
|
|
163
|
-
{
|
|
164
|
-
obj.detachEvent("on" + event, fn);
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
else
|
|
168
|
-
{
|
|
169
|
-
removeEvent = function(obj, event, fn, capture)
|
|
170
|
-
{
|
|
171
|
-
obj["on" + event] = null;
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
/* this will override method with cached method
|
|
176
|
-
and we need to return and call with object */
|
|
177
|
-
return base.overrideMethod(this, '_remove', removeEvent, arguments);
|
|
178
|
-
},
|
|
179
|
-
|
|
180
|
-
/* this will remove an event object and the listener
|
|
181
|
-
from the active events array.
|
|
182
|
-
@param (object) listener = the listener object from
|
|
183
|
-
the active events array */
|
|
184
|
-
removeEvent: function(listener)
|
|
185
|
-
{
|
|
186
|
-
if(typeof listener === 'object')
|
|
187
|
-
{
|
|
188
|
-
this._remove(listener.obj, listener.event, listener.fn, listener.capture);
|
|
189
|
-
}
|
|
190
|
-
return this;
|
|
191
|
-
},
|
|
192
|
-
|
|
193
|
-
/* this will search for an return an active event or return
|
|
194
|
-
false if nothing found.
|
|
195
|
-
@param string event = the name of the event to listen
|
|
196
|
-
@param object obj = obj to add the listener
|
|
197
|
-
@param function fn = function to perform on event
|
|
198
|
-
@param bool capture = event capture
|
|
199
|
-
@return (mixed) the event object or false if not found */
|
|
200
|
-
getEvent: function(event, obj, fn, capture)
|
|
201
|
-
{
|
|
202
|
-
if(typeof eventObj !== 'object')
|
|
203
|
-
{
|
|
204
|
-
return false;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
var events = this.getEvents(obj);
|
|
208
|
-
if(!events || events.length < 1)
|
|
209
|
-
{
|
|
210
|
-
return false;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
var eventObj = this.createEventObj(event, obj, fn, capture);
|
|
214
|
-
/* if the search returns anything but false we
|
|
215
|
-
found our active event */
|
|
216
|
-
return this.searchEvents(eventObj, events);
|
|
217
|
-
},
|
|
218
|
-
|
|
219
|
-
/* this will search for an return an active event or return
|
|
220
|
-
false if nothing found.
|
|
221
|
-
@param object eventObj = the listener object to search */
|
|
222
|
-
searchEvents: function(eventObj, events)
|
|
223
|
-
{
|
|
224
|
-
var swappable = this.isSwappedEventType(eventObj.event);
|
|
225
|
-
for(var i = 0, maxLength = events.length; i < maxLength; i++)
|
|
226
|
-
{
|
|
227
|
-
var listener = events[i];
|
|
228
|
-
if(listener.event !== eventObj.event || listener.obj !== eventObj.obj)
|
|
229
|
-
{
|
|
230
|
-
continue;
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
if(listener.fn === eventObj.fn || (swappable === true && listener.originalFn === eventObj.fn))
|
|
234
|
-
{
|
|
235
|
-
return listener;
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
return false;
|
|
240
|
-
},
|
|
241
|
-
|
|
242
|
-
/* this will remove all events added to an element through
|
|
243
|
-
the base framework.
|
|
244
|
-
|
|
245
|
-
@param (object) obj = the element object */
|
|
246
|
-
removeEvents: function(obj)
|
|
247
|
-
{
|
|
248
|
-
if(!obj || typeof obj !== 'object')
|
|
249
|
-
{
|
|
250
|
-
return this;
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
DataTracker.remove(obj, 'events');
|
|
254
|
-
|
|
255
|
-
return this;
|
|
256
|
-
},
|
|
257
|
-
|
|
258
|
-
swappedEvents: [
|
|
259
|
-
'DOMMouseScroll',
|
|
260
|
-
'wheel',
|
|
261
|
-
'mousewheel',
|
|
262
|
-
'mousemove',
|
|
263
|
-
'popstate'
|
|
264
|
-
],
|
|
265
|
-
|
|
266
|
-
addSwappedType: function(type)
|
|
267
|
-
{
|
|
268
|
-
this.swappedEvents.push(type);
|
|
269
|
-
},
|
|
270
|
-
|
|
271
|
-
/* this will check if an event type could be swapped.
|
|
272
|
-
@param string event = the type of event
|
|
273
|
-
*/
|
|
274
|
-
isSwappedEventType: function(event)
|
|
275
|
-
{
|
|
276
|
-
/* we want to check if the event type is in the
|
|
277
|
-
swapped event array */
|
|
278
|
-
var index = base.inArray(this.swappedEvents, event);
|
|
279
|
-
return (index > -1);
|
|
280
|
-
}
|
|
281
|
-
};
|
|
282
|
-
|
|
283
|
-
base.augment(
|
|
284
|
-
{
|
|
285
|
-
/* this will add an event listener.
|
|
286
|
-
@param string event = the name of the event to listen
|
|
287
|
-
@param object obj = obj to add the listener
|
|
288
|
-
@param function fn = function to perform on event
|
|
289
|
-
@param bool capture = event capture
|
|
290
|
-
@return (object) a reference to the base object */
|
|
291
|
-
addListener: function(event, obj, fn, capture)
|
|
292
|
-
{
|
|
293
|
-
/* we want to add this to the active events */
|
|
294
|
-
this.events.add(event, obj, fn, capture);
|
|
295
|
-
|
|
296
|
-
return this;
|
|
297
|
-
},
|
|
298
|
-
|
|
299
|
-
/* this will add an event listener.
|
|
300
|
-
@param mixed event = the name of the event to listen
|
|
301
|
-
@param object obj = obj to add the listener
|
|
302
|
-
@param function fn = function to perform on event
|
|
303
|
-
@param bool capture = event capture
|
|
304
|
-
@return (object) a reference to the base object */
|
|
305
|
-
on: function(event, obj, fn, capture)
|
|
306
|
-
{
|
|
307
|
-
var events = this.events;
|
|
308
|
-
if(this.isArray(event))
|
|
309
|
-
{
|
|
310
|
-
for(var i = 0, length = event.length; i < length; i++)
|
|
311
|
-
{
|
|
312
|
-
var evt = event[i];
|
|
313
|
-
events.add(evt, obj, fn, capture);
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
|
-
else
|
|
317
|
-
{
|
|
318
|
-
events.add(event, obj, fn, capture);
|
|
319
|
-
}
|
|
320
|
-
return this;
|
|
321
|
-
},
|
|
322
|
-
|
|
323
|
-
/* this will remove an event listener.
|
|
324
|
-
@param mixed event = the name of the event to listen
|
|
325
|
-
@param object obj = obj to remove the listener
|
|
326
|
-
@param function fn = function to perform on event
|
|
327
|
-
@param bool capture = event capture
|
|
328
|
-
@return (object) a reference to the base object */
|
|
329
|
-
off: function(event, obj, fn, capture)
|
|
330
|
-
{
|
|
331
|
-
var events = this.events;
|
|
332
|
-
if(this.isArray(event))
|
|
333
|
-
{
|
|
334
|
-
for(var i = 0, length = event.length; i < length; i++)
|
|
335
|
-
{
|
|
336
|
-
var evt = event[i];
|
|
337
|
-
events.remove(evt, obj, fn, capture);
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
else
|
|
341
|
-
{
|
|
342
|
-
events.remove(event, obj, fn, capture);
|
|
343
|
-
}
|
|
344
|
-
return this;
|
|
345
|
-
},
|
|
346
|
-
|
|
347
|
-
/* this will remove an event listener.
|
|
348
|
-
@param string event = the name of the event to listen
|
|
349
|
-
@param object obj = obj to add the listener
|
|
350
|
-
@param function fn = function to perform on event
|
|
351
|
-
@param bool capture = event capture
|
|
352
|
-
@return (object) a reference to the base object */
|
|
353
|
-
removeListener: function(event, obj, fn, capture)
|
|
354
|
-
{
|
|
355
|
-
/* we want to remove this from the active events */
|
|
356
|
-
this.events.remove(event, obj, fn, capture);
|
|
357
|
-
|
|
358
|
-
return this;
|
|
359
|
-
},
|
|
360
|
-
|
|
361
|
-
_createEvent: function()
|
|
362
|
-
{
|
|
363
|
-
/* create a local function to perform the check
|
|
364
|
-
once then override the function */
|
|
365
|
-
var createEvent;
|
|
366
|
-
if('CustomEvent' in window)
|
|
367
|
-
{
|
|
368
|
-
createEvent = function(obj, event, eventType, settings, params)
|
|
369
|
-
{
|
|
370
|
-
var e;
|
|
371
|
-
if(eventType === 'HTMLEvents')
|
|
372
|
-
{
|
|
373
|
-
e = new Event(event);
|
|
374
|
-
}
|
|
375
|
-
else if(eventType === 'MouseEvents')
|
|
376
|
-
{
|
|
377
|
-
e = new MouseEvent(event, settings);
|
|
378
|
-
}
|
|
379
|
-
else
|
|
380
|
-
{
|
|
381
|
-
e = new CustomEvent(event, params);
|
|
382
|
-
}
|
|
383
|
-
return e;
|
|
384
|
-
};
|
|
385
|
-
}
|
|
386
|
-
else if('createEventObject' in document)
|
|
387
|
-
{
|
|
388
|
-
createEvent = function(obj, event, eventType, settings, params)
|
|
389
|
-
{
|
|
390
|
-
var e = document.createEventObject();
|
|
391
|
-
e.eventType = event;
|
|
392
|
-
return e;
|
|
393
|
-
};
|
|
394
|
-
}
|
|
395
|
-
else
|
|
396
|
-
{
|
|
397
|
-
createEvent = function(obj, event, eventType, settings, params)
|
|
398
|
-
{
|
|
399
|
-
var e = document.createEvent(eventType);
|
|
400
|
-
if (eventType === 'HTMLEvents')
|
|
401
|
-
{
|
|
402
|
-
obj.initEvent(event, settings.bubbles, settings.cancelable);
|
|
403
|
-
}
|
|
404
|
-
else if(eventType === 'MouseEvents')
|
|
405
|
-
{
|
|
406
|
-
e.initMouseEvent(
|
|
407
|
-
event,
|
|
408
|
-
settings.canBubble,
|
|
409
|
-
settings.cancelable,
|
|
410
|
-
settings.view,
|
|
411
|
-
settings.detail,
|
|
412
|
-
settings.screenX,
|
|
413
|
-
settings.screenY,
|
|
414
|
-
settings.clientX,
|
|
415
|
-
settings.clientY,
|
|
416
|
-
settings.ctrlKey,
|
|
417
|
-
settings.altKey,
|
|
418
|
-
settings.shiftKey,
|
|
419
|
-
settings.metaKey,
|
|
420
|
-
settings.button,
|
|
421
|
-
settings.relatedTarget
|
|
422
|
-
);
|
|
423
|
-
}
|
|
424
|
-
else if(eventType === 'CustomEvent')
|
|
425
|
-
{
|
|
426
|
-
e.initCustomEvent(event, settings.bubbles, settings.cancelable, params);
|
|
427
|
-
}
|
|
428
|
-
return e;
|
|
429
|
-
};
|
|
430
|
-
}
|
|
431
|
-
|
|
432
|
-
/* this will override method with cached method
|
|
433
|
-
and we need to return and call with object */
|
|
434
|
-
return this.overrideMethod(this, '_createEvent', createEvent, arguments);
|
|
435
|
-
},
|
|
436
|
-
|
|
437
|
-
/* this will create an event object that can be used
|
|
438
|
-
to dispatch events. this supports html mouse and cu-
|
|
439
|
-
stom events.
|
|
440
|
-
@param (string) event = the name of the event
|
|
441
|
-
@param (object) obj = obj to trigger the listener
|
|
442
|
-
@param (object) options = event settings options
|
|
443
|
-
@param [(object)] params = custom event params object
|
|
444
|
-
@return (object | false) the event or false */
|
|
445
|
-
createEvent: function(event, obj, options, params)
|
|
446
|
-
{
|
|
447
|
-
if(!obj || typeof obj !== 'object')
|
|
448
|
-
{
|
|
449
|
-
return false;
|
|
450
|
-
}
|
|
451
|
-
|
|
452
|
-
var settings = {
|
|
453
|
-
pointerX: 0,
|
|
454
|
-
pointerY: 0,
|
|
455
|
-
button: 0,
|
|
456
|
-
view: window,
|
|
457
|
-
detail: 1,
|
|
458
|
-
screenX: 0,
|
|
459
|
-
screenY: 0,
|
|
460
|
-
clientX: 0,
|
|
461
|
-
clientY: 0,
|
|
462
|
-
ctrlKey: false,
|
|
463
|
-
altKey: false,
|
|
464
|
-
shiftKey: false,
|
|
465
|
-
metaKey: false,
|
|
466
|
-
bubbles: true,
|
|
467
|
-
cancelable: true,
|
|
468
|
-
relatedTarget: null
|
|
469
|
-
};
|
|
470
|
-
|
|
471
|
-
if(options && typeof options === 'object')
|
|
472
|
-
{
|
|
473
|
-
settings = base.extendObject(settings, options);
|
|
474
|
-
}
|
|
475
|
-
|
|
476
|
-
var eventType = this._getEventType(event);
|
|
477
|
-
return this._createEvent(obj, event, eventType, settings, params);
|
|
478
|
-
},
|
|
479
|
-
|
|
480
|
-
_getEventType: function(event)
|
|
481
|
-
{
|
|
482
|
-
var eventTypes = {
|
|
483
|
-
'HTMLEvents': /^(?:load|unload|abort|error|select|change|submit|reset|focus|blur|resize|scroll)$/,
|
|
484
|
-
'MouseEvents': /^(?:click|dblclick|mouse(?:down|up|over|move|out))$/
|
|
485
|
-
};
|
|
486
|
-
|
|
487
|
-
var eventType = 'CustomEvent';
|
|
488
|
-
for(var prop in eventTypes)
|
|
489
|
-
{
|
|
490
|
-
if(eventTypes.hasOwnProperty(prop))
|
|
491
|
-
{
|
|
492
|
-
var value = eventTypes[prop];
|
|
493
|
-
if(event.match(value))
|
|
494
|
-
{
|
|
495
|
-
eventType = prop;
|
|
496
|
-
break;
|
|
497
|
-
}
|
|
498
|
-
}
|
|
499
|
-
}
|
|
500
|
-
return eventType;
|
|
501
|
-
},
|
|
502
|
-
|
|
503
|
-
_trigger: function()
|
|
504
|
-
{
|
|
505
|
-
/* create a local function to perform the check
|
|
506
|
-
once then override the function */
|
|
507
|
-
var trigger;
|
|
508
|
-
if('createEvent' in document)
|
|
509
|
-
{
|
|
510
|
-
trigger = function(obj, event)
|
|
511
|
-
{
|
|
512
|
-
obj.dispatchEvent(event);
|
|
513
|
-
};
|
|
514
|
-
}
|
|
515
|
-
else
|
|
516
|
-
{
|
|
517
|
-
// old ie
|
|
518
|
-
trigger = function(obj, event)
|
|
519
|
-
{
|
|
520
|
-
var type = event.type;
|
|
521
|
-
obj.fireEvent('on' + type, event);
|
|
522
|
-
};
|
|
523
|
-
}
|
|
524
|
-
|
|
525
|
-
/* this will override method with cached method
|
|
526
|
-
and we need to return and call with object */
|
|
527
|
-
return this.overrideMethod(this, '_trigger', trigger, arguments);
|
|
528
|
-
},
|
|
529
|
-
|
|
530
|
-
/* this will trigger an event.
|
|
531
|
-
@param (mixed) event = the name of the event or event object
|
|
532
|
-
@param object obj = obj to trigger the listener
|
|
533
|
-
@param object params = event params object
|
|
534
|
-
@return (object) a reference to the base object */
|
|
535
|
-
trigger: function(event, obj, params)
|
|
536
|
-
{
|
|
537
|
-
if(!obj || typeof obj !== 'object')
|
|
538
|
-
{
|
|
539
|
-
return this;
|
|
540
|
-
}
|
|
541
|
-
|
|
542
|
-
var e = (typeof event === 'string')? this.createEvent(event, obj, null, params) : event;
|
|
543
|
-
this._trigger(obj, e);
|
|
544
|
-
return this;
|
|
545
|
-
},
|
|
546
|
-
|
|
547
|
-
/* this will store the mouse wheel event name */
|
|
548
|
-
mouseWheelEventType: null,
|
|
549
|
-
|
|
550
|
-
/* this will get theclientmouse wheel event name.
|
|
551
|
-
@return (string) */
|
|
552
|
-
getMouseWheelEventType: function()
|
|
553
|
-
{
|
|
554
|
-
/* this will check what mouse wheel type
|
|
555
|
-
the client supports
|
|
556
|
-
@return (string) the event name */
|
|
557
|
-
var getMouseWheelType = function()
|
|
558
|
-
{
|
|
559
|
-
var type = 'wheel';
|
|
560
|
-
if('onmousewheel' in global)
|
|
561
|
-
{
|
|
562
|
-
type = 'mousewheel';
|
|
563
|
-
}
|
|
564
|
-
else if('DOMMouseScroll' in global)
|
|
565
|
-
{
|
|
566
|
-
type = 'DOMMouseScroll';
|
|
567
|
-
}
|
|
568
|
-
return type;
|
|
569
|
-
};
|
|
570
|
-
|
|
571
|
-
/* this will get the event type or
|
|
572
|
-
one time set the type and return the type */
|
|
573
|
-
return this.mouseWheelEventType || (
|
|
574
|
-
this.mouseWheelEventType = getMouseWheelType()
|
|
575
|
-
);
|
|
576
|
-
},
|
|
577
|
-
|
|
578
|
-
onMouseWheel: function(callBackFn, obj, cancelDefault, capture)
|
|
579
|
-
{
|
|
580
|
-
if(typeof obj === "undefined")
|
|
581
|
-
{
|
|
582
|
-
obj = window;
|
|
583
|
-
}
|
|
584
|
-
|
|
585
|
-
var self = this;
|
|
586
|
-
|
|
587
|
-
/* we want to return the mousewheel data
|
|
588
|
-
to this private callback function before
|
|
589
|
-
returning to the call back function*/
|
|
590
|
-
var mouseWeelResults = function(e)
|
|
591
|
-
{
|
|
592
|
-
e = e || window.event;
|
|
593
|
-
var delta = Math.max(-1, Math.min(1, (-e.deltaY || e.wheelDelta || -e.detail)));
|
|
594
|
-
|
|
595
|
-
/* we can now send the mouse wheel results to
|
|
596
|
-
the call back function */
|
|
597
|
-
if(typeof callBackFn === 'function')
|
|
598
|
-
{
|
|
599
|
-
callBackFn(delta, e);
|
|
600
|
-
}
|
|
601
|
-
|
|
602
|
-
/* we want to check to cancel default */
|
|
603
|
-
if(typeof cancelDefault !== 'undefined' && cancelDefault === true)
|
|
604
|
-
{
|
|
605
|
-
self.preventDefault(e);
|
|
606
|
-
}
|
|
607
|
-
};
|
|
608
|
-
|
|
609
|
-
var event = this.getMouseWheelEventType();
|
|
610
|
-
this.events.add(event, obj, mouseWeelResults, capture, true, callBackFn);
|
|
611
|
-
|
|
612
|
-
return this;
|
|
613
|
-
},
|
|
614
|
-
|
|
615
|
-
offMouseWheel: function(callBackFn, obj, capture)
|
|
616
|
-
{
|
|
617
|
-
if(typeof obj === "undefined")
|
|
618
|
-
{
|
|
619
|
-
obj = window;
|
|
620
|
-
}
|
|
621
|
-
|
|
622
|
-
var event = this.getMouseWheelEventType();
|
|
623
|
-
this.off(event, obj, callBackFn, capture);
|
|
624
|
-
},
|
|
625
|
-
|
|
626
|
-
/* this will prevent the default action
|
|
627
|
-
of an event
|
|
628
|
-
@param (object) e = the event object
|
|
629
|
-
@return (object) a reference to the base object */
|
|
630
|
-
preventDefault: function(e)
|
|
631
|
-
{
|
|
632
|
-
e = e || window.event;
|
|
633
|
-
|
|
634
|
-
if(typeof e.preventDefault === 'function')
|
|
635
|
-
{
|
|
636
|
-
e.preventDefault();
|
|
637
|
-
}
|
|
638
|
-
else
|
|
639
|
-
{
|
|
640
|
-
e.returnValue = false;
|
|
641
|
-
}
|
|
642
|
-
|
|
643
|
-
return this;
|
|
644
|
-
},
|
|
645
|
-
|
|
646
|
-
/* this will cancel the propagation of an event.
|
|
647
|
-
@param (object) e = the event object
|
|
648
|
-
@return (object) a reference to the base object */
|
|
649
|
-
stopPropagation: function(e)
|
|
650
|
-
{
|
|
651
|
-
e = e || window.event;
|
|
652
|
-
|
|
653
|
-
if(typeof e.stopPropagation === 'function')
|
|
654
|
-
{
|
|
655
|
-
e.stopPropagation();
|
|
656
|
-
}
|
|
657
|
-
else
|
|
658
|
-
{
|
|
659
|
-
e.cancelBubble = true;
|
|
660
|
-
}
|
|
661
|
-
|
|
662
|
-
return this;
|
|
663
|
-
}
|
|
664
|
-
});
|
|
665
|
-
|
|
666
|
-
})(this);
|