jpf 3.0.21 → 4.0.0
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/dist/View.d.ts +29 -0
- package/dist/View.js +96 -0
- package/dist/View.js.map +1 -0
- package/dist/ViewModel.d.ts +61 -0
- package/dist/ViewModel.js +404 -0
- package/dist/ViewModel.js.map +1 -0
- package/dist/attributes.d.ts +37 -0
- package/dist/attributes.js +3 -0
- package/dist/attributes.js.map +1 -0
- package/dist/event.d.ts +59 -0
- package/dist/event.js +29 -0
- package/dist/event.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/style.d.ts +330 -329
- package/dist/style.js +9 -1
- package/dist/style.js.map +1 -1
- package/dist/types.d.ts +1 -3
- package/dist/userAgent.js +6 -9
- package/dist/userAgent.js.map +1 -1
- package/package.json +12 -9
- package/dist/eventListener.d.ts +0 -30
- package/dist/eventListener.js +0 -13
- package/dist/eventListener.js.map +0 -1
- package/dist/uiElement.d.ts +0 -89
- package/dist/uiElement.js +0 -631
- package/dist/uiElement.js.map +0 -1
package/dist/uiElement.js
DELETED
|
@@ -1,631 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UiElement = exports.setObserverOptions = exports.settings = void 0;
|
|
4
|
-
require("tocca");
|
|
5
|
-
var ko = require("knockout");
|
|
6
|
-
var style_1 = require("./style");
|
|
7
|
-
var eventListener_1 = require("./eventListener");
|
|
8
|
-
var userAgent_1 = require("./userAgent");
|
|
9
|
-
var uiElementPropertyName = "uiElement";
|
|
10
|
-
var mouseEvents = {
|
|
11
|
-
contextmenu: true,
|
|
12
|
-
mousedown: true,
|
|
13
|
-
mouseenter: true,
|
|
14
|
-
mouseleave: true,
|
|
15
|
-
mousemove: true,
|
|
16
|
-
mouseout: true,
|
|
17
|
-
mouseover: true,
|
|
18
|
-
mouseup: true
|
|
19
|
-
};
|
|
20
|
-
var touchEvents = {
|
|
21
|
-
touchcancel: true,
|
|
22
|
-
touchend: true,
|
|
23
|
-
touchmove: true,
|
|
24
|
-
touchstart: true,
|
|
25
|
-
longtap: true,
|
|
26
|
-
swipeleft: true,
|
|
27
|
-
swiperight: true,
|
|
28
|
-
swipeup: true,
|
|
29
|
-
swipedown: true
|
|
30
|
-
};
|
|
31
|
-
function isGlobalEvent(event) {
|
|
32
|
-
return !(mouseEvents[event] || touchEvents[event]);
|
|
33
|
-
}
|
|
34
|
-
exports.settings = {
|
|
35
|
-
tapDelay: 300
|
|
36
|
-
};
|
|
37
|
-
var observerOptions = {
|
|
38
|
-
childList: true,
|
|
39
|
-
subtree: true
|
|
40
|
-
};
|
|
41
|
-
var mutationObserver = new MutationObserver(function (mutationRecords) {
|
|
42
|
-
mutationRecords.forEach(function (mutationRecord) {
|
|
43
|
-
if (mutationRecord.removedNodes) {
|
|
44
|
-
mutationRecord.removedNodes.forEach(function (removedNode) {
|
|
45
|
-
var uiElement = removedNode[uiElementPropertyName];
|
|
46
|
-
if (uiElement && uiElement.disposeOnDomRemoval && uiElement.dispose) {
|
|
47
|
-
uiElement.dispose();
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
mutationObserver.observe(document.body, observerOptions);
|
|
54
|
-
function setObserverOptions(options) {
|
|
55
|
-
observerOptions = options;
|
|
56
|
-
}
|
|
57
|
-
exports.setObserverOptions = setObserverOptions;
|
|
58
|
-
function isNotNullOrUndefined(value) {
|
|
59
|
-
return !(value === null || typeof value === "undefined");
|
|
60
|
-
}
|
|
61
|
-
var UiElement = (function () {
|
|
62
|
-
function UiElement(tagName, elementType, options) {
|
|
63
|
-
var _this = this;
|
|
64
|
-
this._attributes = {};
|
|
65
|
-
this._classes = {};
|
|
66
|
-
this._style = {};
|
|
67
|
-
this._userSelectable = true;
|
|
68
|
-
this._addControlToDataDictionary = false;
|
|
69
|
-
this._children = new Array();
|
|
70
|
-
this._knockoutSubscriptions = Array();
|
|
71
|
-
this._styleDisplayVisible = "";
|
|
72
|
-
this._visible = true;
|
|
73
|
-
this.diposeOnDomRemoval = false;
|
|
74
|
-
this.dispose = function () {
|
|
75
|
-
_this.remove();
|
|
76
|
-
if (_this._children) {
|
|
77
|
-
_this._children.forEach(function (child) {
|
|
78
|
-
child.dispose();
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
_this._knockoutSubscriptions.forEach(function (subscription) {
|
|
82
|
-
subscription.dispose();
|
|
83
|
-
});
|
|
84
|
-
if (_this.options.dispose) {
|
|
85
|
-
_this.options.dispose();
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
this._tagName = tagName;
|
|
89
|
-
this._elementType = elementType || "UiElement";
|
|
90
|
-
this.options = options || {};
|
|
91
|
-
if (options) {
|
|
92
|
-
if (isNotNullOrUndefined(options.id)) {
|
|
93
|
-
this.setAttribute("id", options.id);
|
|
94
|
-
}
|
|
95
|
-
if (options.elementType) {
|
|
96
|
-
this._elementType = ko.unwrap(options.elementType);
|
|
97
|
-
if (ko.isObservable(options.elementType)) {
|
|
98
|
-
this.addSubscription(options.elementType, function () {
|
|
99
|
-
_this.setElementType(elementType);
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
if (options.classNames) {
|
|
104
|
-
this.setClasses(ko.unwrap(options.classNames), true);
|
|
105
|
-
if (ko.isObservable(options.classNames)) {
|
|
106
|
-
this.addSubscription(options.classNames, function (classNames) {
|
|
107
|
-
_this.setClasses(classNames, true);
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
if (options.attributes) {
|
|
112
|
-
this._setAttributes(ko.unwrap(options.attributes));
|
|
113
|
-
if (ko.isObservable(options.attributes)) {
|
|
114
|
-
this.addSubscription(options.attributes, function (attributes) {
|
|
115
|
-
_this._setAttributes(attributes);
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
if (options.eventListeners) {
|
|
120
|
-
this._eventListeners = options.eventListeners;
|
|
121
|
-
}
|
|
122
|
-
if (options.style) {
|
|
123
|
-
var _loop_1 = function (styleProperty) {
|
|
124
|
-
var styleValue = options.style[styleProperty];
|
|
125
|
-
this_1._style[styleProperty] = ko.unwrap(styleValue);
|
|
126
|
-
if (ko.isObservable(styleValue)) {
|
|
127
|
-
this_1.addSubscription(styleValue, function (newValue) {
|
|
128
|
-
var _a;
|
|
129
|
-
_this.setStyle((_a = {}, _a[styleProperty] = newValue, _a));
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
};
|
|
133
|
-
var this_1 = this;
|
|
134
|
-
for (var _i = 0, _a = Object.keys(options.style); _i < _a.length; _i++) {
|
|
135
|
-
var styleProperty = _a[_i];
|
|
136
|
-
_loop_1(styleProperty);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
if (options.userSelectable === false) {
|
|
140
|
-
this._userSelectable = false;
|
|
141
|
-
}
|
|
142
|
-
if (isNotNullOrUndefined(options.innerHtml)) {
|
|
143
|
-
this.setInnerHtml(ko.unwrap(options.innerHtml));
|
|
144
|
-
if (ko.isObservable(options.innerHtml)) {
|
|
145
|
-
this.addSubscription(options.innerHtml, function (innerHtml) {
|
|
146
|
-
_this.setInnerHtml(innerHtml);
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
if (isNotNullOrUndefined(options.innerText)) {
|
|
151
|
-
this.setInnerText(ko.unwrap(options.innerText));
|
|
152
|
-
if (ko.isObservable(options.innerText)) {
|
|
153
|
-
this.addSubscription(options.innerText, function (newValue) {
|
|
154
|
-
_this.setInnerText(newValue);
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
if (options.addControlToDataDictionary) {
|
|
159
|
-
this._addControlToDataDictionary = true;
|
|
160
|
-
}
|
|
161
|
-
if (options.children) {
|
|
162
|
-
this._children = ko.unwrap(options.children);
|
|
163
|
-
if (ko.isObservable(options.children)) {
|
|
164
|
-
this.addSubscription(options.children, function (newChildren) {
|
|
165
|
-
_this.setChildren(newChildren);
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
if (options.refresh) {
|
|
170
|
-
this.refresh = options.refresh;
|
|
171
|
-
}
|
|
172
|
-
var visible = ko.unwrap(options.visible);
|
|
173
|
-
if (visible === false) {
|
|
174
|
-
this._visible = false;
|
|
175
|
-
}
|
|
176
|
-
if (ko.isObservable(options.visible)) {
|
|
177
|
-
this.addSubscription(options.visible, function (newValue) {
|
|
178
|
-
_this.setVisibility(newValue);
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
UiElement.prototype._addEventListenerToElement = function (type, listener, options) {
|
|
184
|
-
if (!type) {
|
|
185
|
-
throw new Error("type is mandatory");
|
|
186
|
-
}
|
|
187
|
-
if (!listener) {
|
|
188
|
-
throw new Error("listener is mandatory");
|
|
189
|
-
}
|
|
190
|
-
if (!options) {
|
|
191
|
-
options = {};
|
|
192
|
-
}
|
|
193
|
-
if (!options.passive) {
|
|
194
|
-
options.passive = false;
|
|
195
|
-
}
|
|
196
|
-
if (!options.once) {
|
|
197
|
-
options.once = false;
|
|
198
|
-
}
|
|
199
|
-
if (this.element.addEventListener) {
|
|
200
|
-
this.element.addEventListener(type, function (event) {
|
|
201
|
-
listener(event);
|
|
202
|
-
}, {
|
|
203
|
-
passive: options.passive,
|
|
204
|
-
once: options.once
|
|
205
|
-
});
|
|
206
|
-
}
|
|
207
|
-
else if (this.element.attachEvent) {
|
|
208
|
-
this.element.attachEvent(type, function (event) {
|
|
209
|
-
listener(event);
|
|
210
|
-
});
|
|
211
|
-
}
|
|
212
|
-
else {
|
|
213
|
-
throw "Your browser does not support 'addEventListener'";
|
|
214
|
-
}
|
|
215
|
-
};
|
|
216
|
-
UiElement.prototype._setAttributes = function (attributes) {
|
|
217
|
-
var _this = this;
|
|
218
|
-
var existingAttributeNames = Object.keys(this._attributes);
|
|
219
|
-
this._attributes = {};
|
|
220
|
-
attributes.forEach(function (attribute) {
|
|
221
|
-
_this._attributes[attribute.name] = ko.unwrap(attribute.value);
|
|
222
|
-
if (ko.isObservable(attribute.value)) {
|
|
223
|
-
_this.addSubscription(attribute.value, function (newValue) {
|
|
224
|
-
_this.setAttribute(attribute.name, newValue);
|
|
225
|
-
});
|
|
226
|
-
}
|
|
227
|
-
});
|
|
228
|
-
if (existingAttributeNames) {
|
|
229
|
-
existingAttributeNames.forEach(function (existingAttributeName) {
|
|
230
|
-
if (!_this._attributes[existingAttributeName]) {
|
|
231
|
-
_this.removeAttribute(existingAttributeName);
|
|
232
|
-
}
|
|
233
|
-
});
|
|
234
|
-
}
|
|
235
|
-
};
|
|
236
|
-
UiElement.prototype.build = function () {
|
|
237
|
-
var _this = this;
|
|
238
|
-
if (this._elementType) {
|
|
239
|
-
this.setAttribute("elementtype", this._elementType);
|
|
240
|
-
}
|
|
241
|
-
var display = this.getStyleValue("display");
|
|
242
|
-
if (display && display !== "none") {
|
|
243
|
-
this._styleDisplayVisible = display;
|
|
244
|
-
}
|
|
245
|
-
this.setVisibility(this._visible);
|
|
246
|
-
ko.applyBindingsToNode(this.element, {
|
|
247
|
-
style: this._style,
|
|
248
|
-
attr: this._attributes
|
|
249
|
-
});
|
|
250
|
-
if (isNotNullOrUndefined(this._innerHtml)) {
|
|
251
|
-
this.element.innerHTML = this._innerHtml;
|
|
252
|
-
}
|
|
253
|
-
if (isNotNullOrUndefined(this._innerText)) {
|
|
254
|
-
this.element.innerText = this._innerText;
|
|
255
|
-
}
|
|
256
|
-
this.element.className = Object.keys(this._classes).join(" ");
|
|
257
|
-
if (this._userSelectable === false) {
|
|
258
|
-
this._addEventListenerToElement("selectstart", function () { return false; }, { passive: true });
|
|
259
|
-
this.element.style.userSelect = "none";
|
|
260
|
-
}
|
|
261
|
-
if (this._children) {
|
|
262
|
-
this._children.forEach(function (child) {
|
|
263
|
-
_this.element.appendChild(child.render());
|
|
264
|
-
});
|
|
265
|
-
}
|
|
266
|
-
if (this._addControlToDataDictionary) {
|
|
267
|
-
if (!this.element.data) {
|
|
268
|
-
this.element.data = {};
|
|
269
|
-
}
|
|
270
|
-
this.element.data.uiElement = this;
|
|
271
|
-
}
|
|
272
|
-
};
|
|
273
|
-
UiElement.prototype.render = function () {
|
|
274
|
-
var _this = this;
|
|
275
|
-
if (this.element) {
|
|
276
|
-
this.remove();
|
|
277
|
-
}
|
|
278
|
-
if (typeof this.build === "function") {
|
|
279
|
-
this.element = document.createElement(this._tagName);
|
|
280
|
-
this.build();
|
|
281
|
-
var clickEventListeners_1 = new Array();
|
|
282
|
-
var doubleClickEventListeners_1 = new Array();
|
|
283
|
-
if (this._eventListeners) {
|
|
284
|
-
var eventListeners = this._eventListeners;
|
|
285
|
-
eventListeners.forEach(function (eventListener) {
|
|
286
|
-
if (eventListener.type === "click") {
|
|
287
|
-
clickEventListeners_1.push(eventListener);
|
|
288
|
-
return;
|
|
289
|
-
}
|
|
290
|
-
if (eventListener.type === "dblclick") {
|
|
291
|
-
doubleClickEventListeners_1.push(eventListener);
|
|
292
|
-
return;
|
|
293
|
-
}
|
|
294
|
-
if (eventListener.type === "dragstart") {
|
|
295
|
-
_this.setAttribute("draggable", "true");
|
|
296
|
-
}
|
|
297
|
-
if (isGlobalEvent(eventListener.type)) {
|
|
298
|
-
_this._addEventListenerToElement(eventListener.type, function (event) {
|
|
299
|
-
if (eventListener.options) {
|
|
300
|
-
var options = eventListener.options;
|
|
301
|
-
var keyEvent = event;
|
|
302
|
-
if (options.altKey && !keyEvent.altKey) {
|
|
303
|
-
return;
|
|
304
|
-
}
|
|
305
|
-
if (options.shiftKey && !keyEvent.shiftKey) {
|
|
306
|
-
return;
|
|
307
|
-
}
|
|
308
|
-
if (options.ctrlKey && !keyEvent.ctrlKey) {
|
|
309
|
-
return;
|
|
310
|
-
}
|
|
311
|
-
if (options.eventKey && options.eventKey !== keyEvent.key) {
|
|
312
|
-
return;
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
eventListener.listener.call(_this, event);
|
|
316
|
-
}, eventListener.options);
|
|
317
|
-
}
|
|
318
|
-
else if (mouseEvents[eventListener.type] && userAgent_1.userAgent.device.supportsMouseEvents) {
|
|
319
|
-
_this._addEventListenerToElement(eventListener.type, eventListener.listener, eventListener.options);
|
|
320
|
-
}
|
|
321
|
-
else if (touchEvents[eventListener.type] && userAgent_1.userAgent.device.supportsTouchEvents) {
|
|
322
|
-
_this._addEventListenerToElement(eventListener.type, eventListener.listener, eventListener.options);
|
|
323
|
-
}
|
|
324
|
-
});
|
|
325
|
-
clickEventListeners_1.forEach(function (clickEventListener) {
|
|
326
|
-
if (userAgent_1.userAgent.device.supportsTouchEvents) {
|
|
327
|
-
_this._addEventListenerToElement("tap", clickEventListener.listener, clickEventListener.options);
|
|
328
|
-
}
|
|
329
|
-
if (userAgent_1.userAgent.device.supportsMouseEvents) {
|
|
330
|
-
_this._addEventListenerToElement(clickEventListener.type, clickEventListener.listener, clickEventListener.options);
|
|
331
|
-
}
|
|
332
|
-
});
|
|
333
|
-
doubleClickEventListeners_1.forEach(function (doubleClickEventListener) {
|
|
334
|
-
if (userAgent_1.userAgent.device.supportsTouchEvents) {
|
|
335
|
-
_this._addEventListenerToElement("dbltap", doubleClickEventListener.listener, doubleClickEventListener.options);
|
|
336
|
-
}
|
|
337
|
-
if (userAgent_1.userAgent.device.supportsMouseEvents) {
|
|
338
|
-
_this._addEventListenerToElement(doubleClickEventListener.type, doubleClickEventListener.listener, doubleClickEventListener.options);
|
|
339
|
-
}
|
|
340
|
-
});
|
|
341
|
-
}
|
|
342
|
-
return this.element;
|
|
343
|
-
}
|
|
344
|
-
throw "The build method of this UiElement has not been defined";
|
|
345
|
-
};
|
|
346
|
-
UiElement.prototype.refresh = function () { };
|
|
347
|
-
UiElement.prototype.remove = function () {
|
|
348
|
-
if (this.element) {
|
|
349
|
-
if (this.element.remove) {
|
|
350
|
-
this.element.remove();
|
|
351
|
-
}
|
|
352
|
-
else {
|
|
353
|
-
if (this.element.parentElement) {
|
|
354
|
-
this.element.parentElement.removeChild(this.element);
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
this.element = null;
|
|
358
|
-
}
|
|
359
|
-
};
|
|
360
|
-
UiElement.prototype.handleMessage = function (message) {
|
|
361
|
-
console.log(JSON.stringify(message));
|
|
362
|
-
};
|
|
363
|
-
UiElement.prototype.getElement = function () {
|
|
364
|
-
return this.element;
|
|
365
|
-
};
|
|
366
|
-
UiElement.prototype.focus = function (options) {
|
|
367
|
-
if (this.element) {
|
|
368
|
-
this.element.focus(options);
|
|
369
|
-
}
|
|
370
|
-
};
|
|
371
|
-
UiElement.prototype.focusPreviousSibling = function (options) {
|
|
372
|
-
if (this.element && this.element.previousElementSibling && this.element.nextSibling instanceof HTMLElement) {
|
|
373
|
-
this.element.nextSibling.focus(options);
|
|
374
|
-
}
|
|
375
|
-
};
|
|
376
|
-
UiElement.prototype.focusNextSibling = function (options) {
|
|
377
|
-
if (this.element && this.element.previousElementSibling && this.element.nextSibling instanceof HTMLElement) {
|
|
378
|
-
this.element.nextSibling.focus(options);
|
|
379
|
-
}
|
|
380
|
-
};
|
|
381
|
-
UiElement.prototype.setElementType = function (elementType) {
|
|
382
|
-
this._elementType = elementType;
|
|
383
|
-
this.setAttribute("elementType", elementType);
|
|
384
|
-
};
|
|
385
|
-
UiElement.prototype.setClasses = function (classNames, replace) {
|
|
386
|
-
var _this = this;
|
|
387
|
-
if (replace) {
|
|
388
|
-
this._classes = {};
|
|
389
|
-
}
|
|
390
|
-
if (classNames) {
|
|
391
|
-
classNames.forEach(function (className) {
|
|
392
|
-
_this._classes[className] = true;
|
|
393
|
-
});
|
|
394
|
-
}
|
|
395
|
-
if (this.element) {
|
|
396
|
-
this.element.className = Object.keys(this._classes).join(" ");
|
|
397
|
-
}
|
|
398
|
-
};
|
|
399
|
-
UiElement.prototype.removeClasses = function (classNames) {
|
|
400
|
-
var _this = this;
|
|
401
|
-
if (classNames) {
|
|
402
|
-
classNames.forEach(function (className) {
|
|
403
|
-
if (_this._classes[className]) {
|
|
404
|
-
delete _this._classes[className];
|
|
405
|
-
}
|
|
406
|
-
if (_this.element) {
|
|
407
|
-
_this.element.classList.remove(className);
|
|
408
|
-
}
|
|
409
|
-
});
|
|
410
|
-
}
|
|
411
|
-
};
|
|
412
|
-
UiElement.prototype.setInnerHtml = function (innerHtml) {
|
|
413
|
-
if (isNotNullOrUndefined(innerHtml)) {
|
|
414
|
-
this.setInnerText(null);
|
|
415
|
-
}
|
|
416
|
-
this._innerHtml = innerHtml;
|
|
417
|
-
if (this.element) {
|
|
418
|
-
this.element.innerHTML = innerHtml;
|
|
419
|
-
}
|
|
420
|
-
};
|
|
421
|
-
UiElement.prototype.setInnerText = function (innerText) {
|
|
422
|
-
if (isNotNullOrUndefined(innerText)) {
|
|
423
|
-
this.setInnerHtml(null);
|
|
424
|
-
}
|
|
425
|
-
this._innerText = innerText;
|
|
426
|
-
if (this.element) {
|
|
427
|
-
this.element.innerText = innerText;
|
|
428
|
-
}
|
|
429
|
-
};
|
|
430
|
-
UiElement.prototype.setAttribute = function (name, value) {
|
|
431
|
-
this._attributes[name] = value;
|
|
432
|
-
if (this.element) {
|
|
433
|
-
this.element.setAttribute(name, value);
|
|
434
|
-
}
|
|
435
|
-
};
|
|
436
|
-
UiElement.prototype.removeAttribute = function (attributeName) {
|
|
437
|
-
if (this._attributes[attributeName]) {
|
|
438
|
-
delete this._attributes[attributeName];
|
|
439
|
-
}
|
|
440
|
-
if (this.element) {
|
|
441
|
-
this.element.removeAttribute(attributeName);
|
|
442
|
-
}
|
|
443
|
-
};
|
|
444
|
-
UiElement.prototype.getAttribute = function (attributeName) {
|
|
445
|
-
if (this.element) {
|
|
446
|
-
return this.element.getAttribute(attributeName);
|
|
447
|
-
}
|
|
448
|
-
else {
|
|
449
|
-
return this._attributes[attributeName];
|
|
450
|
-
}
|
|
451
|
-
};
|
|
452
|
-
UiElement.prototype.getStyle = function () {
|
|
453
|
-
var _this = this;
|
|
454
|
-
var cssProperties = [];
|
|
455
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
456
|
-
cssProperties[_i] = arguments[_i];
|
|
457
|
-
}
|
|
458
|
-
if (!cssProperties || cssProperties.length === 0) {
|
|
459
|
-
return this._style;
|
|
460
|
-
}
|
|
461
|
-
var style = {};
|
|
462
|
-
if (cssProperties) {
|
|
463
|
-
cssProperties.forEach(function (cssProperty) {
|
|
464
|
-
if (_this._style[cssProperty]) {
|
|
465
|
-
style[cssProperty] = _this._style[cssProperty];
|
|
466
|
-
}
|
|
467
|
-
else if (_this.element) {
|
|
468
|
-
style[cssProperty] = _this.element.style[cssProperty];
|
|
469
|
-
}
|
|
470
|
-
});
|
|
471
|
-
}
|
|
472
|
-
return style;
|
|
473
|
-
};
|
|
474
|
-
UiElement.prototype.getStyleValue = function (cssProperty) {
|
|
475
|
-
if (this._style[cssProperty]) {
|
|
476
|
-
return this._style[cssProperty];
|
|
477
|
-
}
|
|
478
|
-
else if (this.element) {
|
|
479
|
-
return this.element.style[cssProperty];
|
|
480
|
-
}
|
|
481
|
-
return null;
|
|
482
|
-
};
|
|
483
|
-
UiElement.prototype.setStyle = function (newStyle, overwriteExisting) {
|
|
484
|
-
var _this = this;
|
|
485
|
-
if (newStyle) {
|
|
486
|
-
Object.keys(newStyle).forEach(function (key) {
|
|
487
|
-
if (_this._style.hasOwnProperty(key)) {
|
|
488
|
-
if (!overwriteExisting) {
|
|
489
|
-
return;
|
|
490
|
-
}
|
|
491
|
-
}
|
|
492
|
-
var newValue = newStyle[key];
|
|
493
|
-
_this._style[key] = newValue;
|
|
494
|
-
if (_this.element) {
|
|
495
|
-
if (newValue === null || newValue === undefined) {
|
|
496
|
-
if (userAgent_1.userAgent.browser.isInternetExplorer) {
|
|
497
|
-
_this.element.style[key] = style_1.defaultStyle[key];
|
|
498
|
-
}
|
|
499
|
-
else {
|
|
500
|
-
_this.element.style[key] = null;
|
|
501
|
-
}
|
|
502
|
-
}
|
|
503
|
-
else {
|
|
504
|
-
_this.element.style[key] = newValue;
|
|
505
|
-
}
|
|
506
|
-
}
|
|
507
|
-
});
|
|
508
|
-
}
|
|
509
|
-
};
|
|
510
|
-
UiElement.prototype.setStyleNonStandard = function (name, value, overwriteExisting) {
|
|
511
|
-
var _a;
|
|
512
|
-
this.setStyle((_a = {}, _a[name] = value, _a), overwriteExisting);
|
|
513
|
-
};
|
|
514
|
-
UiElement.prototype.deleteStyle = function (style) {
|
|
515
|
-
var _this = this;
|
|
516
|
-
var styles;
|
|
517
|
-
if (style instanceof Array) {
|
|
518
|
-
styles = style;
|
|
519
|
-
}
|
|
520
|
-
else if (style instanceof Object) {
|
|
521
|
-
styles = Object.keys(style);
|
|
522
|
-
}
|
|
523
|
-
else {
|
|
524
|
-
styles = [style];
|
|
525
|
-
}
|
|
526
|
-
styles.forEach(function (cssProperty) {
|
|
527
|
-
if (_this._style && _this._style.hasOwnProperty(cssProperty)) {
|
|
528
|
-
delete _this._style[cssProperty];
|
|
529
|
-
}
|
|
530
|
-
if (_this.element) {
|
|
531
|
-
_this.element.style[cssProperty] = undefined;
|
|
532
|
-
}
|
|
533
|
-
});
|
|
534
|
-
};
|
|
535
|
-
UiElement.prototype.setVisibility = function (visible) {
|
|
536
|
-
this._visible = visible;
|
|
537
|
-
if (this.element) {
|
|
538
|
-
if (visible) {
|
|
539
|
-
this.element.style.display = this._styleDisplayVisible;
|
|
540
|
-
}
|
|
541
|
-
else {
|
|
542
|
-
this.element.style.display = "none";
|
|
543
|
-
}
|
|
544
|
-
}
|
|
545
|
-
};
|
|
546
|
-
UiElement.prototype.addSubscription = function (observable, callback) {
|
|
547
|
-
this._knockoutSubscriptions.push(observable.subscribe(callback));
|
|
548
|
-
};
|
|
549
|
-
UiElement.prototype.dispatchEvent = function (type) {
|
|
550
|
-
if (this.element) {
|
|
551
|
-
return this.element.dispatchEvent(new Event(type));
|
|
552
|
-
}
|
|
553
|
-
return false;
|
|
554
|
-
};
|
|
555
|
-
UiElement.prototype.addEventListener = function (type, listener, options) {
|
|
556
|
-
if (!this._eventListeners) {
|
|
557
|
-
this._eventListeners = new Array();
|
|
558
|
-
}
|
|
559
|
-
this._eventListeners.push(new eventListener_1.EventListener(type, listener, options));
|
|
560
|
-
};
|
|
561
|
-
UiElement.prototype.getChildren = function () {
|
|
562
|
-
return this._children;
|
|
563
|
-
};
|
|
564
|
-
UiElement.prototype.setChildren = function (children, replace) {
|
|
565
|
-
var _a;
|
|
566
|
-
if (replace === void 0) { replace = true; }
|
|
567
|
-
if (!children) {
|
|
568
|
-
children = [];
|
|
569
|
-
}
|
|
570
|
-
if (replace) {
|
|
571
|
-
this._children = children;
|
|
572
|
-
if (this.element) {
|
|
573
|
-
while (this.element.firstChild) {
|
|
574
|
-
this.element.removeChild(this.element.firstChild);
|
|
575
|
-
}
|
|
576
|
-
}
|
|
577
|
-
}
|
|
578
|
-
else {
|
|
579
|
-
(_a = this._children).push.apply(_a, children);
|
|
580
|
-
}
|
|
581
|
-
if (this.element) {
|
|
582
|
-
if (children.length > 0) {
|
|
583
|
-
var documentFragment_1 = document.createDocumentFragment();
|
|
584
|
-
children.forEach(function (child) {
|
|
585
|
-
documentFragment_1.appendChild(child.render());
|
|
586
|
-
});
|
|
587
|
-
this.element.appendChild(documentFragment_1);
|
|
588
|
-
}
|
|
589
|
-
}
|
|
590
|
-
};
|
|
591
|
-
UiElement.prototype.addChild = function (newChild, referenceChild) {
|
|
592
|
-
if (referenceChild) {
|
|
593
|
-
var index = this._children.indexOf(referenceChild);
|
|
594
|
-
if (index > -1) {
|
|
595
|
-
this._children.splice(index, 0, newChild);
|
|
596
|
-
if (this.element && referenceChild.getElement()) {
|
|
597
|
-
this.element.insertBefore(newChild.render(), referenceChild.getElement());
|
|
598
|
-
}
|
|
599
|
-
}
|
|
600
|
-
}
|
|
601
|
-
else {
|
|
602
|
-
this._children.push(newChild);
|
|
603
|
-
if (this.element) {
|
|
604
|
-
this.element.appendChild(newChild.render());
|
|
605
|
-
}
|
|
606
|
-
}
|
|
607
|
-
};
|
|
608
|
-
UiElement.prototype.removeChild = function (element) {
|
|
609
|
-
var index = this._children.indexOf(element);
|
|
610
|
-
if (index > -1) {
|
|
611
|
-
this._children.splice(index, 1);
|
|
612
|
-
if (this.element) {
|
|
613
|
-
this.element.removeChild(this.element.children[index]);
|
|
614
|
-
}
|
|
615
|
-
}
|
|
616
|
-
};
|
|
617
|
-
UiElement.prototype.empty = function () {
|
|
618
|
-
this._innerText = null;
|
|
619
|
-
this._innerHtml = null;
|
|
620
|
-
this._children = [];
|
|
621
|
-
if (this.element) {
|
|
622
|
-
this.element.innerHTML = "";
|
|
623
|
-
while (this.element.firstChild) {
|
|
624
|
-
this.element.removeChild(this.element.firstChild);
|
|
625
|
-
}
|
|
626
|
-
}
|
|
627
|
-
};
|
|
628
|
-
return UiElement;
|
|
629
|
-
}());
|
|
630
|
-
exports.UiElement = UiElement;
|
|
631
|
-
//# sourceMappingURL=uiElement.js.map
|
package/dist/uiElement.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"uiElement.js","sourceRoot":"","sources":["../src/uiElement.ts"],"names":[],"mappings":"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"}
|