dom-render 1.0.60 → 1.0.64

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/bundle.js CHANGED
@@ -31,6 +31,17 @@ function __extends(d, b) {
31
31
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
32
32
  }
33
33
 
34
+ var __assign = function() {
35
+ __assign = Object.assign || function __assign(t) {
36
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
37
+ s = arguments[i];
38
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
39
+ }
40
+ return t;
41
+ };
42
+ return __assign.apply(this, arguments);
43
+ };
44
+
34
45
  function __values(o) {
35
46
  var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
36
47
  if (m) return m.call(o);
@@ -197,6 +208,9 @@ var StringUtils = (function () {
197
208
  }
198
209
  return usingVars;
199
210
  };
211
+ StringUtils.escapeSpecialCharacterRegExp = function (data) {
212
+ return data.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
213
+ };
200
214
  return StringUtils;
201
215
  }());
202
216
 
@@ -323,8 +337,8 @@ var DomUtils = (function () {
323
337
  return DomUtils;
324
338
  }());
325
339
 
326
- var eventManager = new (function () {
327
- function class_1() {
340
+ var EventManager = (function () {
341
+ function EventManager() {
328
342
  var _this = this;
329
343
  this.attrPrefix = 'dr-';
330
344
  this.eventNames = [
@@ -359,7 +373,7 @@ var eventManager = new (function () {
359
373
  });
360
374
  });
361
375
  }
362
- class_1.prototype.findAttrElements = function (fragment, config) {
376
+ EventManager.prototype.findAttrElements = function (fragment, config) {
363
377
  var _a, _b;
364
378
  var elements = new Set();
365
379
  var addAttributes = (_b = (_a = config === null || config === void 0 ? void 0 : config.applyEvents) === null || _a === void 0 ? void 0 : _a.map(function (it) { return it.attrName; })) !== null && _b !== void 0 ? _b : [];
@@ -370,7 +384,7 @@ var eventManager = new (function () {
370
384
  });
371
385
  return elements;
372
386
  };
373
- class_1.prototype.applyEvent = function (obj, childNodes, config) {
387
+ EventManager.prototype.applyEvent = function (obj, childNodes, config) {
374
388
  var _this = this;
375
389
  this.eventNames.forEach(function (it) {
376
390
  _this.addDrEvents(obj, it, childNodes);
@@ -429,7 +443,7 @@ var eventManager = new (function () {
429
443
  (_a = config === null || config === void 0 ? void 0 : config.applyEvents) === null || _a === void 0 ? void 0 : _a.filter(function (ta) { return it.getAttribute(ta.attrName); }).forEach(function (ta) { return ta.callBack(it, it.getAttribute(ta.attrName), obj); });
430
444
  });
431
445
  };
432
- class_1.prototype.changeVar = function (obj, elements, varName) {
446
+ EventManager.prototype.changeVar = function (obj, elements, varName) {
433
447
  var _this = this;
434
448
  this.procAttr(elements, this.attrPrefix + 'value-link', function (it, attribute) {
435
449
  if (attribute && attribute === varName) {
@@ -451,28 +465,47 @@ var eventManager = new (function () {
451
465
  script = 'return ' + script;
452
466
  }
453
467
  if (_this.isUsingThisVar(script, varName) || varName === undefined) {
454
- var data = ScriptUtils.eval("const $target=this.__render.target; " + script + " ", Object.assign(obj, {
468
+ var data = ScriptUtils.eval("const $element = this.__render.element; " + script + " ", Object.assign(obj, {
455
469
  __render: Object.freeze({
456
- target: it
470
+ element: it
457
471
  })
458
472
  }));
459
473
  if (typeof data === 'string') {
460
474
  data.split(',').forEach(function (sit) {
461
475
  var _a = __read(sit.split('='), 2), key = _a[0], value = _a[1];
462
- it.setAttribute(key.trim(), value.trim());
476
+ var s = value.trim();
477
+ var k = key.trim();
478
+ if (s === 'null') {
479
+ it.removeAttribute(k);
480
+ }
481
+ else {
482
+ it.setAttribute(k, s);
483
+ }
463
484
  });
464
485
  }
465
486
  else if (Array.isArray(data)) {
466
487
  data.forEach(function (sit) {
467
488
  var _a = __read(sit.split('='), 2), key = _a[0], value = _a[1];
468
- it.setAttribute(key.trim(), value.trim());
489
+ var s = value.trim();
490
+ var k = key.trim();
491
+ if (s === 'null') {
492
+ it.removeAttribute(k);
493
+ }
494
+ else {
495
+ it.setAttribute(k, s);
496
+ }
469
497
  });
470
498
  }
471
499
  else {
472
500
  try {
473
501
  for (var _b = __values(Object.entries(data)), _c = _b.next(); !_c.done; _c = _b.next()) {
474
502
  var _d = __read(_c.value, 2), key = _d[0], value = _d[1];
475
- it.setAttribute(key, String(value));
503
+ if (value === null) {
504
+ it.removeAttribute(key);
505
+ }
506
+ else {
507
+ it.setAttribute(key, String(value));
508
+ }
476
509
  }
477
510
  }
478
511
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -492,9 +525,9 @@ var eventManager = new (function () {
492
525
  script = 'return ' + script;
493
526
  }
494
527
  if (_this.isUsingThisVar(script, varName) || varName === undefined) {
495
- var data = ScriptUtils.eval("const $target = this.__render.target; " + script + " ", Object.assign(obj, {
528
+ var data = ScriptUtils.eval("const $element = this.__render.element; " + script + " ", Object.assign(obj, {
496
529
  __render: Object.freeze({
497
- target: it
530
+ element: it
498
531
  })
499
532
  }));
500
533
  if (typeof data === 'string') {
@@ -529,9 +562,9 @@ var eventManager = new (function () {
529
562
  script = 'return ' + script;
530
563
  }
531
564
  if (_this.isUsingThisVar(script, varName) || varName === undefined) {
532
- var data = ScriptUtils.eval("const $target = this.$target; " + script + " ", Object.assign(obj, {
565
+ var data = ScriptUtils.eval("const $element = this.element; " + script + " ", Object.assign(obj, {
533
566
  __render: Object.freeze({
534
- target: it
567
+ element: it
535
568
  })
536
569
  }));
537
570
  if (typeof data === 'string') {
@@ -565,7 +598,7 @@ var eventManager = new (function () {
565
598
  }
566
599
  });
567
600
  };
568
- class_1.prototype.addDrEvents = function (obj, eventName, elements) {
601
+ EventManager.prototype.addDrEvents = function (obj, eventName, elements) {
569
602
  var attr = this.attrPrefix + 'event-' + eventName;
570
603
  this.procAttr(elements, attr, function (it, attribute) {
571
604
  var script = attribute;
@@ -578,7 +611,7 @@ var eventManager = new (function () {
578
611
  });
579
612
  });
580
613
  };
581
- class_1.prototype.addDrEventPram = function (obj, attr, elements) {
614
+ EventManager.prototype.addDrEventPram = function (obj, attr, elements) {
582
615
  this.procAttr(elements, attr, function (it, attribute, attributes) {
583
616
  var bind = attributes[attr + ':bind'];
584
617
  if (bind) {
@@ -605,7 +638,7 @@ var eventManager = new (function () {
605
638
  }
606
639
  });
607
640
  };
608
- class_1.prototype.procAttr = function (elements, attrName, callBack) {
641
+ EventManager.prototype.procAttr = function (elements, attrName, callBack) {
609
642
  if (elements === void 0) { elements = new Set(); }
610
643
  var sets = new Set();
611
644
  elements.forEach(function (it) {
@@ -628,31 +661,42 @@ var eventManager = new (function () {
628
661
  }
629
662
  });
630
663
  };
631
- class_1.prototype.getValue = function (obj, name, value) {
664
+ EventManager.prototype.getValue = function (obj, name, value) {
632
665
  var r = ScriptUtils.evalReturn(name, obj);
633
666
  if (typeof r === 'function') {
634
667
  r = r.bind(obj);
635
668
  }
636
669
  return r;
637
670
  };
638
- class_1.prototype.setValue = function (obj, name, value) {
671
+ EventManager.prototype.setValue = function (obj, name, value) {
639
672
  ScriptUtils.eval("this." + name + " = this.value", {
640
673
  this: obj,
641
674
  value: value
642
675
  });
643
676
  };
644
- class_1.prototype.isUsingThisVar = function (raws, varName) {
677
+ EventManager.prototype.isUsingThisVar = function (raws, varName) {
645
678
  if (varName && raws) {
646
679
  if (varName.startsWith('this.')) {
647
680
  varName = varName.replace(/this\./, '');
648
681
  }
682
+ EventManager.VARNAMES.forEach(function (it) {
683
+ raws = raws.replace(RegExp(it.replace('$', '\\$'), 'g'), "this?.___" + it);
684
+ });
649
685
  var variablePaths = ScriptUtils.getVariablePaths(raws !== null && raws !== void 0 ? raws : '');
650
686
  return variablePaths.has(varName);
651
687
  }
652
688
  return false;
653
689
  };
654
- return class_1;
655
- }())();
690
+ EventManager.SCRIPTS_VARNAME = '$scripts';
691
+ EventManager.FAG_VARNAME = '$fag';
692
+ EventManager.RAWSET_VARNAME = '$rawset';
693
+ EventManager.RANGE_VARNAME = '$range';
694
+ EventManager.ELEMENT_VARNAME = '$element';
695
+ EventManager.TARGET_VARNAME = '$target';
696
+ EventManager.VARNAMES = [EventManager.SCRIPTS_VARNAME, EventManager.FAG_VARNAME, EventManager.RAWSET_VARNAME, EventManager.RANGE_VARNAME, EventManager.ELEMENT_VARNAME, EventManager.TARGET_VARNAME];
697
+ return EventManager;
698
+ }());
699
+ var eventManager = new EventManager();
656
700
 
657
701
  var RangeResult = (function () {
658
702
  function RangeResult(value, done) {
@@ -751,7 +795,7 @@ var Validator = (function () {
751
795
  };
752
796
  Validator.prototype.setEvent = function (event) {
753
797
  if (event) {
754
- this._event = DomRenderProxy.final(event);
798
+ this._event = this.domRenderFinal(event);
755
799
  }
756
800
  return this;
757
801
  };
@@ -760,10 +804,14 @@ var Validator = (function () {
760
804
  };
761
805
  Validator.prototype.setTarget = function (target) {
762
806
  if (target) {
763
- this._target = DomRenderProxy.final(target);
807
+ this._target = this.domRenderFinal(target);
764
808
  }
765
809
  return this;
766
810
  };
811
+ Validator.prototype.domRenderFinal = function (obj) {
812
+ obj._DomRender_isFinal = true;
813
+ return obj;
814
+ };
767
815
  Object.defineProperty(Validator.prototype, "value", {
768
816
  get: function () {
769
817
  var _a;
@@ -1012,10 +1060,10 @@ var RawSet = (function () {
1012
1060
  script = targetAttrNames.map(function (it) { return (element_1.getAttribute(it)); }).filter(function (it) { return it; }).join(';');
1013
1061
  }
1014
1062
  if (script) {
1015
- RawSet.VARNAMES.forEach(function (it) {
1063
+ EventManager.VARNAMES.forEach(function (it) {
1016
1064
  script = script.replace(RegExp(it.replace('$', '\\$'), 'g'), "this?.___" + it);
1017
1065
  });
1018
- Array.from(ScriptUtils.getVariablePaths(script)).filter(function (it) { return !it.startsWith("___" + RawSet.SCRIPTS_VARNAME) && !it.startsWith("___" + RawSet.SCRIPTS_VARNAME); }).forEach(function (it) { return usingTriggerVariables.add(it); });
1066
+ Array.from(ScriptUtils.getVariablePaths(script)).filter(function (it) { return !it.startsWith("___" + EventManager.SCRIPTS_VARNAME) && !it.startsWith("___" + EventManager.SCRIPTS_VARNAME); }).forEach(function (it) { return usingTriggerVariables.add(it); });
1019
1067
  }
1020
1068
  });
1021
1069
  return usingTriggerVariables;
@@ -1029,15 +1077,28 @@ var RawSet = (function () {
1029
1077
  var drAttrs = [];
1030
1078
  genNode.childNodes.forEach(function (cNode, key) {
1031
1079
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4;
1080
+ var __render = Object.freeze({
1081
+ rawset: _this,
1082
+ scripts: RawSet.setBindProperty(config === null || config === void 0 ? void 0 : config.scripts, obj),
1083
+ range: Range.range,
1084
+ element: cNode,
1085
+ bindScript: "\n const " + EventManager.SCRIPTS_VARNAME + " = this.__render.scripts;\n const " + EventManager.RAWSET_VARNAME + " = this.__render.rawset;\n const " + EventManager.ELEMENT_VARNAME + " = this.__render.element;\n const " + EventManager.RANGE_VARNAME + " = this.__render.range;\n "
1086
+ });
1032
1087
  var fag = document.createDocumentFragment();
1033
- if (cNode.nodeType === Node.TEXT_NODE) {
1088
+ if (cNode.nodeType === Node.TEXT_NODE && cNode.textContent) {
1034
1089
  var textContent = cNode.textContent;
1035
- var n = document.createTextNode(ScriptUtils.eval("\n const " + RawSet.SCRIPTS_VARNAME + " = this.__render.scripts;\n const " + RawSet.RAWSET_VARNAME + " = this.__render.rawset;\n return `" + textContent + "`\n ", Object.assign(obj, {
1036
- __render: Object.freeze({
1037
- rawset: _this,
1038
- scripts: RawSet.setBindProperty(config === null || config === void 0 ? void 0 : config.scripts, obj)
1039
- })
1040
- })));
1090
+ var runText = RawSet.exporesionGrouops(textContent)[0][1];
1091
+ var n = void 0;
1092
+ if (textContent === null || textContent === void 0 ? void 0 : textContent.startsWith('#')) {
1093
+ var r = ScriptUtils.eval(__render.bindScript + " return " + runText, Object.assign(obj, { __render: __render }));
1094
+ var template = document.createElement('template');
1095
+ template.innerHTML = r;
1096
+ n = template.content;
1097
+ }
1098
+ else {
1099
+ var r = ScriptUtils.eval(__render.bindScript + " return " + runText, Object.assign(obj, { __render: __render }));
1100
+ n = document.createTextNode(r);
1101
+ }
1041
1102
  (_a = cNode.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(n, cNode);
1042
1103
  }
1043
1104
  else if (cNode.nodeType === Node.ELEMENT_NODE) {
@@ -1050,6 +1111,7 @@ var RawSet = (function () {
1050
1111
  drRepeat: _this.getAttributeAndDelete(element_2, RawSet.DR_REPEAT_NAME),
1051
1112
  drThis: _this.getAttributeAndDelete(element_2, RawSet.DR_THIS_NAME),
1052
1113
  drForm: _this.getAttributeAndDelete(element_2, RawSet.DR_FORM_NAME),
1114
+ drPre: _this.getAttributeAndDelete(element_2, RawSet.DR_PRE_NAME),
1053
1115
  drInnerHTML: _this.getAttributeAndDelete(element_2, RawSet.DR_INNERHTML_NAME),
1054
1116
  drInnerText: _this.getAttributeAndDelete(element_2, RawSet.DR_INNERTEXT_NAME),
1055
1117
  drItOption: _this.getAttributeAndDelete(element_2, RawSet.DR_IT_OPTIONNAME),
@@ -1060,18 +1122,15 @@ var RawSet = (function () {
1060
1122
  drStripOption: _this.getAttributeAndDelete(element_2, RawSet.DR_STRIP_OPTIONNAME) === 'true'
1061
1123
  };
1062
1124
  drAttrs.push(drAttr_1);
1125
+ if (drAttr_1.drPre != null) {
1126
+ return;
1127
+ }
1063
1128
  if (drAttr_1.dr !== null && drAttr_1.dr.length >= 0) {
1064
1129
  var itRandom = RawSet.drItOtherEncoding(element_2);
1065
1130
  var vars = RawSet.drVarEncoding(element_2, (_b = drAttr_1.drVarOption) !== null && _b !== void 0 ? _b : '');
1066
1131
  var newTemp = document.createElement('temp');
1067
- ScriptUtils.eval("\n const " + RawSet.SCRIPTS_VARNAME + " = this.__render.scripts;\n const " + RawSet.RAWSET_VARNAME + " = this.__render.rawset;\n const n = this.__render.element.cloneNode(true);\n var destIt = " + drAttr_1.drItOption + ";\n if (destIt !== undefined) {\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\#it\\#/g, destIt)))\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt);\n }\n if (this.__render.drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__fag.append(it));\n } else {\n this.__render.fag.append(n);\n }", Object.assign(obj, {
1068
- __render: Object.freeze({
1069
- fag: newTemp,
1070
- drStripOption: drAttr_1.drStripOption,
1071
- element: element_2,
1072
- rawset: _this,
1073
- scripts: RawSet.setBindProperty(config === null || config === void 0 ? void 0 : config.scripts, obj)
1074
- })
1132
+ ScriptUtils.eval("\n " + __render.bindScript + "\n const n = $element.cloneNode(true);\n var destIt = " + drAttr_1.drItOption + ";\n if (destIt !== undefined) {\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\#it\\#/g, destIt)))\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt);\n }\n if (this.__render.drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__fag.append(it));\n } else {\n this.__render.fag.append(n);\n }", Object.assign(obj, {
1133
+ __render: Object.freeze(__assign({ fag: newTemp, drStripOption: drAttr_1.drStripOption }, __render))
1075
1134
  }));
1076
1135
  RawSet.drVarDecoding(newTemp, vars);
1077
1136
  RawSet.drItOtherDecoding(newTemp, itRandom);
@@ -1086,14 +1145,8 @@ var RawSet = (function () {
1086
1145
  var itRandom = RawSet.drItOtherEncoding(element_2);
1087
1146
  var vars = RawSet.drVarEncoding(element_2, (_d = drAttr_1.drVarOption) !== null && _d !== void 0 ? _d : '');
1088
1147
  var newTemp = document.createElement('temp');
1089
- ScriptUtils.eval("\n const " + RawSet.SCRIPTS_VARNAME + " = this.__render.scripts;\n const " + RawSet.RAWSET_VARNAME + " = this.__render.rawset;\n " + ((_e = drAttr_1.drBeforeOption) !== null && _e !== void 0 ? _e : '') + "\n if(" + drAttr_1.drIf + ") {\n const n = this.__render.element.cloneNode(true);\n var destIt = " + drAttr_1.drItOption + ";\n if (destIt !== undefined) {\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\#it\\#/g, destIt)))\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt);\n }\n if (this.__render.drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n }\n " + ((_f = drAttr_1.drAfterOption) !== null && _f !== void 0 ? _f : '') + "\n ", Object.assign(obj, {
1090
- __render: Object.freeze({
1091
- fag: newTemp,
1092
- drStripOption: drAttr_1.drStripOption,
1093
- element: element_2,
1094
- rawset: _this,
1095
- scripts: RawSet.setBindProperty(config === null || config === void 0 ? void 0 : config.scripts, obj)
1096
- })
1148
+ ScriptUtils.eval("\n " + __render.bindScript + "\n " + ((_e = drAttr_1.drBeforeOption) !== null && _e !== void 0 ? _e : '') + "\n if(" + drAttr_1.drIf + ") {\n const n = $element.cloneNode(true);\n var destIt = " + drAttr_1.drItOption + ";\n if (destIt !== undefined) {\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\#it\\#/g, destIt)))\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt);\n }\n if (this.__render.drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n }\n " + ((_f = drAttr_1.drAfterOption) !== null && _f !== void 0 ? _f : '') + "\n ", Object.assign(obj, {
1149
+ __render: Object.freeze(__assign({ fag: newTemp, drStripOption: drAttr_1.drStripOption }, __render))
1097
1150
  }));
1098
1151
  RawSet.drVarDecoding(newTemp, vars);
1099
1152
  RawSet.drItOtherDecoding(newTemp, itRandom);
@@ -1152,14 +1205,10 @@ var RawSet = (function () {
1152
1205
  raws.push.apply(raws, __spreadArray([], __read(RawSet.checkPointCreates(element_2, config)), false));
1153
1206
  }
1154
1207
  if (drAttr_1.drInnerText) {
1155
- var data = ScriptUtils.evalReturn(drAttr_1.drInnerText, obj);
1156
1208
  var newTemp = document.createElement('temp');
1157
- ScriptUtils.eval(" \n const n = this.__element.cloneNode(true); \n " + ((_k = drAttr_1.drBeforeOption) !== null && _k !== void 0 ? _k : '') + "\n n.innerText = this.__data;\n if (this.__drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__fag.append(it));\n } else {\n this.__fag.append(n);\n }\n " + ((_l = drAttr_1.drAfterOption) !== null && _l !== void 0 ? _l : '') + "\n ", Object.assign({
1158
- __fag: newTemp,
1159
- __drStripOption: drAttr_1.drStripOption,
1160
- __data: data,
1161
- __element: element_2
1162
- }, obj));
1209
+ ScriptUtils.eval(" \n " + __render.bindScript + "\n const n = $element.cloneNode(true); \n " + ((_k = drAttr_1.drBeforeOption) !== null && _k !== void 0 ? _k : '') + "\n n.innerText = " + drAttr_1.drInnerText + ";\n if (this.__render.drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n " + ((_l = drAttr_1.drAfterOption) !== null && _l !== void 0 ? _l : '') + "\n ", Object.assign(obj, {
1210
+ __render: Object.freeze(__assign({ drStripOption: drAttr_1.drStripOption, fag: newTemp }, __render))
1211
+ }));
1163
1212
  var tempalte = document.createElement('template');
1164
1213
  tempalte.innerHTML = newTemp.innerHTML;
1165
1214
  fag.append(tempalte.content);
@@ -1168,14 +1217,10 @@ var RawSet = (function () {
1168
1217
  raws.push.apply(raws, __spreadArray([], __read(rr), false));
1169
1218
  }
1170
1219
  if (drAttr_1.drInnerHTML) {
1171
- var data = ScriptUtils.evalReturn(drAttr_1.drInnerHTML, obj);
1172
1220
  var newTemp = document.createElement('temp');
1173
- ScriptUtils.eval("\n const n = this.__element.cloneNode(true);\n " + ((_o = drAttr_1.drBeforeOption) !== null && _o !== void 0 ? _o : '') + "\n n.innerHTML = this.__data;\n if (this.__drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__fag.append(it));\n } else {\n this.__fag.append(n);\n }\n " + ((_p = drAttr_1.drAfterOption) !== null && _p !== void 0 ? _p : '') + "\n ", Object.assign({
1174
- __fag: newTemp,
1175
- __drStripOption: drAttr_1.drStripOption,
1176
- __data: data,
1177
- __element: element_2
1178
- }, obj));
1221
+ ScriptUtils.eval("\n " + __render.bindScript + "\n const n = $element.cloneNode(true);\n " + ((_o = drAttr_1.drBeforeOption) !== null && _o !== void 0 ? _o : '') + "\n n.innerHTML = " + drAttr_1.drInnerHTML + ";\n if (this.__render.drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n " + ((_p = drAttr_1.drAfterOption) !== null && _p !== void 0 ? _p : '') + "\n ", Object.assign(obj, {
1222
+ __render: Object.freeze(__assign({ drStripOption: drAttr_1.drStripOption, fag: newTemp }, __render))
1223
+ }));
1179
1224
  var tempalte = document.createElement('template');
1180
1225
  tempalte.innerHTML = newTemp.innerHTML;
1181
1226
  fag.append(tempalte.content);
@@ -1187,14 +1232,8 @@ var RawSet = (function () {
1187
1232
  var itRandom = RawSet.drItOtherEncoding(element_2);
1188
1233
  var vars = RawSet.drVarEncoding(element_2, (_r = drAttr_1.drVarOption) !== null && _r !== void 0 ? _r : '');
1189
1234
  var newTemp = document.createElement('temp');
1190
- ScriptUtils.eval("\n const " + RawSet.SCRIPTS_VARNAME + " = this.__render.scripts;\n const " + RawSet.RANGE_VARNAME + " = this.__render.range;\n const " + RawSet.ELEMENT_VARNAME + " = this.__render.element;\n " + ((_s = drAttr_1.drBeforeOption) !== null && _s !== void 0 ? _s : '') + "\n for(" + drAttr_1.drFor + ") {\n const n = this.__render.element.cloneNode(true);\n var destIt = " + drAttr_1.drItOption + ";\n if (destIt !== undefined) {\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\#it\\#/g, destIt))) \n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt);\n }\n if (this.__render.drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n }\n " + ((_t = drAttr_1.drAfterOption) !== null && _t !== void 0 ? _t : '') + "\n ", Object.assign(obj, {
1191
- __render: Object.freeze({
1192
- range: Range.range,
1193
- fag: newTemp,
1194
- drStripOption: drAttr_1.drStripOption,
1195
- element: element_2,
1196
- scripts: RawSet.setBindProperty(config === null || config === void 0 ? void 0 : config.scripts, obj)
1197
- })
1235
+ ScriptUtils.eval("\n " + __render.bindScript + "\n " + ((_s = drAttr_1.drBeforeOption) !== null && _s !== void 0 ? _s : '') + "\n for(" + drAttr_1.drFor + ") {\n const n = this.__render.element.cloneNode(true);\n var destIt = " + drAttr_1.drItOption + ";\n if (destIt !== undefined) {\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\#it\\#/g, destIt))) \n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt);\n }\n if (this.__render.drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n }\n " + ((_t = drAttr_1.drAfterOption) !== null && _t !== void 0 ? _t : '') + "\n ", Object.assign(obj, {
1236
+ __render: Object.freeze(__assign({ fag: newTemp, drStripOption: drAttr_1.drStripOption }, __render))
1198
1237
  }));
1199
1238
  RawSet.drVarDecoding(newTemp, vars);
1200
1239
  RawSet.drItOtherDecoding(newTemp, itRandom);
@@ -1209,15 +1248,8 @@ var RawSet = (function () {
1209
1248
  var itRandom = RawSet.drItOtherEncoding(element_2);
1210
1249
  var vars = RawSet.drVarEncoding(element_2, (_v = drAttr_1.drVarOption) !== null && _v !== void 0 ? _v : '');
1211
1250
  var newTemp = document.createElement('temp');
1212
- ScriptUtils.eval("\n const " + RawSet.SCRIPTS_VARNAME + " = this.__render.scripts;\n const " + RawSet.RANGE_VARNAME + " = this.__render.range;\n const " + RawSet.ELEMENT_VARNAME + " = this.__render.element;\n " + ((_w = drAttr_1.drBeforeOption) !== null && _w !== void 0 ? _w : '') + "\n var i = 0; \n const forOf = " + drAttr_1.drForOf + ";\n const forOfStr = `" + drAttr_1.drForOf + "`.trim();\n for(const it of forOf) {\n var destIt = it;\n if (/\\[(.*,?)\\],/g.test(forOfStr)) {\n if (typeof it === 'string') {\n destIt = it;\n } else {\n destIt = forOfStr.substring(1, forOfStr.length-1).split(',')[i];\n }\n } else if (forOf.isRange) {\n destIt = it;\n } else {\n destIt = forOfStr + '[' + i +']'\n }\n const n = this.__render.element.cloneNode(true);\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\#it\\#/g, destIt)))\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt);\n if (this.__render.drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n i++;\n }\n " + ((_x = drAttr_1.drAfterOption) !== null && _x !== void 0 ? _x : '') + "\n ", Object.assign(obj, {
1213
- __render: Object.freeze({
1214
- rawset: _this,
1215
- range: Range.range,
1216
- drStripOption: drAttr_1.drStripOption,
1217
- fag: newTemp,
1218
- element: element_2,
1219
- scripts: RawSet.setBindProperty(config === null || config === void 0 ? void 0 : config.scripts, obj)
1220
- })
1251
+ ScriptUtils.eval("\n " + __render.bindScript + "\n " + ((_w = drAttr_1.drBeforeOption) !== null && _w !== void 0 ? _w : '') + "\n var i = 0; \n const forOf = " + drAttr_1.drForOf + ";\n const forOfStr = `" + drAttr_1.drForOf + "`.trim();\n for(const it of forOf) {\n var destIt = it;\n if (/\\[(.*,?)\\],/g.test(forOfStr)) {\n if (typeof it === 'string') {\n destIt = it;\n } else {\n destIt = forOfStr.substring(1, forOfStr.length-1).split(',')[i];\n }\n } else if (forOf.isRange) {\n destIt = it;\n } else {\n destIt = forOfStr + '[' + i +']'\n }\n const n = this.__render.element.cloneNode(true);\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\#it\\#/g, destIt)))\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt);\n if (this.__render.drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n i++;\n }\n " + ((_x = drAttr_1.drAfterOption) !== null && _x !== void 0 ? _x : '') + "\n ", Object.assign(obj, {
1252
+ __render: Object.freeze(__assign({ drStripOption: drAttr_1.drStripOption, fag: newTemp }, __render))
1221
1253
  }));
1222
1254
  RawSet.drVarDecoding(newTemp, vars);
1223
1255
  RawSet.drItOtherDecoding(newTemp, itRandom);
@@ -1232,14 +1264,8 @@ var RawSet = (function () {
1232
1264
  var itRandom = RawSet.drItOtherEncoding(element_2);
1233
1265
  var vars = RawSet.drVarEncoding(element_2, (_z = drAttr_1.drVarOption) !== null && _z !== void 0 ? _z : '');
1234
1266
  var newTemp = document.createElement('temp');
1235
- ScriptUtils.eval("\n const " + RawSet.SCRIPTS_VARNAME + " = this.__render.scripts;\n const " + RawSet.RANGE_VARNAME + " = this.__render.range;\n const " + RawSet.ELEMENT_VARNAME + " = this.__render.element;\n " + ((_0 = drAttr_1.drBeforeOption) !== null && _0 !== void 0 ? _0 : '') + "\n var i = 0; \n const repeat = " + drAttr_1.drRepeat + ";\n const repeatStr = `" + drAttr_1.drRepeat + "`;\n let range = repeat;\n if (typeof repeat === 'number') {\n range = " + RawSet.RANGE_VARNAME + "(repeat);\n } \n for(const it of range) {\n var destIt = it;\n if (range.isRange) {\n destIt = it;\n } else {\n destIt = repeatStr + '[' + i +']'\n }\n const n = this.__render.element.cloneNode(true);\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\#it\\#/g, destIt)))\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt);\n \n if (this.__render.drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n i++;\n }\n " + ((_1 = drAttr_1.drAfterOption) !== null && _1 !== void 0 ? _1 : '') + "\n ", Object.assign(obj, {
1236
- __render: Object.freeze({
1237
- range: Range.range,
1238
- fag: newTemp,
1239
- drStripOption: drAttr_1.drStripOption,
1240
- element: element_2,
1241
- scripts: RawSet.setBindProperty(config === null || config === void 0 ? void 0 : config.scripts, obj)
1242
- })
1267
+ ScriptUtils.eval("\n " + __render.bindScript + "\n " + ((_0 = drAttr_1.drBeforeOption) !== null && _0 !== void 0 ? _0 : '') + "\n var i = 0; \n const repeat = " + drAttr_1.drRepeat + ";\n const repeatStr = `" + drAttr_1.drRepeat + "`;\n let range = repeat;\n if (typeof repeat === 'number') {\n range = " + EventManager.RANGE_VARNAME + "(repeat);\n } \n for(const it of range) {\n var destIt = it;\n if (range.isRange) {\n destIt = it;\n } else {\n destIt = repeatStr + '[' + i +']'\n }\n const n = this.__render.element.cloneNode(true);\n n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\#it\\#/g, destIt)))\n n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt);\n \n if (this.__render.drStripOption) {\n Array.from(n.childNodes).forEach(it => this.__render.fag.append(it));\n } else {\n this.__render.fag.append(n);\n }\n i++;\n }\n " + ((_1 = drAttr_1.drAfterOption) !== null && _1 !== void 0 ? _1 : '') + "\n ", Object.assign(obj, {
1268
+ __render: Object.freeze(__assign({ fag: newTemp, drStripOption: drAttr_1.drStripOption }, __render))
1243
1269
  }));
1244
1270
  RawSet.drVarDecoding(newTemp, vars);
1245
1271
  RawSet.drItOtherDecoding(newTemp, itRandom);
@@ -1266,7 +1292,8 @@ var RawSet = (function () {
1266
1292
  raws.push.apply(raws, __spreadArray([], __read(rr), false));
1267
1293
  onElementInitCallBack.push({
1268
1294
  name: name,
1269
- obj: obj
1295
+ obj: obj,
1296
+ targetElement: it
1270
1297
  });
1271
1298
  (_b = it === null || it === void 0 ? void 0 : it.complete) === null || _b === void 0 ? void 0 : _b.call(it, element_2, obj, _this);
1272
1299
  }
@@ -1298,7 +1325,7 @@ var RawSet = (function () {
1298
1325
  this.replaceBody(genNode);
1299
1326
  drAttrs.forEach(function (it) {
1300
1327
  if (it.drCompleteOption) {
1301
- ScriptUtils.eval("\n const " + RawSet.FAG_VARNAME + " = this.__render.fag;\n const " + RawSet.SCRIPTS_VARNAME + " = this.__render.scripts;\n const " + RawSet.RAWSET_VARNAME + " = this.__render.rawset;\n " + it.drCompleteOption + "\n ", Object.assign(obj, {
1328
+ ScriptUtils.eval("\n const " + EventManager.FAG_VARNAME + " = this.__render.fag;\n const " + EventManager.SCRIPTS_VARNAME + " = this.__render.scripts;\n const " + EventManager.RAWSET_VARNAME + " = this.__render.rawset;\n " + it.drCompleteOption + "\n ", Object.assign(obj, {
1302
1329
  __render: Object.freeze({
1303
1330
  rawset: _this,
1304
1331
  fag: genNode,
@@ -1307,7 +1334,7 @@ var RawSet = (function () {
1307
1334
  }));
1308
1335
  }
1309
1336
  });
1310
- onElementInitCallBack.forEach(function (it) { var _a; return (_a = config === null || config === void 0 ? void 0 : config.onElementInit) === null || _a === void 0 ? void 0 : _a.call(config, it.name, obj, _this); });
1337
+ onElementInitCallBack.forEach(function (it) { var _a; return (_a = config === null || config === void 0 ? void 0 : config.onElementInit) === null || _a === void 0 ? void 0 : _a.call(config, it.name, obj, _this, it.targetElement); });
1311
1338
  onAttrInitCallBack.forEach(function (it) { var _a; return (_a = config === null || config === void 0 ? void 0 : config.onAttrInit) === null || _a === void 0 ? void 0 : _a.call(config, it.attrName, it.attrValue, obj, _this); });
1312
1339
  return raws;
1313
1340
  };
@@ -1315,6 +1342,10 @@ var RawSet = (function () {
1315
1342
  if (fragment === void 0) { fragment = this.fragment; }
1316
1343
  eventManager.applyEvent(obj, eventManager.findAttrElements(fragment, config), config);
1317
1344
  };
1345
+ RawSet.prototype.getAttribute = function (element, attr) {
1346
+ var data = element.getAttribute(attr);
1347
+ return data;
1348
+ };
1318
1349
  RawSet.prototype.getAttributeAndDelete = function (element, attr) {
1319
1350
  var data = element.getAttribute(attr);
1320
1351
  element.removeAttribute(attr);
@@ -1331,7 +1362,8 @@ var RawSet = (function () {
1331
1362
  acceptNode: function (node) {
1332
1363
  var _a, _b, _c, _d, _e;
1333
1364
  if (node.nodeType === Node.TEXT_NODE) {
1334
- return /\$\{.*?\}/g.test(StringUtils.deleteEnter((_a = node.data) !== null && _a !== void 0 ? _a : '')) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
1365
+ var between = RawSet.exporesionGrouops(StringUtils.deleteEnter((_a = node.data) !== null && _a !== void 0 ? _a : ''));
1366
+ return (between === null || between === void 0 ? void 0 : between.length) > 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
1335
1367
  }
1336
1368
  else if (node.nodeType === Node.ELEMENT_NODE) {
1337
1369
  var element_3 = node;
@@ -1349,7 +1381,7 @@ var RawSet = (function () {
1349
1381
  if (currentNode.nodeType === Node.TEXT_NODE) {
1350
1382
  var text = (_a = currentNode.textContent) !== null && _a !== void 0 ? _a : '';
1351
1383
  var template_1 = document.createElement('template');
1352
- var a = StringUtils.regexExec(/\$\{.*?\}/g, text);
1384
+ var a = RawSet.exporesionGrouops(text);
1353
1385
  var map = a.map(function (it) {
1354
1386
  return {
1355
1387
  uuid: RandomUtils.uuid(),
@@ -1421,6 +1453,9 @@ var RawSet = (function () {
1421
1453
  };
1422
1454
  RawSet.drThisEncoding = function (element, drThis) {
1423
1455
  var thisRandom = RandomUtils.uuid();
1456
+ element.querySelectorAll("[" + RawSet.DR_PRE_NAME + "]").forEach(function (it) {
1457
+ it.innerHTML = it.innerHTML.replace(/this/g, thisRandom);
1458
+ });
1424
1459
  element.querySelectorAll("[" + RawSet.DR_THIS_NAME + "]").forEach(function (it) {
1425
1460
  var message = it.innerHTML;
1426
1461
  StringUtils.regexExec(/([^(dr\-)])?this(?=.?)/g, message).reverse().forEach(function (it) {
@@ -1438,6 +1473,9 @@ var RawSet = (function () {
1438
1473
  return thisRandom;
1439
1474
  };
1440
1475
  RawSet.drThisDecoding = function (element, thisRandom) {
1476
+ element.querySelectorAll("[" + RawSet.DR_PRE_NAME + "]").forEach(function (it) {
1477
+ it.innerHTML = it.innerHTML.replace(RegExp(thisRandom, 'g'), 'this');
1478
+ });
1441
1479
  element.querySelectorAll("[" + RawSet.DR_THIS_NAME + "]").forEach(function (it) {
1442
1480
  it.innerHTML = it.innerHTML.replace(RegExp(thisRandom, 'g'), 'this');
1443
1481
  });
@@ -1467,11 +1505,14 @@ var RawSet = (function () {
1467
1505
  RawSet.drVarEncoding = function (element, drVarOption) {
1468
1506
  var _a;
1469
1507
  var vars = ((_a = drVarOption === null || drVarOption === void 0 ? void 0 : drVarOption.split(',')) !== null && _a !== void 0 ? _a : []).map(function (it) {
1508
+ var _a, _b;
1470
1509
  var s = it.trim().split('=');
1510
+ var name = (_a = s[0]) === null || _a === void 0 ? void 0 : _a.trim();
1511
+ var value = (_b = s[1]) === null || _b === void 0 ? void 0 : _b.trim();
1471
1512
  return {
1472
- name: s[0],
1473
- value: s[1],
1474
- regex: RegExp('\\$var\\.' + s[0] + '(?=.?)', 'g'),
1513
+ name: name,
1514
+ value: value,
1515
+ regex: RegExp('\\$var\\.' + name + '(?=.?)', 'g'),
1475
1516
  random: RandomUtils.uuid()
1476
1517
  };
1477
1518
  });
@@ -1529,7 +1570,7 @@ var RawSet = (function () {
1529
1570
  return newScripts;
1530
1571
  }
1531
1572
  };
1532
- RawSet.createComponentTargetElement = function (name, objFactory, template, styles, scripts) {
1573
+ RawSet.createComponentTargetElement = function (name, objFactory, template, styles, scripts, complete) {
1533
1574
  if (template === void 0) { template = ''; }
1534
1575
  if (styles === void 0) { styles = []; }
1535
1576
  var targetElement = {
@@ -1545,22 +1586,25 @@ var RawSet = (function () {
1545
1586
  var componentKey = '_' + RandomUtils.getRandomString(20);
1546
1587
  domrenderComponents[componentKey] = objFactory(element, obj, rawSet);
1547
1588
  var instance = domrenderComponents[componentKey];
1589
+ var attribute = {};
1590
+ element.getAttributeNames().forEach(function (it) {
1591
+ attribute[it] = element.getAttribute(it);
1592
+ });
1593
+ var render = Object.freeze({
1594
+ component: instance,
1595
+ element: element,
1596
+ innerHTML: element.innerHTML,
1597
+ attribute: attribute,
1598
+ rawset: rawSet,
1599
+ componentKey: componentKey,
1600
+ scripts: RawSet.setBindProperty(scripts, obj)
1601
+ });
1602
+ this.__render = render;
1548
1603
  var oninit = element.getAttribute('dr-on-init');
1549
1604
  if (oninit) {
1550
- var attribute_1 = {};
1551
- element.getAttributeNames().forEach(function (it) {
1552
- attribute_1[it] = element.getAttribute(it);
1553
- });
1554
1605
  var script = "var $component = this.__render.component; var $element = this.__render.$element; var $innerHTML = this.__render.$innerHTML; var $attribute = this.__render.$attribute; " + oninit + " ";
1555
1606
  ScriptUtils.eval(script, Object.assign(obj, {
1556
- __render: Object.freeze({
1557
- component: instance,
1558
- element: element,
1559
- innerHTML: element.innerHTML,
1560
- attribute: attribute_1,
1561
- rawset: rawSet,
1562
- scripts: RawSet.setBindProperty(scripts, obj)
1563
- })
1607
+ __render: render
1564
1608
  }));
1565
1609
  }
1566
1610
  var fag = document.createDocumentFragment();
@@ -1568,10 +1612,15 @@ var RawSet = (function () {
1568
1612
  element.innerHTML = innerHTML;
1569
1613
  fag.append(RawSet.drThisCreate(element, "this.__domrender_components." + componentKey, '', true, obj));
1570
1614
  return fag;
1571
- }
1615
+ },
1616
+ complete: complete
1572
1617
  };
1573
1618
  return targetElement;
1574
1619
  };
1620
+ RawSet.exporesionGrouops = function (data) {
1621
+ var reg = /(?:[$#]\{(?:(([$#]\{)??[^$#]*?)\}[$#]))/g;
1622
+ return StringUtils.regexExec(reg, data);
1623
+ };
1575
1624
  RawSet.DR = 'dr';
1576
1625
  RawSet.DR_IF_NAME = 'dr-if';
1577
1626
  RawSet.DR_FOR_OF_NAME = 'dr-for-of';
@@ -1579,6 +1628,7 @@ var RawSet = (function () {
1579
1628
  RawSet.DR_REPEAT_NAME = 'dr-repeat';
1580
1629
  RawSet.DR_THIS_NAME = 'dr-this';
1581
1630
  RawSet.DR_FORM_NAME = 'dr-form';
1631
+ RawSet.DR_PRE_NAME = 'dr-pre';
1582
1632
  RawSet.DR_INNERHTML_NAME = 'dr-inner-html';
1583
1633
  RawSet.DR_INNERTEXT_NAME = 'dr-inner-text';
1584
1634
  RawSet.DR_TAGS = [];
@@ -1588,14 +1638,7 @@ var RawSet = (function () {
1588
1638
  RawSet.DR_COMPLETE_OPTIONNAME = 'dr-complete';
1589
1639
  RawSet.DR_VAR_OPTIONNAME = 'dr-var';
1590
1640
  RawSet.DR_STRIP_OPTIONNAME = 'dr-strip';
1591
- RawSet.DR_ATTRIBUTES = [RawSet.DR, RawSet.DR_IF_NAME, RawSet.DR_FOR_OF_NAME, RawSet.DR_FOR_NAME, RawSet.DR_THIS_NAME, RawSet.DR_FORM_NAME, RawSet.DR_INNERHTML_NAME, RawSet.DR_INNERTEXT_NAME, RawSet.DR_REPEAT_NAME];
1592
- RawSet.SCRIPTS_VARNAME = '$scripts';
1593
- RawSet.FAG_VARNAME = '$fag';
1594
- RawSet.RAWSET_VARNAME = '$rawset';
1595
- RawSet.RANGE_VARNAME = '$range';
1596
- RawSet.ELEMENT_VARNAME = '$element';
1597
- RawSet.TARGET_VARNAME = '$target';
1598
- RawSet.VARNAMES = [RawSet.SCRIPTS_VARNAME, RawSet.FAG_VARNAME, RawSet.RAWSET_VARNAME, RawSet.RANGE_VARNAME, RawSet.ELEMENT_VARNAME, RawSet.TARGET_VARNAME];
1641
+ RawSet.DR_ATTRIBUTES = [RawSet.DR, RawSet.DR_IF_NAME, RawSet.DR_FOR_OF_NAME, RawSet.DR_FOR_NAME, RawSet.DR_THIS_NAME, RawSet.DR_FORM_NAME, RawSet.DR_PRE_NAME, RawSet.DR_INNERHTML_NAME, RawSet.DR_INNERTEXT_NAME, RawSet.DR_REPEAT_NAME];
1599
1642
  return RawSet;
1600
1643
  }());
1601
1644