targetj 1.0.158 → 1.0.159

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  # TargetJS: A Novel JavaScript UI Framework for Simplified Development and Enhanced User Experience
2
2
 
3
3
  **[targetjs.io](https://targetjs.io)**
4
- [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/livetrails/targetjs/blob/main/License)
4
+ [![MIT LICENSE](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/livetrails/targetjs/blob/main/LICENSE)
5
5
  [![Stars](https://img.shields.io/github/stars/livetrails/targetjs.svg)](https://github.com/livetrails/targetjs/stargazers)
6
6
  [![npm version](https://img.shields.io/npm/v/targetj.svg)](https://www.npmjs.com/package/targetj)
7
7
 
package/build/$Dom.js CHANGED
@@ -393,11 +393,6 @@ var $Dom = exports.$Dom = /*#__PURE__*/function () {
393
393
  value: function findFirstByTag(tagName) {
394
394
  return $Dom.findFirstByTag(tagName, this.element);
395
395
  }
396
- }, {
397
- key: "stamp",
398
- value: function stamp() {
399
- this.attr('data-tgjs', 'true');
400
- }
401
396
  }], [{
402
397
  key: "createTemplate",
403
398
  value: function createTemplate(html) {
@@ -406,11 +401,6 @@ var $Dom = exports.$Dom = /*#__PURE__*/function () {
406
401
  $dom.innerHTML(html.trim());
407
402
  return $dom;
408
403
  }
409
- }, {
410
- key: "getAllStamped",
411
- value: function getAllStamped() {
412
- return document.querySelectorAll('[data-tgjs="true"]');
413
- }
414
404
  }, {
415
405
  key: "query",
416
406
  value: function query(selector) {
package/build/App.js CHANGED
@@ -22,7 +22,7 @@ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyri
22
22
  function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
23
23
  function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
24
24
  var tApp;
25
- var AppFn = function AppFn(firstChild) {
25
+ var AppFn = function AppFn() {
26
26
  var my = {};
27
27
  my.throttle = 0;
28
28
  my.debugLevel = 0;
@@ -47,22 +47,8 @@ var AppFn = function AppFn(firstChild) {
47
47
  my.runScheduler = new _RunScheduler.RunScheduler();
48
48
  my.tRootFactory = function () {
49
49
  var tmodel = new _TModel.TModel('tRoot', {
50
- start: function start() {
51
- if (!_$Dom.$Dom.query('#tgjs-root')) {
52
- this.$dom = new _$Dom.$Dom();
53
- this.$dom.create('div');
54
- this.$dom.setSelector('#tgjs-root');
55
- this.$dom.setId('#tgjs-root');
56
- this.$dom.attr("tabindex", "0");
57
- new _$Dom.$Dom('body').insertFirst$Dom(this.$dom);
58
- } else {
59
- this.$dom = new _$Dom.$Dom('#tgjs-root');
60
- }
61
- },
62
50
  styling: false,
63
- domHolder: function domHolder() {
64
- return this.$dom;
65
- },
51
+ domHolder: true,
66
52
  isVisible: true,
67
53
  width: function width() {
68
54
  var width = _$Dom.$Dom.getScreenWidth();
@@ -77,9 +63,12 @@ var AppFn = function AppFn(firstChild) {
77
63
  my.resizeLastUpdate = _TUtil.TUtil.now();
78
64
  }
79
65
  return height;
66
+ },
67
+ initPageDom: function initPageDom() {
68
+ _TUtil.TUtil.initPageDoms(this.$dom);
80
69
  }
81
70
  });
82
- tmodel.oids = {};
71
+ tmodel.$dom = _$Dom.$Dom.query('#tgjs-root') ? new _$Dom.$Dom('#tgjs-root') : new _$Dom.$Dom('body');
83
72
  tmodel.val('width', _$Dom.$Dom.getScreenWidth());
84
73
  tmodel.val('height', _$Dom.$Dom.getScreenHeight());
85
74
  if (my.tRoot) {
@@ -91,9 +80,6 @@ var AppFn = function AppFn(firstChild) {
91
80
  return tmodel;
92
81
  };
93
82
  my.tRoot = my.tRootFactory();
94
- if (firstChild) {
95
- my.tRoot.addChild(firstChild);
96
- }
97
83
  window.history.pushState({
98
84
  link: document.URL
99
85
  }, "", document.URL);
@@ -163,9 +149,16 @@ var AppFn = function AppFn(firstChild) {
163
149
  };
164
150
  return my;
165
151
  };
166
- var App = exports.App = function App(tmodel) {
167
- exports.tApp = tApp = AppFn(tmodel);
168
- tApp.init().start();
152
+ var App = exports.App = function App(firstChild) {
153
+ if (tApp) {
154
+ if (firstChild) {
155
+ tApp.tRoot.addChild(firstChild);
156
+ tApp.runScheduler.schedule(0, "appStart");
157
+ }
158
+ } else {
159
+ exports.tApp = tApp = AppFn();
160
+ tApp.init().start();
161
+ }
169
162
  };
170
163
  App.oids = {};
171
164
  App.getOid = function (type) {
@@ -179,6 +172,7 @@ App.getOid = function (type) {
179
172
  num: num
180
173
  };
181
174
  };
175
+ App();
182
176
  var isRunning = exports.isRunning = function isRunning() {
183
177
  return tApp ? tApp.runningFlag : false;
184
178
  };
@@ -29,7 +29,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
29
29
  * It provides the target state and associated logic to the TModel.
30
30
  */
31
31
  var BaseModel = exports.BaseModel = /*#__PURE__*/function () {
32
- function BaseModel(type, targets) {
32
+ function BaseModel(type, targets, oid) {
33
33
  _classCallCheck(this, BaseModel);
34
34
  if (_typeof(type) === 'object' && typeof targets === 'undefined') {
35
35
  targets = type;
@@ -37,9 +37,14 @@ var BaseModel = exports.BaseModel = /*#__PURE__*/function () {
37
37
  }
38
38
  this.type = type || 'blank';
39
39
  this.targets = Object.assign({}, targets);
40
- var uniqueId = _App.App.getOid(this.type);
41
- this.oid = uniqueId.oid;
42
- this.oidNum = uniqueId.num;
40
+ if (!oid) {
41
+ var uniqueId = _App.App.getOid(this.type);
42
+ this.oid = uniqueId.oid;
43
+ this.oidNum = uniqueId.num;
44
+ } else {
45
+ this.oid = oid;
46
+ this.oidNum = 0;
47
+ }
43
48
  this._state = {};
44
49
  }
45
50
  return _createClass(BaseModel, [{
@@ -259,7 +264,7 @@ var BaseModel = exports.BaseModel = /*#__PURE__*/function () {
259
264
  this.activeTargetMap = {};
260
265
  this.activeTargetList = [];
261
266
  this.originalTargetNames = Object.keys(this.targets);
262
- var domExists = _$Dom.$Dom.query("#".concat(this.oid));
267
+ var domExists = _$Dom.$Dom.query("#".concat(this.oid)) || this.originalTargetNames.indexOf('$dom') >= 0;
263
268
  if (!domExists && !this.excludeDefaultStyling()) {
264
269
  Object.entries(_TargetData.TargetData.defaultTargetStyles).forEach(function (_ref) {
265
270
  var _ref2 = _slicedToArray(_ref, 2),
@@ -271,6 +276,7 @@ var BaseModel = exports.BaseModel = /*#__PURE__*/function () {
271
276
  });
272
277
  } else if (domExists && !_TUtil.TUtil.isDefined(this.targets['reuseDomDefinition'])) {
273
278
  this.targets['reuseDomDefinition'] = true;
279
+ this.targets['excludeXYCalc'] = true;
274
280
  this.targets['excludeX'] = true;
275
281
  this.targets['excludeY'] = true;
276
282
  this.targets['position'] = 'relative';
@@ -370,8 +376,8 @@ var BaseModel = exports.BaseModel = /*#__PURE__*/function () {
370
376
  }
371
377
  }, {
372
378
  key: "addToStyleTargetList",
373
- value: function addToStyleTargetList(key) {
374
- if (this.excludeStyling() || this.targets["exclude".concat(_TUtil.TUtil.capitalizeFirstLetter(key))]) {
379
+ value: function addToStyleTargetList(key, enforce) {
380
+ if (!enforce && (this.excludeStyling() || this.targets["exclude".concat(_TUtil.TUtil.capitalizeFirstLetter(key))])) {
375
381
  return;
376
382
  }
377
383
  var isAsyncStyleTarget = _TargetData.TargetData.asyncStyleTargetMap[key];
@@ -306,9 +306,6 @@ var EventListener = exports.EventListener = /*#__PURE__*/function () {
306
306
  rateLimit = eventItem.rateLimit;
307
307
  var now = _TUtil.TUtil.now();
308
308
  var tmodel = this.getTModelFromEvent(event);
309
-
310
- //console.log("originalName: " + originalName + ", " + eventItem + ", " + tmodel?.oid);
311
-
312
309
  var newEvent = {
313
310
  eventName: eventName,
314
311
  eventItem: eventItem,
@@ -366,7 +363,7 @@ var EventListener = exports.EventListener = /*#__PURE__*/function () {
366
363
  this.swipeStartY = this.start0.y - ((_this$currentHandlers2 = this.currentHandlers.swipe) === null || _this$currentHandlers2 === void 0 ? void 0 : _this$currentHandlers2.getY());
367
364
  event.stopPropagation();
368
365
  this.detachDocumentEvents();
369
- this.attachDocumentEvents(tmodel.getDomParent());
366
+ this.attachDocumentEvents();
370
367
  return;
371
368
  case 'mousemove':
372
369
  case 'touchmove':
@@ -374,7 +371,7 @@ var EventListener = exports.EventListener = /*#__PURE__*/function () {
374
371
  touch = this.getTouch(event);
375
372
  this.cursor.x = touch.x;
376
373
  this.cursor.y = touch.y;
377
- if (this.preventDefault(tmodel, eventName)) {
374
+ if (this.preventDefault(tmodel, eventName) && event.cancelable) {
378
375
  event.preventDefault();
379
376
  }
380
377
  if (this.touchCount > 0) {
@@ -389,7 +386,7 @@ var EventListener = exports.EventListener = /*#__PURE__*/function () {
389
386
  case 'mouseup':
390
387
  case 'touchend':
391
388
  this.detachDocumentEvents();
392
- if (this.preventDefault(tmodel, eventName)) {
389
+ if (this.preventDefault(tmodel, eventName) && event.cancelable) {
393
390
  event.preventDefault();
394
391
  }
395
392
  touch = this.getTouch(event);
@@ -407,7 +404,7 @@ var EventListener = exports.EventListener = /*#__PURE__*/function () {
407
404
  this.end0 = this.getTouch(event);
408
405
  if (this.start0) {
409
406
  var clickHandler = _SearchUtil.SearchUtil.findFirstClickHandler(tmodel);
410
- if (clickHandler && clickHandler === this.currentHandlers.click) {
407
+ if (clickHandler && clickHandler === this.currentHandlers.click && (clickHandler !== this.currentHandlers.swipe || this.getSwipeDistance() < 5)) {
411
408
  this.eventQueue.length = 0;
412
409
  this.eventQueue.push({
413
410
  eventName: eventName,
@@ -550,6 +547,14 @@ var EventListener = exports.EventListener = /*#__PURE__*/function () {
550
547
  value: function swipeY() {
551
548
  return this.cursor.y - this.swipeStartY;
552
549
  }
550
+ }, {
551
+ key: "getSwipeDistance",
552
+ value: function getSwipeDistance() {
553
+ if (this.start0 && this.end0) {
554
+ return _TUtil.TUtil.distance(this.start0.originalX, this.start0.originalY, this.end0.x, this.end0.y);
555
+ }
556
+ return 0;
557
+ }
553
558
  }, {
554
559
  key: "pinchDelta",
555
560
  value: function pinchDelta() {
@@ -178,8 +178,8 @@ var LoadingManager = exports.LoadingManager = /*#__PURE__*/function () {
178
178
  value: function getLoadingItemValue(tmodel, targetName) {
179
179
  var target = tmodel.targets[targetName];
180
180
  var key = this.getTModelKey(tmodel, targetName);
181
- var modelEntry = this.tmodelKeyMap[key];
182
- if (!modelEntry || !target) {
181
+ var tmodelEntry = this.tmodelKeyMap[key];
182
+ if (!tmodelEntry || !target || tmodelEntry.accessIndex >= tmodelEntry.resultCount) {
183
183
  return undefined;
184
184
  }
185
185
  var loadTargetName = this.getLoadTargetName(targetName);
@@ -187,11 +187,11 @@ var LoadingManager = exports.LoadingManager = /*#__PURE__*/function () {
187
187
  var result;
188
188
  if (targetValue) {
189
189
  if (target.fetchAction === 'onEnd') {
190
- result = targetValue.slice(modelEntry.accessIndex);
191
- modelEntry.accessIndex += result.length;
190
+ result = targetValue.slice(tmodelEntry.accessIndex);
191
+ tmodelEntry.accessIndex += result.length;
192
192
  } else {
193
- result = targetValue[modelEntry.accessIndex];
194
- modelEntry.accessIndex++;
193
+ result = targetValue[tmodelEntry.accessIndex];
194
+ tmodelEntry.accessIndex++;
195
195
  }
196
196
  }
197
197
  return result;
@@ -138,11 +138,13 @@ var LocationManager = exports.LocationManager = /*#__PURE__*/function () {
138
138
  }
139
139
  _this3.locationListStats.push(child.oid);
140
140
  viewport.setCurrentChild(child);
141
- viewport.setLocation();
141
+ if (!child.targets['excludeXYCalc']) {
142
+ viewport.setLocation();
143
+ }
142
144
  if (child.isIncluded() && container.manageChildTargetExecution(child, shouldCalculateChildTargets)) {
143
145
  _this3.calculateTargets(child);
144
146
  }
145
- if (container.getContainerOverflowMode() === 'always' || child.getItemOverflowMode() === 'always' || container.getContainerOverflowMode() === 'auto' && child.getItemOverflowMode() === 'auto' && viewport.isOverflow()) {
147
+ if (container.getContainerOverflowMode() === 'always' || container.getContainerOverflowMode() === 'auto' && child.getItemOverflowMode() === 'auto' && viewport.isOverflow()) {
146
148
  viewport.overflow();
147
149
  viewport.setLocation();
148
150
  }
@@ -201,6 +203,10 @@ var LocationManager = exports.LocationManager = /*#__PURE__*/function () {
201
203
  if (_TUtil.TUtil.isNumber(child.val('appendNewLine'))) {
202
204
  viewport.appendNewLine();
203
205
  container.calcContentWidthHeight();
206
+ } else if (child.getItemOverflowMode() === 'always') {
207
+ viewport.nextLocation();
208
+ viewport.overflow();
209
+ container.calcContentWidthHeight();
204
210
  } else {
205
211
  container.calcContentWidthHeight();
206
212
  viewport.nextLocation();
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.PageManager = void 0;
7
7
  var _TUtil = require("./TUtil.js");
8
- var _$Dom = require("./$Dom.js");
9
8
  var _App = require("./App.js");
9
+ var _$Dom = require("./$Dom.js");
10
10
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
11
11
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
12
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -36,6 +36,13 @@ var PageManager = exports.PageManager = /*#__PURE__*/function () {
36
36
  this.pageCache = {};
37
37
  }
38
38
  return _createClass(PageManager, [{
39
+ key: "initPage",
40
+ value: function initPage(html) {
41
+ _App.tApp.tRoot.$dom.outerHTML(html);
42
+ _App.tApp.tRoot.$dom = _$Dom.$Dom.query('#tgjs-root') ? new _$Dom.$Dom('#tgjs-root') : new _$Dom.$Dom('body');
43
+ _TUtil.TUtil.initPageDoms(_App.tApp.tRoot.$dom);
44
+ }
45
+ }, {
39
46
  key: "openPage",
40
47
  value: function () {
41
48
  var _openPage = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(link) {
@@ -48,9 +55,7 @@ var PageManager = exports.PageManager = /*#__PURE__*/function () {
48
55
  _App.tApp.reset();
49
56
  link = _TUtil.TUtil.getFullLink(link);
50
57
  if (!this.pageCache[link]) {
51
- if (_App.tApp.tRoot.hasDom()) {
52
- _App.tApp.tRoot.$dom.innerHTML("");
53
- }
58
+ _App.tApp.tRoot.$dom.innerHTML("");
54
59
  _App.tApp.tRoot = _App.tApp.tRootFactory();
55
60
  _App.App.oids = {};
56
61
  _App.tApp.pageIsEmpty = true;
@@ -59,9 +64,9 @@ var PageManager = exports.PageManager = /*#__PURE__*/function () {
59
64
  } else {
60
65
  _App.tApp.tRoot = this.pageCache[link].tRoot;
61
66
  _App.App.oids = this.pageCache[link].oids;
62
- _App.tApp.tRoot.$dom = new _$Dom.$Dom('#tgjs-root');
67
+ _App.tApp.tRoot.$dom = _$Dom.$Dom.query('#tgjs-root') ? new _$Dom.$Dom('#tgjs-root') : new _$Dom.$Dom('body');
63
68
  _App.tApp.tRoot.$dom.innerHTML(this.pageCache[link].html);
64
- _TUtil.TUtil.initDoms(this.pageCache[link].visibleList);
69
+ _TUtil.TUtil.initCacheDoms(this.pageCache[link].visibleList);
65
70
  this.pageCache[link].visibleList.forEach(function (tmodel) {
66
71
  tmodel.visibilityStatus = undefined;
67
72
  });
@@ -108,7 +113,7 @@ var PageManager = exports.PageManager = /*#__PURE__*/function () {
108
113
  var updateHistory = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
109
114
  link = _TUtil.TUtil.getFullLink(link);
110
115
  if (this.lastLink) {
111
- _App.tApp.tRoot.$dom = new _$Dom.$Dom('#tgjs-root');
116
+ _App.tApp.tRoot.$dom = _$Dom.$Dom.query('#tgjs-root') ? new _$Dom.$Dom('#tgjs-root') : new _$Dom.$Dom('body');
112
117
  var html = _App.tApp.tRoot.$dom.innerHTML();
113
118
  this.onPageClose();
114
119
  this.pageCache[this.lastLink] = {
@@ -132,7 +137,7 @@ var PageManager = exports.PageManager = /*#__PURE__*/function () {
132
137
  value: function updateBrowserUrl(link) {
133
138
  var currentState = window.history.state;
134
139
  if (!currentState.browserUrl) {
135
- _App.tApp.tRoot.$dom = new _$Dom.$Dom('#tgjs-root');
140
+ _App.tApp.tRoot.$dom = _$Dom.$Dom.query('#tgjs-root') ? new _$Dom.$Dom('#tgjs-root') : new _$Dom.$Dom('body');
136
141
  this.pageCache[document.URL] = {
137
142
  link: document.URL,
138
143
  html: _App.tApp.tRoot.$dom.innerHTML(),
package/build/TModel.js CHANGED
@@ -28,10 +28,10 @@ function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf
28
28
  * These objects typically have a DOM but can also operate without one.
29
29
  */
30
30
  var TModel = exports.TModel = /*#__PURE__*/function (_BaseModel) {
31
- function TModel(type, targets) {
31
+ function TModel(type, targets, oid) {
32
32
  var _this;
33
33
  _classCallCheck(this, TModel);
34
- _this = _callSuper(this, TModel, [type, targets]);
34
+ _this = _callSuper(this, TModel, [type, targets, oid]);
35
35
  _this.allChildrenList = [];
36
36
  _this.allChildrenMap = {};
37
37
  _this.childrenUpdateFlag = false;
@@ -49,7 +49,6 @@ var TModel = exports.TModel = /*#__PURE__*/function (_BaseModel) {
49
49
  _this.styleMap = {};
50
50
  _this.transformMap = {};
51
51
  _this.visibilityStatus = undefined;
52
- _this.isNowInvisible = false;
53
52
  _this.hasDomNow = false;
54
53
  _this.isNowVisible = false;
55
54
  _this.currentStatus = 'new';
@@ -111,8 +110,10 @@ var TModel = exports.TModel = /*#__PURE__*/function (_BaseModel) {
111
110
  if (foundKey) {
112
111
  child = new TModel(child.id || foundKey, child);
113
112
  this.actualValues[foundKey] = child;
114
- } else if (child.id) {
115
- child = new TModel(child.id, child);
113
+ } else if (_TUtil.TUtil.isDefined(child.otype)) {
114
+ child = new TModel(child.otype, child);
115
+ } else if (_TUtil.TUtil.isDefined(child.id)) {
116
+ child = new TModel(child.id, child, child.id);
116
117
  } else {
117
118
  child = new TModel("".concat(this.oid, "_"), child);
118
119
  }
@@ -359,9 +360,10 @@ var TModel = exports.TModel = /*#__PURE__*/function (_BaseModel) {
359
360
  }, {
360
361
  key: "val",
361
362
  value: function val(key, value) {
363
+ var _key;
362
364
  var actual = this.actualValues;
363
365
  var lastActual = this.lastActualValues;
364
- if (key.startsWith('_')) {
366
+ if ((_key = key) !== null && _key !== void 0 && _key.startsWith('_')) {
365
367
  actual = this;
366
368
  key = key.slice(1);
367
369
  }
@@ -358,9 +358,9 @@ var TModelManager = exports.TModelManager = /*#__PURE__*/function () {
358
358
  } else {
359
359
  tmodel.$dom = new _$Dom.$Dom();
360
360
  _TModelUtil.TModelUtil.createDom(tmodel);
361
+ tmodel.getDomHolder(tmodel).appendTModel$Dom(tmodel);
362
+ tmodel.hasDomNow = true;
361
363
  }
362
- tmodel.getDomHolder(tmodel).appendTModel$Dom(tmodel);
363
- tmodel.hasDomNow = true;
364
364
  }
365
365
  }
366
366
  (0, _App.getEvents)().attachEvents(this.lists.noDom);
@@ -71,7 +71,7 @@ var TModelUtil = exports.TModelUtil = /*#__PURE__*/function () {
71
71
  tmodel.$dom.create(tmodel.getBaseElement());
72
72
  tmodel.$dom.setSelector("#".concat(tmodel.oid));
73
73
  tmodel.$dom.setId(tmodel.oid);
74
- tmodel.$dom.stamp();
74
+ tmodel.$dom.attr('tg', 'true');
75
75
  tmodel.isTextOnly() ? tmodel.$dom.text(tmodel.getHtml()) : tmodel.$dom.html(tmodel.getHtml());
76
76
  tmodel.setActualValueLastUpdate('html');
77
77
  tmodel.domHeightTimestamp = 0;
package/build/TUtil.js CHANGED
@@ -6,11 +6,15 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.TUtil = void 0;
7
7
  var _$Dom = require("./$Dom.js");
8
8
  var _App = require("./App.js");
9
+ var _TargetData = require("./TargetData.js");
9
10
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
10
11
  function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
11
12
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
12
13
  function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
13
14
  function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
15
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
14
18
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
15
19
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
16
20
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
@@ -53,13 +57,15 @@ var TUtil = exports.TUtil = /*#__PURE__*/function () {
53
57
  status.parentY = parentY;
54
58
  status.parentWidth = parentWidth;
55
59
  status.parentHeight = parentHeight;
60
+ status.x = x;
61
+ status.y = y;
56
62
  child.val('isVisible', status.left && status.right && status.top && status.bottom);
57
63
  return child.val('isVisible');
58
64
  }
59
65
  }, {
60
- key: "initDoms",
61
- value: function initDoms(visibleList) {
62
- var elements = _$Dom.$Dom.getAllStamped();
66
+ key: "initCacheDoms",
67
+ value: function initCacheDoms(visibleList) {
68
+ var elements = (0, _App.tRoot)().$dom.queryAll('[tg]');
63
69
  visibleList.forEach(function (tmodel) {
64
70
  tmodel.$dom = null;
65
71
  });
@@ -85,6 +91,118 @@ var TUtil = exports.TUtil = /*#__PURE__*/function () {
85
91
  _iterator.f();
86
92
  }
87
93
  }
94
+ }, {
95
+ key: "initPageDoms",
96
+ value: function initPageDoms($dom) {
97
+ var elementToModel = new Map();
98
+ var elements = $dom.queryAll('*');
99
+ var _iterator2 = _createForOfIteratorHelper(elements),
100
+ _step2;
101
+ try {
102
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
103
+ var element = _step2.value;
104
+ var newModel = void 0;
105
+ var attrs = Array.from(element.attributes);
106
+ var isTargetElement = attrs.some(function (attr) {
107
+ return attr.name === 'tg' || attr.name.startsWith('tg-');
108
+ });
109
+ var attributeSet = {};
110
+ if (isTargetElement) {
111
+ var _iterator3 = _createForOfIteratorHelper(attrs),
112
+ _step3;
113
+ try {
114
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
115
+ var attr = _step3.value;
116
+ if (attr.name.startsWith("tg-")) {
117
+ var rawKey = attr.name.slice(3);
118
+ var key = _TargetData.TargetData.attributesToTargets[rawKey] || rawKey;
119
+ var rawValue = attr.value.trim();
120
+ var value = TUtil.parseString(rawValue);
121
+ attributeSet[key] = value;
122
+ }
123
+ }
124
+ } catch (err) {
125
+ _iterator3.e(err);
126
+ } finally {
127
+ _iterator3.f();
128
+ }
129
+ }
130
+ var parentEl = element.parentElement;
131
+ var parentModel = elementToModel.get(parentEl);
132
+ var id = void 0;
133
+ if (Object.keys(attributeSet).length > 0) {
134
+ id = element.getAttribute('id');
135
+ if (!id && !parentModel) {
136
+ id = _App.App.getOid('blank').oid;
137
+ element.setAttribute('id', id);
138
+ }
139
+ if (!element.getAttribute('tg')) {
140
+ element.setAttribute('tg', true);
141
+ }
142
+ newModel = _objectSpread({
143
+ id: id,
144
+ $dom: new _$Dom.$Dom(element)
145
+ }, attributeSet);
146
+ }
147
+ if (parentModel) {
148
+ if (!newModel) {
149
+ newModel = {
150
+ textOnly: false,
151
+ html: element.outerHTML,
152
+ $dom: new _$Dom.$Dom(element)
153
+ };
154
+ }
155
+ newModel.shouldBeBracketed = false;
156
+ newModel.otype = newModel.id || (parentModel.id || _App.App.getOid('blank').oid) + "_";
157
+ newModel.$dom.detach();
158
+ delete newModel.$dom;
159
+ delete newModel.id;
160
+ newModel.isVisible = function () {
161
+ return this.getParent().isVisible();
162
+ };
163
+ newModel.domParent = function () {
164
+ return this.getParent();
165
+ };
166
+ if (parentModel.children) {
167
+ if (Array.isArray(parentModel.children.value)) {
168
+ parentModel.children.value.push(newModel);
169
+ } else {
170
+ parentModel.children.value = [newModel];
171
+ }
172
+ } else {
173
+ parentModel.children = {
174
+ value: [newModel]
175
+ };
176
+ }
177
+ elementToModel.set(element, newModel);
178
+ } else if (newModel) {
179
+ newModel.isVisible = true;
180
+ (0, _App.tRoot)().addChild(newModel);
181
+ elementToModel.set(element, newModel);
182
+ }
183
+ }
184
+ } catch (err) {
185
+ _iterator2.e(err);
186
+ } finally {
187
+ _iterator2.f();
188
+ }
189
+ }
190
+ }, {
191
+ key: "parseString",
192
+ value: function parseString(rawValue) {
193
+ try {
194
+ return eval("(".concat(rawValue, ")"));
195
+ } catch (_unused) {}
196
+ if (typeof rawValue === 'string' && (rawValue.includes('return') || rawValue.includes('setTarget'))) {
197
+ try {
198
+ return new Function(rawValue);
199
+ } catch (_unused2) {}
200
+ }
201
+ try {
202
+ return JSON.parse(rawValue);
203
+ } catch (_unused3) {}
204
+ return rawValue;
205
+ }
88
206
  }, {
89
207
  key: "contains",
90
208
  value: function contains(container, tmodel) {
@@ -221,11 +339,11 @@ var TUtil = exports.TUtil = /*#__PURE__*/function () {
221
339
  var tmodel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _App.tRoot)();
222
340
  var tab = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
223
341
  var list = (0, _App.getLocationManager)().getChildren(tmodel);
224
- var _iterator2 = _createForOfIteratorHelper(list),
225
- _step2;
342
+ var _iterator4 = _createForOfIteratorHelper(list),
343
+ _step4;
226
344
  try {
227
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
228
- var g = _step2.value;
345
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
346
+ var g = _step4.value;
229
347
  var gtab = g.isVisible() ? tab + '| ' : tab + 'x ';
230
348
  if (g.type === 'BI') {
231
349
  console.log("".concat(gtab).concat(g.oid, " v:").concat(g.isVisible(), " x:").concat(Math.floor(g.getX()), " y:").concat(Math.floor(g.getY()), ", absY:").concat(Math.floor(g.absY), " yy:").concat(Math.floor(g.absY + g.getDomParent().absY), " w:").concat(Math.floor(g.getWidth()), " h:").concat(Math.floor(g.getHeight()), " hc:").concat(Math.floor(g.getContentHeight())));
@@ -237,9 +355,9 @@ var TUtil = exports.TUtil = /*#__PURE__*/function () {
237
355
  }
238
356
  }
239
357
  } catch (err) {
240
- _iterator2.e(err);
358
+ _iterator4.e(err);
241
359
  } finally {
242
- _iterator2.f();
360
+ _iterator4.f();
243
361
  }
244
362
  }
245
363
  }]);
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.TargetData = void 0;
7
7
  var _App = require("./App.js");
8
+ var _TUtil = require("./TUtil.js");
8
9
  var _TargetData;
9
10
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
11
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -509,6 +510,59 @@ _defineProperty(TargetData, "events", {
509
510
  }
510
511
  }
511
512
  });
513
+ _defineProperty(TargetData, "attributesToTargets", {
514
+ onstart: 'onStart',
515
+ onend: 'onEnd',
516
+ onKkey: 'onKey',
517
+ onclick: 'onClick',
518
+ onanyclick: 'onAnyClick',
519
+ onhover: 'onHover',
520
+ onswipe: 'onSwipe',
521
+ onanyswipe: 'onAnySwipe',
522
+ onpinch: 'onPinch',
523
+ onenter: 'onEnter',
524
+ onleave: 'onLeave',
525
+ onscroll: 'onScroll',
526
+ onscrollleft: 'onScrollLeft',
527
+ onscrolltop: 'onScrollTop',
528
+ onwindowscroll: 'onWindowScroll',
529
+ onvisible: 'onVisible',
530
+ onresize: 'onResize',
531
+ textalign: 'textAlign',
532
+ preventdefault: 'preventDefault',
533
+ translatex: 'translateX',
534
+ translatey: 'translateY',
535
+ translatez: 'translateZ',
536
+ rotate3dx: 'rotate3DX',
537
+ rotate3dy: 'rotate3DY',
538
+ rotate3dz: 'rotate3DZ',
539
+ rotate3dangle: 'rotate3DAngle',
540
+ scale3dx: 'scale3DX',
541
+ scale3dy: 'scale3DY',
542
+ scale3dz: 'scale3DZ',
543
+ skewx: 'skewX',
544
+ skewy: 'skewY',
545
+ fontsize: 'fontSize',
546
+ borderradius: 'borderRadius',
547
+ letterspacing: 'letterSpacing',
548
+ backgroundcolor: 'backgroundColor',
549
+ bordertop: 'borderTop',
550
+ borderleft: 'borderLeft',
551
+ borderright: 'borderRight',
552
+ borderbottom: 'borderBottom',
553
+ boxsizing: 'boxSizing',
554
+ transformstyle: 'transformStyle',
555
+ transformorigin: 'transformOrigin',
556
+ justifycontent: 'justifyContent',
557
+ alignitems: 'alignItems',
558
+ fontfamily: 'fontFamily',
559
+ overflowx: 'overflowX',
560
+ overflowy: 'overflowY',
561
+ textdecoration: 'textDecoration',
562
+ boxshadow: 'boxShadow',
563
+ fontweight: 'fontWeight',
564
+ willchange: 'willChange'
565
+ });
512
566
  _defineProperty(TargetData, "targetToEventsMapping", {
513
567
  onStart: ['touchStart', 'mouseStart'],
514
568
  onEnd: [],
@@ -534,7 +588,7 @@ _defineProperty(TargetData, "touchEventMap", {
534
588
  return (0, _App.getEvents)().isEndEvent() && (0, _App.getEvents)().isEndHandler(tmodel);
535
589
  },
536
590
  onAnySwipe: function onAnySwipe() {
537
- return (0, _App.getEvents)().isSwipeEvent();
591
+ return (0, _App.getEvents)().isSwipeEvent() && _TUtil.TUtil.isDefined((0, _App.getEvents)().swipeStartX);
538
592
  },
539
593
  onHover: function onHover(tmodel) {
540
594
  return (0, _App.getEvents)().isMoveEvent() && (0, _App.getEvents)().isHoverHandler(tmodel);
@@ -552,7 +606,7 @@ _defineProperty(TargetData, "touchEventMap", {
552
606
  return (0, _App.getEvents)().isLeaveHandler(tmodel);
553
607
  },
554
608
  onSwipe: function onSwipe(tmodel) {
555
- return (0, _App.getEvents)().isSwipeHandler(tmodel) && (0, _App.getEvents)().isSwipeEvent();
609
+ return (0, _App.getEvents)().isSwipeHandler(tmodel) && (0, _App.getEvents)().isSwipeEvent() && _TUtil.TUtil.isDefined((0, _App.getEvents)().swipeStartX);
556
610
  }
557
611
  });
558
612
  _defineProperty(TargetData, "internalEventMap", {
@@ -29,7 +29,7 @@ var TargetExecutor = exports.TargetExecutor = /*#__PURE__*/function () {
29
29
  key: "executeDeclarativeTarget",
30
30
  value: function executeDeclarativeTarget(tmodel, key, cycle) {
31
31
  TargetExecutor.resolveTargetValue(tmodel, key, cycle);
32
- TargetExecutor.updateTarget(tmodel, tmodel.targetValues[key], key);
32
+ TargetExecutor.updateTarget(tmodel, tmodel.targetValues[key], key, false);
33
33
  _TargetUtil.TargetUtil.shouldActivateNextTarget(tmodel, key);
34
34
  }
35
35
  }, {
@@ -71,18 +71,18 @@ var TargetExecutor = exports.TargetExecutor = /*#__PURE__*/function () {
71
71
  targetValue.step = 0;
72
72
  }
73
73
  }
74
- TargetExecutor.updateTarget(tmodel, targetValue, key);
74
+ TargetExecutor.updateTarget(tmodel, targetValue, key, true);
75
75
  }
76
76
  }, {
77
77
  key: "updateTarget",
78
- value: function updateTarget(tmodel, targetValue, key) {
78
+ value: function updateTarget(tmodel, targetValue, key, enforce) {
79
79
  targetValue.executionCount++;
80
80
  targetValue.executionFlag = true;
81
81
  tmodel.setActualValueLastUpdate(key);
82
82
  if (tmodel.getTargetSteps(key) === 0) {
83
83
  TargetExecutor.snapActualToTarget(tmodel, key);
84
84
  }
85
- tmodel.addToStyleTargetList(key);
85
+ tmodel.addToStyleTargetList(key, enforce);
86
86
  tmodel.setTargetMethodName(key, 'value');
87
87
  tmodel.updateTargetStatus(key);
88
88
  }
@@ -155,6 +155,9 @@ var TargetExecutor = exports.TargetExecutor = /*#__PURE__*/function () {
155
155
  return tmodel.addedChildren.at(-1).child;
156
156
  });
157
157
  TargetExecutor.assignSingleTarget(targetValue, Array.isArray(newValue) ? tmodelChildren : tmodelChildren[0], undefined, 0, newCycles, newInterval);
158
+ } else if (_TargetUtil.TargetUtil.isFetchTarget(key, newValue)) {
159
+ (0, _App.getLoader)().fetch(tmodel, newValue);
160
+ TargetExecutor.assignSingleTarget(targetValue, newValue, undefined, 0, newCycles, newInterval);
158
161
  } else if (_TargetUtil.TargetUtil.isListTarget(newValue)) {
159
162
  TargetExecutor.assignListTarget(targetValue, newValue.list, newValue.list[0], newSteps, newInterval, easing);
160
163
  } else {
@@ -61,7 +61,7 @@ var TargetUtil = exports.TargetUtil = /*#__PURE__*/function () {
61
61
  var nextKey = keyIndex < keys.length - 1 ? keys[keyIndex + 1] : undefined;
62
62
  var getPrevValue = function getPrevValue() {
63
63
  if (prevKey) {
64
- if ((0, _App.getLoader)().isLoading(tmodel, prevKey)) {
64
+ if (_App.getLoader && (0, _App.getLoader)().isLoading(tmodel, prevKey)) {
65
65
  return (0, _App.getLoader)().getLoadingItemValue(tmodel, prevKey);
66
66
  } else {
67
67
  return tmodel.val(prevKey);
@@ -252,6 +252,11 @@ var TargetUtil = exports.TargetUtil = /*#__PURE__*/function () {
252
252
  value: function isListTarget(value) {
253
253
  return _typeof(value) === 'object' && value !== null && Array.isArray(value.list);
254
254
  }
255
+ }, {
256
+ key: "isFetchTarget",
257
+ value: function isFetchTarget(key, value) {
258
+ return key === 'fetch' && typeof value === 'string';
259
+ }
255
260
  }, {
256
261
  key: "isObjectTarget",
257
262
  value: function isObjectTarget(key, value) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "targetj",
3
- "version": "1.0.158",
3
+ "version": "1.0.159",
4
4
  "description": "TargetJS is a JavaScript framework designed for creating animated and efficient web user interfaces.",
5
5
  "keywords": ["targetjs"],
6
6
  "main": "Export.js",