dom-render 1.0.97 → 1.0.99

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.
Files changed (202) hide show
  1. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  2. package/.idea/dom-render.iml +9 -0
  3. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  4. package/.idea/jpa-buddy.xml +6 -0
  5. package/.idea/misc.xml +8 -0
  6. package/.idea/modules.xml +8 -0
  7. package/.idea/vcs.xml +6 -0
  8. package/README.MD +6 -793
  9. package/package.json +1 -1
  10. package/DomRender.d.ts +0 -13
  11. package/DomRender.js +0 -72
  12. package/DomRenderProxy.d.ts +0 -30
  13. package/DomRenderProxy.js +0 -510
  14. package/components/ComponentSet.d.ts +0 -10
  15. package/components/ComponentSet.js +0 -13
  16. package/configs/Config.d.ts +0 -34
  17. package/configs/Config.js +0 -2
  18. package/configs/TargetAttr.d.ts +0 -6
  19. package/configs/TargetAttr.js +0 -2
  20. package/configs/TargetElement.d.ts +0 -14
  21. package/configs/TargetElement.js +0 -2
  22. package/css/parse/index.d.ts +0 -1
  23. package/css/parse/index.js +0 -512
  24. package/css/stringify/compiler.d.ts +0 -32
  25. package/css/stringify/compiler.js +0 -40
  26. package/css/stringify/compress.d.ts +0 -75
  27. package/css/stringify/compress.js +0 -156
  28. package/css/stringify/identity.d.ts +0 -85
  29. package/css/stringify/identity.js +0 -194
  30. package/css/stringify/index.d.ts +0 -14
  31. package/css/stringify/index.js +0 -44
  32. package/dist/bundle.js +0 -5493
  33. package/events/EventManager.d.ts +0 -49
  34. package/events/EventManager.js +0 -529
  35. package/iterators/Range.d.ts +0 -23
  36. package/iterators/Range.js +0 -80
  37. package/lifecycle/OnBeforeReturnGet.d.ts +0 -3
  38. package/lifecycle/OnBeforeReturnGet.js +0 -2
  39. package/lifecycle/OnBeforeReturnSet.d.ts +0 -3
  40. package/lifecycle/OnBeforeReturnSet.js +0 -2
  41. package/lifecycle/OnChangeAttrRender.d.ts +0 -3
  42. package/lifecycle/OnChangeAttrRender.js +0 -2
  43. package/lifecycle/OnCreateRender.d.ts +0 -3
  44. package/lifecycle/OnCreateRender.js +0 -2
  45. package/lifecycle/OnDestroyRender.d.ts +0 -4
  46. package/lifecycle/OnDestroyRender.js +0 -2
  47. package/lifecycle/OnInitRender.d.ts +0 -3
  48. package/lifecycle/OnInitRender.js +0 -2
  49. package/lifecycle/OnProxyDomRender.d.ts +0 -4
  50. package/lifecycle/OnProxyDomRender.js +0 -2
  51. package/managers/RenderManager.d.ts +0 -3
  52. package/managers/RenderManager.js +0 -18
  53. package/messenger/DefaultMessenger.d.ts +0 -3
  54. package/messenger/DefaultMessenger.js +0 -27
  55. package/messenger/Messenger.d.ts +0 -78
  56. package/messenger/Messenger.js +0 -201
  57. package/operators/Appender.d.ts +0 -10
  58. package/operators/Appender.js +0 -64
  59. package/operators/AttrExpresion.d.ts +0 -0
  60. package/operators/AttrExpresion.js +0 -44
  61. package/operators/Dr.d.ts +0 -8
  62. package/operators/Dr.js +0 -101
  63. package/operators/DrAppender.d.ts +0 -8
  64. package/operators/DrAppender.js +0 -107
  65. package/operators/DrFor.d.ts +0 -8
  66. package/operators/DrFor.js +0 -104
  67. package/operators/DrForOf.d.ts +0 -8
  68. package/operators/DrForOf.js +0 -107
  69. package/operators/DrForm.d.ts +0 -8
  70. package/operators/DrForm.js +0 -138
  71. package/operators/DrIf.d.ts +0 -8
  72. package/operators/DrIf.js +0 -108
  73. package/operators/DrInnerHTML.d.ts +0 -8
  74. package/operators/DrInnerHTML.js +0 -99
  75. package/operators/DrInnerText.d.ts +0 -8
  76. package/operators/DrInnerText.js +0 -97
  77. package/operators/DrPre.d.ts +0 -7
  78. package/operators/DrPre.js +0 -73
  79. package/operators/DrRepeat.d.ts +0 -8
  80. package/operators/DrRepeat.js +0 -105
  81. package/operators/DrTargetAttr.d.ts +0 -7
  82. package/operators/DrTargetAttr.js +0 -98
  83. package/operators/DrTargetElement.d.ts +0 -7
  84. package/operators/DrTargetElement.js +0 -114
  85. package/operators/DrThis.d.ts +0 -5
  86. package/operators/DrThis.js +0 -108
  87. package/operators/DrThisProperty.d.ts +0 -10
  88. package/operators/DrThisProperty.js +0 -143
  89. package/operators/OperatorExecuter.d.ts +0 -49
  90. package/operators/OperatorExecuter.js +0 -89
  91. package/operators/OperatorExecuterAttrRequire.d.ts +0 -8
  92. package/operators/OperatorExecuterAttrRequire.js +0 -79
  93. package/rawsets/AttrInitCallBack.d.ts +0 -5
  94. package/rawsets/AttrInitCallBack.js +0 -2
  95. package/rawsets/Attrs.d.ts +0 -24
  96. package/rawsets/Attrs.js +0 -2
  97. package/rawsets/CreatorMetaData.d.ts +0 -18
  98. package/rawsets/CreatorMetaData.js +0 -2
  99. package/rawsets/DestroyOptionType.d.ts +0 -4
  100. package/rawsets/DestroyOptionType.js +0 -8
  101. package/rawsets/ElementInitCallBack.d.ts +0 -8
  102. package/rawsets/ElementInitCallBack.js +0 -2
  103. package/rawsets/RawSet.d.ts +0 -118
  104. package/rawsets/RawSet.js +0 -1141
  105. package/rawsets/RawSetOperatorType.d.ts +0 -3
  106. package/rawsets/RawSetOperatorType.js +0 -7
  107. package/rawsets/RawSetType.d.ts +0 -7
  108. package/rawsets/RawSetType.js +0 -11
  109. package/rawsets/Render.d.ts +0 -17
  110. package/rawsets/Render.js +0 -2
  111. package/routers/HashRouter.d.ts +0 -9
  112. package/routers/HashRouter.js +0 -53
  113. package/routers/PathRouter.d.ts +0 -9
  114. package/routers/PathRouter.js +0 -52
  115. package/routers/Router.d.ts +0 -28
  116. package/routers/Router.js +0 -126
  117. package/types/Types.d.ts +0 -14
  118. package/types/Types.js +0 -36
  119. package/utils/clipboard/ClipBoardUtils.d.ts +0 -6
  120. package/utils/clipboard/ClipBoardUtils.js +0 -25
  121. package/utils/dom/DomUtils.d.ts +0 -13
  122. package/utils/dom/DomUtils.js +0 -47
  123. package/utils/location/LocationUtils.d.ts +0 -16
  124. package/utils/location/LocationUtils.js +0 -63
  125. package/utils/node/NodeUtils.d.ts +0 -10
  126. package/utils/node/NodeUtils.js +0 -27
  127. package/utils/random/RandomUtils.d.ts +0 -7
  128. package/utils/random/RandomUtils.js +0 -47
  129. package/utils/script/ScriptUtils.d.ts +0 -14
  130. package/utils/script/ScriptUtils.js +0 -89
  131. package/utils/storage/StorageUtils.d.ts +0 -16
  132. package/utils/storage/StorageUtils.js +0 -87
  133. package/utils/string/StringUtils.d.ts +0 -6
  134. package/utils/string/StringUtils.js +0 -58
  135. package/utils/valid/ValidUtils.d.ts +0 -10
  136. package/utils/valid/ValidUtils.js +0 -78
  137. package/validators/AllCheckedValidatorArray.d.ts +0 -6
  138. package/validators/AllCheckedValidatorArray.js +0 -32
  139. package/validators/AllUnCheckedValidatorArray.d.ts +0 -6
  140. package/validators/AllUnCheckedValidatorArray.js +0 -32
  141. package/validators/CheckedValidator.d.ts +0 -5
  142. package/validators/CheckedValidator.js +0 -32
  143. package/validators/CountEqualsCheckedValidatorArray.d.ts +0 -7
  144. package/validators/CountEqualsCheckedValidatorArray.js +0 -34
  145. package/validators/CountEqualsUnCheckedValidatorArray.d.ts +0 -7
  146. package/validators/CountEqualsUnCheckedValidatorArray.js +0 -34
  147. package/validators/CountGreaterThanCheckedValidatorArray.d.ts +0 -7
  148. package/validators/CountGreaterThanCheckedValidatorArray.js +0 -34
  149. package/validators/CountGreaterThanEqualsCheckedValidatorArray.d.ts +0 -7
  150. package/validators/CountGreaterThanEqualsCheckedValidatorArray.js +0 -34
  151. package/validators/CountGreaterThanEqualsUnCheckedValidatorArray.d.ts +0 -7
  152. package/validators/CountGreaterThanEqualsUnCheckedValidatorArray.js +0 -34
  153. package/validators/CountGreaterThanUnCheckedValidatorArray.d.ts +0 -7
  154. package/validators/CountGreaterThanUnCheckedValidatorArray.js +0 -34
  155. package/validators/CountLessThanCheckedValidatorArray.d.ts +0 -7
  156. package/validators/CountLessThanCheckedValidatorArray.js +0 -34
  157. package/validators/CountLessThanEqualsCheckedValidatorArray.d.ts +0 -7
  158. package/validators/CountLessThanEqualsCheckedValidatorArray.js +0 -34
  159. package/validators/CountLessThanEqualsUnCheckedValidatorArray.d.ts +0 -7
  160. package/validators/CountLessThanEqualsUnCheckedValidatorArray.js +0 -34
  161. package/validators/CountLessThanUnCheckedValidatorArray.d.ts +0 -7
  162. package/validators/CountLessThanUnCheckedValidatorArray.js +0 -34
  163. package/validators/CountUnCheckedValidatorArray.d.ts +0 -7
  164. package/validators/CountUnCheckedValidatorArray.js +0 -34
  165. package/validators/EmptyValidator.d.ts +0 -5
  166. package/validators/EmptyValidator.js +0 -33
  167. package/validators/ExcludeCheckedValidatorArray.d.ts +0 -8
  168. package/validators/ExcludeCheckedValidatorArray.js +0 -41
  169. package/validators/FormValidator.d.ts +0 -7
  170. package/validators/FormValidator.js +0 -37
  171. package/validators/IncludeCheckedValidatorArray.d.ts +0 -8
  172. package/validators/IncludeCheckedValidatorArray.js +0 -41
  173. package/validators/MultipleValidator.d.ts +0 -8
  174. package/validators/MultipleValidator.js +0 -48
  175. package/validators/NonPassValidator.d.ts +0 -5
  176. package/validators/NonPassValidator.js +0 -31
  177. package/validators/NotEmptyValidator.d.ts +0 -5
  178. package/validators/NotEmptyValidator.js +0 -34
  179. package/validators/NotRegExpTestValidator.d.ts +0 -6
  180. package/validators/NotRegExpTestValidator.js +0 -42
  181. package/validators/PassValidator.d.ts +0 -5
  182. package/validators/PassValidator.js +0 -31
  183. package/validators/RegExpTestValidator.d.ts +0 -6
  184. package/validators/RegExpTestValidator.js +0 -43
  185. package/validators/RequiredValidator.d.ts +0 -5
  186. package/validators/RequiredValidator.js +0 -33
  187. package/validators/UnCheckedValidator.d.ts +0 -5
  188. package/validators/UnCheckedValidator.js +0 -32
  189. package/validators/ValidMultipleValidator.d.ts +0 -9
  190. package/validators/ValidMultipleValidator.js +0 -34
  191. package/validators/ValidValidator.d.ts +0 -6
  192. package/validators/ValidValidator.js +0 -33
  193. package/validators/ValidValidatorArray.d.ts +0 -7
  194. package/validators/ValidValidatorArray.js +0 -33
  195. package/validators/Validator.d.ts +0 -57
  196. package/validators/Validator.js +0 -242
  197. package/validators/ValidatorArray.d.ts +0 -17
  198. package/validators/ValidatorArray.js +0 -99
  199. package/validators/ValueEqualsValidator.d.ts +0 -6
  200. package/validators/ValueEqualsValidator.js +0 -33
  201. package/validators/ValueNotEqualsValidator.d.ts +0 -6
  202. package/validators/ValueNotEqualsValidator.js +0 -33
package/rawsets/RawSet.js DELETED
@@ -1,1141 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
29
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
50
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
51
- if (ar || !(i in from)) {
52
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
53
- ar[i] = from[i];
54
- }
55
- }
56
- return to.concat(ar || Array.prototype.slice.call(from));
57
- };
58
- var __importDefault = (this && this.__importDefault) || function (mod) {
59
- return (mod && mod.__esModule) ? mod : { "default": mod };
60
- };
61
- Object.defineProperty(exports, "__esModule", { value: true });
62
- exports.RawSet = void 0;
63
- var RandomUtils_1 = require("../utils/random/RandomUtils");
64
- var StringUtils_1 = require("../utils/string/StringUtils");
65
- var ScriptUtils_1 = require("../utils/script/ScriptUtils");
66
- var EventManager_1 = require("../events/EventManager");
67
- var Range_1 = require("../iterators/Range");
68
- var Types_1 = require("../types/Types");
69
- var DomUtils_1 = require("../utils/dom/DomUtils");
70
- var DrPre_1 = require("../operators/DrPre");
71
- var Dr_1 = require("../operators/Dr");
72
- var DrIf_1 = require("../operators/DrIf");
73
- var OperatorExecuter_1 = require("../operators/OperatorExecuter");
74
- var DrThis_1 = require("../operators/DrThis");
75
- var DrForm_1 = require("../operators/DrForm");
76
- var DrInnerText_1 = require("../operators/DrInnerText");
77
- var DrInnerHTML_1 = require("../operators/DrInnerHTML");
78
- var DrFor_1 = require("../operators/DrFor");
79
- var DrForOf_1 = require("../operators/DrForOf");
80
- var DrAppender_1 = require("../operators/DrAppender");
81
- var DrRepeat_1 = require("../operators/DrRepeat");
82
- var DrTargetElement_1 = require("../operators/DrTargetElement");
83
- var DrTargetAttr_1 = require("../operators/DrTargetAttr");
84
- var DestroyOptionType_1 = require("./DestroyOptionType");
85
- var RawSetType_1 = require("./RawSetType");
86
- var DrThisProperty_1 = require("../operators/DrThisProperty");
87
- var RawSetOperatorType_1 = require("./RawSetOperatorType");
88
- var parse_1 = __importDefault(require("../css/parse"));
89
- var stringify_1 = __importDefault(require("../css/stringify"));
90
- var RawSet = /** @class */ (function () {
91
- function RawSet(uuid, type, point, fragment, detect, data) {
92
- this.uuid = uuid;
93
- this.type = type;
94
- this.point = point;
95
- this.fragment = fragment;
96
- this.detect = detect;
97
- this.data = data;
98
- point.start.rawSet = this;
99
- // console.log('rawset constructor->', (this.point.node as Element).getAttributeNames());
100
- }
101
- Object.defineProperty(RawSet.prototype, "isConnected", {
102
- get: function () {
103
- return this.point.start.isConnected && this.point.end.isConnected;
104
- },
105
- enumerable: false,
106
- configurable: true
107
- });
108
- // 중요
109
- RawSet.prototype.getUsingTriggerVariables = function (config) {
110
- var usingTriggerVariables = new Set();
111
- this.fragment.childNodes.forEach(function (cNode, key) {
112
- var _a, _b, _c;
113
- var script = '';
114
- if (cNode.nodeType === Node.TEXT_NODE) {
115
- script = "`" + ((_a = cNode.textContent) !== null && _a !== void 0 ? _a : '') + "`";
116
- // console.log('???????', script)
117
- }
118
- else if (cNode.nodeType === Node.ELEMENT_NODE) {
119
- var element_1 = cNode;
120
- var targetAttrNames = ((_c = (_b = config === null || config === void 0 ? void 0 : config.targetAttrs) === null || _b === void 0 ? void 0 : _b.map(function (it) { return it.name; })) !== null && _c !== void 0 ? _c : []).concat(RawSet.DR_ATTRIBUTES); // .concat(EventManager.normalAttrMapAttrName);
121
- var targetScripts_1 = targetAttrNames.map(function (it) { return element_1.getAttribute(it); }).filter(function (it) { return it; });
122
- var targetAttrMap = element_1.getAttribute(EventManager_1.EventManager.normalAttrMapAttrName);
123
- if (targetAttrMap) {
124
- new Map(JSON.parse(targetAttrMap)).forEach(function (v, k) {
125
- targetScripts_1.push(v);
126
- });
127
- }
128
- script = targetScripts_1.join(';');
129
- // attribute쪽 체크하는거 추가
130
- // console.log('----!!!!!-->', targetAttrNames)
131
- // const otherAttrs = element.getAttributeNames()
132
- // .filter(it => !targetAttrNames.includes(it.toLowerCase()) && RawSet.isExporesion(element.getAttribute(it)))
133
- // .map(it => {
134
- // return `\`${element.getAttribute(it) ?? ''}\``;
135
- // }).join(';');
136
- // script += ';' + otherAttrs
137
- }
138
- if (script) {
139
- // script = script.replace('}$','}');
140
- // console.log('----------->', script)
141
- EventManager_1.EventManager.VARNAMES.forEach(function (it) {
142
- // script = script.replace(RegExp(it.replace('$', '\\$'), 'g'), `this?.___${it}`);
143
- // script = script.replace(RegExp(it.replace('$', '\\$'), 'g'), `this.___${it}`);
144
- script = script.replace(RegExp(it.replace('$', '\\$'), 'g'), "this.___" + it);
145
- // console.log('scripts-->', script)
146
- });
147
- // console.log('----------', script);
148
- Array.from(ScriptUtils_1.ScriptUtils.getVariablePaths(script)).filter(function (it) { return !it.startsWith("___" + EventManager_1.EventManager.SCRIPTS_VARNAME); }).forEach(function (it) { return usingTriggerVariables.add(it); });
149
- }
150
- });
151
- // console.log('usingTriggerVariable----------->', usingTriggerVariables)
152
- return usingTriggerVariables;
153
- };
154
- // 중요 render 처리 부분
155
- RawSet.prototype.render = function (obj, config) {
156
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
157
- return __awaiter(this, void 0, void 0, function () {
158
- var genNode, raws, onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks, drAttrs, _i, _z, cNode, attribute, __render, fag, textContent, runText, newNode, r, template, r, element, drAttr, operators, _0, operators_1, operator, state, _1, onThisComponentSetCallBacks_1, it_1, _2, onElementInitCallBacks_1, it_2, oninit, param, script, _3, onAttrInitCallBacks_1, it_3;
159
- var _this = this;
160
- return __generator(this, function (_4) {
161
- switch (_4.label) {
162
- case 0:
163
- genNode = config.window.document.importNode(this.fragment, true);
164
- raws = [];
165
- onAttrInitCallBacks = [];
166
- onElementInitCallBacks = [];
167
- onThisComponentSetCallBacks = [];
168
- drAttrs = [];
169
- _i = 0, _z = Array.from(genNode.childNodes.values());
170
- _4.label = 1;
171
- case 1:
172
- if (!(_i < _z.length)) return [3 /*break*/, 7];
173
- cNode = _z[_i];
174
- attribute = {};
175
- if (cNode.nodeType === Node.ELEMENT_NODE) {
176
- attribute = DomUtils_1.DomUtils.getAttributeToObject(cNode);
177
- }
178
- __render = Object.freeze({
179
- rawset: this,
180
- scripts: EventManager_1.EventManager.setBindProperty(config === null || config === void 0 ? void 0 : config.scripts, obj),
181
- router: config === null || config === void 0 ? void 0 : config.router,
182
- range: Range_1.Range.range,
183
- element: cNode,
184
- attribute: attribute,
185
- bindScript: "\n const " + EventManager_1.EventManager.SCRIPTS_VARNAME + " = this.__render.scripts;\n const " + EventManager_1.EventManager.RAWSET_VARNAME + " = this.__render.rawset;\n const " + EventManager_1.EventManager.ELEMENT_VARNAME + " = this.__render.element;\n const " + EventManager_1.EventManager.ATTRIBUTE_VARNAME + " = this.__render.attribute;\n const " + EventManager_1.EventManager.RANGE_VARNAME + " = this.__render.range;\n const " + EventManager_1.EventManager.ROUTER_VARNAME + " = this.__render.router;\n "
186
- // eslint-disable-next-line no-use-before-define
187
- });
188
- fag = config.window.document.createDocumentFragment();
189
- if (!(cNode.nodeType === Node.TEXT_NODE && cNode.textContent)) return [3 /*break*/, 2];
190
- textContent = cNode.textContent;
191
- runText = RawSet.exporesionGrouops(textContent)[0][1];
192
- newNode = void 0;
193
- if (textContent === null || textContent === void 0 ? void 0 : textContent.startsWith('#')) {
194
- r = ScriptUtils_1.ScriptUtils.eval(__render.bindScript + " return " + runText, Object.assign(obj, { __render: __render }));
195
- template = config.window.document.createElement('template');
196
- template.innerHTML = r;
197
- newNode = template.content;
198
- }
199
- else {
200
- r = ScriptUtils_1.ScriptUtils.eval(__render.bindScript + " return " + runText, Object.assign(obj, { __render: __render }));
201
- newNode = config.window.document.createTextNode(r);
202
- }
203
- (_a = cNode.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(newNode, cNode);
204
- // console.log('-------', this.point.start.parentNode.nodeName)
205
- // 중요 style value change 됐을때 다시 처리해야되기떄문에: 마지막에 completed 없는 attr 가지고 판단 하니깐
206
- if (this.type === RawSetType_1.RawSetType.STYLE_TEXT && this.point.parent) {
207
- this.point.parent.removeAttribute('completed');
208
- }
209
- return [3 /*break*/, 6];
210
- case 2:
211
- if (!(cNode.nodeType === Node.ELEMENT_NODE)) return [3 /*break*/, 6];
212
- element = cNode;
213
- drAttr = {
214
- dr: this.getAttributeAndDelete(element, RawSet.DR_NAME),
215
- drIf: this.getAttributeAndDelete(element, RawSet.DR_IF_NAME),
216
- drFor: this.getAttributeAndDelete(element, RawSet.DR_FOR_NAME),
217
- drForOf: this.getAttributeAndDelete(element, RawSet.DR_FOR_OF_NAME),
218
- drThisProperty: this.getAttributeAndDelete(element, RawSet.DR_THIS_PROPERTY_NAME),
219
- drAppender: this.getAttributeAndDelete(element, RawSet.DR_APPENDER_NAME),
220
- drRepeat: this.getAttributeAndDelete(element, RawSet.DR_REPEAT_NAME),
221
- drThis: this.getAttributeAndDelete(element, RawSet.DR_THIS_NAME),
222
- drForm: this.getAttributeAndDelete(element, RawSet.DR_FORM_NAME),
223
- drPre: this.getAttributeAndDelete(element, RawSet.DR_PRE_NAME),
224
- drInnerHTML: this.getAttributeAndDelete(element, RawSet.DR_INNERHTML_NAME),
225
- drInnerText: this.getAttributeAndDelete(element, RawSet.DR_INNERTEXT_NAME),
226
- drItOption: this.getAttributeAndDelete(element, RawSet.DR_IT_OPTIONNAME),
227
- drVarOption: this.getAttributeAndDelete(element, RawSet.DR_VAR_OPTIONNAME),
228
- drNextOption: this.getAttributeAndDelete(element, RawSet.DR_NEXT_OPTIONNAME),
229
- drAfterOption: this.getAttributeAndDelete(element, RawSet.DR_AFTER_OPTIONNAME),
230
- drBeforeOption: this.getAttributeAndDelete(element, RawSet.DR_BEFORE_OPTIONNAME),
231
- drCompleteOption: this.getAttributeAndDelete(element, RawSet.DR_COMPLETE_OPTIONNAME),
232
- drStripOption: this.getAttributeAndDelete(element, RawSet.DR_STRIP_OPTIONNAME),
233
- drDestroyOption: this.getAttributeAndDelete(element, RawSet.DR_DESTROY_OPTIONNAME),
234
- drKeyOption: this.getAttributeAndDelete(element, RawSet.DR_KEY_OPTIONNAME)
235
- };
236
- drAttrs.push(drAttr);
237
- operators = [
238
- new DrPre_1.DrPre(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_PRE_NAME, attr: drAttr.drPre, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_b = config.operatorAround) === null || _b === void 0 ? void 0 : _b.drPre }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
239
- new Dr_1.Dr(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_NAME, attr: drAttr.dr, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_c = config.operatorAround) === null || _c === void 0 ? void 0 : _c.dr }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
240
- new DrIf_1.DrIf(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_IF_NAME, attr: drAttr.drIf, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_d = config.operatorAround) === null || _d === void 0 ? void 0 : _d.drIf }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
241
- new DrThis_1.DrThis(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_THIS_NAME, attr: drAttr.drThis, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_e = config.operatorAround) === null || _e === void 0 ? void 0 : _e.drThis }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
242
- new DrForm_1.DrForm(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_FOR_NAME, attr: drAttr.drForm, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_f = config.operatorAround) === null || _f === void 0 ? void 0 : _f.drForm }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
243
- new DrInnerText_1.DrInnerText(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_INNERTEXT_NAME, attr: drAttr.drInnerText, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_g = config.operatorAround) === null || _g === void 0 ? void 0 : _g.drInnerText }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
244
- new DrInnerHTML_1.DrInnerHTML(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_INNERHTML_NAME, attr: drAttr.drInnerHTML, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_h = config.operatorAround) === null || _h === void 0 ? void 0 : _h.drInnerHTML }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
245
- new DrFor_1.DrFor(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_FOR_NAME, attr: drAttr.drFor, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_j = config.operatorAround) === null || _j === void 0 ? void 0 : _j.drFor }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
246
- new DrForOf_1.DrForOf(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_FOR_OF_NAME, attr: drAttr.drForOf, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_k = config.operatorAround) === null || _k === void 0 ? void 0 : _k.drForOf }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
247
- new DrThisProperty_1.DrThisProperty(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_THIS_PROPERTY_NAME, attr: drAttr.drThisProperty, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_l = config.operatorAround) === null || _l === void 0 ? void 0 : _l.drThisProperty }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
248
- new DrAppender_1.DrAppender(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_APPENDER_NAME, attr: drAttr.drAppender, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_m = config.operatorAround) === null || _m === void 0 ? void 0 : _m.drAppender }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
249
- new DrRepeat_1.DrRepeat(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_REPEAT_NAME, attr: drAttr.drRepeat, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_o = config.operatorAround) === null || _o === void 0 ? void 0 : _o.drRepeat }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
250
- new DrTargetElement_1.DrTargetElement(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
251
- new DrTargetAttr_1.DrTargetAttr(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks })
252
- ];
253
- _0 = 0, operators_1 = operators;
254
- _4.label = 3;
255
- case 3:
256
- if (!(_0 < operators_1.length)) return [3 /*break*/, 6];
257
- operator = operators_1[_0];
258
- return [4 /*yield*/, operator.start()];
259
- case 4:
260
- state = _4.sent();
261
- if (state === OperatorExecuter_1.ExecuteState.EXECUTE) {
262
- return [3 /*break*/, 6];
263
- }
264
- else if (state === OperatorExecuter_1.ExecuteState.STOP) {
265
- return [2 /*return*/, raws];
266
- }
267
- _4.label = 5;
268
- case 5:
269
- _0++;
270
- return [3 /*break*/, 3];
271
- case 6:
272
- _i++;
273
- return [3 /*break*/, 1];
274
- case 7:
275
- this.applyEvent(obj, genNode, config);
276
- this.replaceBody(genNode); // 중요 여기서 마지막에 연션된 값을 그려준다.
277
- drAttrs.forEach(function (it) {
278
- if (it.drCompleteOption) {
279
- // genNode.childNodes
280
- var render = Object.freeze({
281
- rawset: _this,
282
- fag: genNode,
283
- scripts: EventManager_1.EventManager.setBindProperty(config === null || config === void 0 ? void 0 : config.scripts, obj)
284
- });
285
- ScriptUtils_1.ScriptUtils.eval("\n const " + EventManager_1.EventManager.FAG_VARNAME + " = this.__render.fag;\n const " + EventManager_1.EventManager.SCRIPTS_VARNAME + " = this.__render.scripts;\n const " + EventManager_1.EventManager.RAWSET_VARNAME + " = this.__render.rawset;\n " + it.drCompleteOption, Object.assign(obj, { __render: render }));
286
- }
287
- });
288
- // 중요 style isolation 나중에 :scope로 대체 가능할듯.
289
- // 2023.9.4일 없앰 style 처음들어올때 처리하는걸로 바꿈
290
- // RawSet.generateStyleSheetsLocal(config);
291
- for (_1 = 0, onThisComponentSetCallBacks_1 = onThisComponentSetCallBacks; _1 < onThisComponentSetCallBacks_1.length; _1++) {
292
- it_1 = onThisComponentSetCallBacks_1[_1];
293
- (_q = (_p = it_1.obj) === null || _p === void 0 ? void 0 : _p.onInitRender) === null || _q === void 0 ? void 0 : _q.call(_p);
294
- }
295
- for (_2 = 0, onElementInitCallBacks_1 = onElementInitCallBacks; _2 < onElementInitCallBacks_1.length; _2++) {
296
- it_2 = onElementInitCallBacks_1[_2];
297
- if (((_s = (_r = it_2.targetElement) === null || _r === void 0 ? void 0 : _r.__render) === null || _s === void 0 ? void 0 : _s.element) && ((_u = (_t = it_2.targetElement) === null || _t === void 0 ? void 0 : _t.__render) === null || _u === void 0 ? void 0 : _u.component)) {
298
- oninit = it_2.targetElement.__render.element.getAttribute(RawSet.DR_ON_INIT_ARGUMENTS_OPTIONNAME);
299
- param = [];
300
- if (oninit) {
301
- script = it_2.targetElement.__render.renderScript + " return " + oninit + " ";
302
- param = ScriptUtils_1.ScriptUtils.eval(script, Object.assign(obj, {
303
- __render: it_2.targetElement.__render
304
- }));
305
- if (!Array.isArray(param)) {
306
- param = [param];
307
- }
308
- }
309
- (_w = (_v = it_2.targetElement.__render.component).onInitRender) === null || _w === void 0 ? void 0 : _w.call.apply(_w, __spreadArray([_v], param, false));
310
- }
311
- (_x = config === null || config === void 0 ? void 0 : config.onElementInit) === null || _x === void 0 ? void 0 : _x.call(config, it_2.name, obj, this, it_2.targetElement);
312
- }
313
- // TODO: 이부분도 위에 targetElement 처럼 해야될까?
314
- for (_3 = 0, onAttrInitCallBacks_1 = onAttrInitCallBacks; _3 < onAttrInitCallBacks_1.length; _3++) {
315
- it_3 = onAttrInitCallBacks_1[_3];
316
- (_y = config === null || config === void 0 ? void 0 : config.onAttrInit) === null || _y === void 0 ? void 0 : _y.call(config, it_3.attrName, it_3.attrValue, obj, this);
317
- }
318
- // component destroy
319
- if (obj.__domrender_components) {
320
- Object.entries(obj.__domrender_components).forEach(function (_a) {
321
- var _b, _c;
322
- var key = _a[0], value = _a[1];
323
- var domrenderComponentNew = value.__domrender_component_new;
324
- var rawSet = domrenderComponentNew === null || domrenderComponentNew === void 0 ? void 0 : domrenderComponentNew.rawSet;
325
- var drAttrs = domrenderComponentNew === null || domrenderComponentNew === void 0 ? void 0 : domrenderComponentNew.drAttrs;
326
- if (rawSet && !rawSet.isConnected) {
327
- // const domrenderComponent = obj.__domrender_components[key];
328
- // console.log('component destroy--->', key, rawSet, rawSet.isConnected, domrenderComponent.name, domrenderComponent);
329
- var destroyOptions = (_c = (_b = drAttrs === null || drAttrs === void 0 ? void 0 : drAttrs.drDestroyOption) === null || _b === void 0 ? void 0 : _b.split(',')) !== null && _c !== void 0 ? _c : [];
330
- RawSet.destroy(obj.__domrender_components[key], [domrenderComponentNew], config, destroyOptions);
331
- delete obj.__domrender_components[key];
332
- }
333
- });
334
- }
335
- return [2 /*return*/, raws];
336
- }
337
- });
338
- });
339
- };
340
- /**
341
- * @deprecated
342
- * @param config
343
- */
344
- RawSet.generateStyleSheetsLocal = function (config) {
345
- // console.log('config.window.document.styleSheets---------', config.window.document.styleSheets);
346
- Array.from(config.window.document.styleSheets).filter(function (it) { return it.ownerNode && it.ownerNode instanceof Element && it.ownerNode.hasAttribute('domstyle') && it.ownerNode.getAttribute('id') && !it.ownerNode.getAttribute('completed'); }).forEach(function (it) {
347
- var _a;
348
- var styleElement = it.ownerNode;
349
- var split = (_a = styleElement.getAttribute('id')) === null || _a === void 0 ? void 0 : _a.split('-');
350
- split === null || split === void 0 ? void 0 : split.pop();
351
- var id = split === null || split === void 0 ? void 0 : split.join('-');
352
- if (id) {
353
- // console.log('------->', id)
354
- Array.from(it.cssRules).forEach(function (it) {
355
- RawSet.generateCSS(id, it);
356
- });
357
- }
358
- it.ownerNode.setAttribute('completed', 'true');
359
- });
360
- };
361
- RawSet.generateCSS = function (id, cssRule) {
362
- var _this = this;
363
- var start = "#" + id + "-start";
364
- var end = "#" + id + "-end";
365
- if (cssRule.constructor.name === 'CSSStyleRule') {
366
- var rule = cssRule;
367
- // rule.selectorText = `${start} ~ *:not(${start} ~ ${end} ~ *) ${rule.selectorText}`;
368
- // rule.selectorText = `${start} ~ *:not(${start} ~ ${end} ~ ${rule.selectorText})`;
369
- // console.log('-----', rule, rule.selectorText)
370
- if (!rule.selectorText.startsWith(':root')) {
371
- // rule.selectorText = `${start} ~ ${rule.selectorText}:not(${start} ~ ${end} ~ *)`;
372
- // rule.selectorText = `${start} ~ ${rule.selectorText}:not(${start} ~ ${end} ~ *)`;
373
- var selectorText = ":is(" + start + " ~ *:not(" + start + " ~ " + end + " ~ *))";
374
- if (rule.selectorText.startsWith('.')) {
375
- rule.selectorText = "" + selectorText + rule.selectorText + ", " + selectorText + " " + rule.selectorText;
376
- // rule.selectorText = `${start} ~ *:not(${start} ~ ${end} ~ *)${rule.selectorText}`;
377
- }
378
- else {
379
- var divText = start + " ~ " + rule.selectorText + ":not(" + start + " ~ " + end + " ~ *)";
380
- rule.selectorText = selectorText + " " + rule.selectorText + ", " + divText;
381
- // rule.selectorText = `${selectorText} ${rule.selectorText}`;
382
- // rule.selectorText = `${rule.selectorText} ~ ${start} ~ *:not(${start} ~ ${end} ~ *)`;
383
- }
384
- }
385
- // console.log(rule.selectorText);
386
- }
387
- else if (cssRule.constructor.name === 'CSSMediaRule') {
388
- var rule = cssRule;
389
- Array.from(rule.cssRules).forEach(function (it) {
390
- _this.generateCSS(id, it);
391
- });
392
- }
393
- };
394
- // 중요 스타일 적용 부분
395
- RawSet.generateStyleTransform = function (styleBody, componentKey, styleTagWrap) {
396
- var _a;
397
- if (styleTagWrap === void 0) { styleTagWrap = true; }
398
- if (Array.isArray(styleBody)) {
399
- styleBody = styleBody.join('\n');
400
- }
401
- var start = "#" + componentKey + "-start";
402
- var end = "#" + componentKey + "-end";
403
- var before = StringUtils_1.StringUtils.regexExecArrayReplace(styleBody, /(\$\{.*?\}\$)/g, function (data) {
404
- return "var(--domrender-" + data[0] + ")";
405
- });
406
- var cssobject = (0, parse_1.default)(before);
407
- (_a = cssobject.stylesheet) === null || _a === void 0 ? void 0 : _a.rules.forEach(function (rule) {
408
- var _a, _b;
409
- var isRoot = (_a = rule.selectors) === null || _a === void 0 ? void 0 : _a.find(function (it) { return it.startsWith(':root'); });
410
- if (rule.type === 'rule' && !isRoot) { // && !!isRoot
411
- rule.selectors = (_b = rule.selectors) === null || _b === void 0 ? void 0 : _b.map(function (sit) {
412
- var selectorText = ":is(" + start + " ~ *:not(" + start + " ~ " + end + " ~ *))";
413
- if (sit.startsWith('.')) {
414
- return "" + selectorText + sit + ", " + selectorText + " " + sit;
415
- }
416
- else {
417
- var divText = start + " ~ " + sit + ":not(" + start + " ~ " + end + " ~ *)";
418
- return selectorText + " " + sit + ", " + divText;
419
- }
420
- });
421
- }
422
- });
423
- var stringify = (0, stringify_1.default)(cssobject);
424
- var after = StringUtils_1.StringUtils.regexExecArrayReplace(stringify, /(var\(--domrender-(\$\{.*?\}\$)?\))/g, function (data) {
425
- return data[2];
426
- });
427
- if (styleTagWrap) {
428
- styleBody = "<style id='" + componentKey + "-style' domstyle>" + after + "</style>";
429
- }
430
- return styleBody;
431
- };
432
- RawSet.prototype.applyEvent = function (obj, fragment, config) {
433
- if (fragment === void 0) { fragment = this.fragment; }
434
- EventManager_1.eventManager.applyEvent(obj, EventManager_1.eventManager.findAttrElements(fragment, config), config);
435
- };
436
- RawSet.prototype.getAttribute = function (element, attr) {
437
- var data = element.getAttribute(attr);
438
- return data;
439
- };
440
- RawSet.prototype.getAttributeAndDelete = function (element, attr) {
441
- var data = element.getAttribute(attr);
442
- element.removeAttribute(attr);
443
- return data;
444
- };
445
- RawSet.prototype.getDrAppendAttributeAndDelete = function (element, obj) {
446
- var data = element.getAttribute(RawSet.DR_APPENDER_NAME);
447
- // if (data && !/\[[0-9]+\]/g.test(data)) {
448
- if (data && !/\[.+\]/g.test(data)) {
449
- var currentIndex = ScriptUtils_1.ScriptUtils.evalReturn(data + "?.length -1", obj);
450
- // console.log('------?', currentIndex)
451
- // if (currentIndex === undefined || isNaN(currentIndex)) {
452
- // return undefined;
453
- // }
454
- // const currentIndex = ScriptUtils.evalReturn(`${data}.length`, obj);
455
- data = data + "[" + currentIndex + "]";
456
- element.setAttribute(RawSet.DR_APPENDER_NAME, data);
457
- // element.setAttribute(RawSet.DR_IF_NAME, data);
458
- // element.setAttribute('dr-id', data);
459
- // console.log('-->', element)
460
- }
461
- // if (data && !/\.childs\[[0-9]+\]/g.test(data)) {
462
- // const currentIndex = ScriptUtils.evalReturn(`${data}.currentIndex`, obj);
463
- // data = `${data}.childs[${currentIndex}]`;
464
- // element.setAttribute(RawSet.DR_APPENDER_NAME, data)
465
- // }
466
- element.removeAttribute(RawSet.DR_APPENDER_NAME);
467
- return data;
468
- };
469
- RawSet.prototype.replaceBody = function (genNode) {
470
- var _a;
471
- this.childAllRemove();
472
- (_a = this.point.start.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(genNode, this.point.start.nextSibling); // 중요 start checkpoint 다음인 end checkpoint 앞에 넣는다. 즉 중간 껴넣기 (나중에 meta tag로 변경을 해도될듯하긴한데..)
473
- };
474
- // 중요 important
475
- RawSet.checkPointCreates = function (element, obj, config) {
476
- var _a, _b, _c, _d, _e, _f, _g, _h;
477
- // const NodeFilter = (config.window as any).NodeFilter;
478
- var thisVariableName = element.__domrender_this_variable_name;
479
- var nodeIterator = config.window.document.createNodeIterator(element, NodeFilter.SHOW_ALL, {
480
- acceptNode: function (node) {
481
- var _a, _b, _c, _d, _e;
482
- if (node.nodeType === Node.TEXT_NODE) {
483
- // console.log('text--->', node.textContent)
484
- // console.log('????????', node.parentElement, node.parentElement?.getAttribute('dr-pre'));
485
- // console.log('???????/',node.textContent, node.parentElement?.getAttribute('dr-pre'))
486
- // TODO: 나중에
487
- // const between = StringUtils.betweenRegexpStr('[$#]\\{', '\\}', StringUtils.deleteEnter((node as Text).data ?? ''))
488
- var between = RawSet.exporesionGrouops(StringUtils_1.StringUtils.deleteEnter((_a = node.data) !== null && _a !== void 0 ? _a : ''));
489
- // console.log('bbbb', between)
490
- return (between === null || between === void 0 ? void 0 : between.length) > 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
491
- // return /\$\{.*?\}/g.test(StringUtils.deleteEnter((node as Text).data ?? '')) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
492
- // return /[$#]\{.*?\}/g.test(StringUtils.deleteEnter((node as Text).data ?? '')) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
493
- }
494
- else if (node.nodeType === Node.ELEMENT_NODE) {
495
- var element_2 = node;
496
- // console.log('------>', element);
497
- var isElement = ((_c = (_b = config.targetElements) === null || _b === void 0 ? void 0 : _b.map(function (it) { return it.name.toLowerCase(); })) !== null && _c !== void 0 ? _c : []).includes(element_2.tagName.toLowerCase());
498
- var targetAttrNames_1 = ((_e = (_d = config.targetAttrs) === null || _d === void 0 ? void 0 : _d.map(function (it) { return it.name; })) !== null && _e !== void 0 ? _e : []).concat(RawSet.DR_ATTRIBUTES);
499
- var normalAttrs_1 = new Map();
500
- var isAttr = element_2.getAttributeNames().filter(function (it) {
501
- var value = element_2.getAttribute(it);
502
- if (value && RawSet.isExporesion(value)) {
503
- normalAttrs_1.set(it, RawSet.exporesionGrouops(value)[0][1]);
504
- }
505
- // console.log(element.getAttribute(it), attrExpresion);
506
- var isTargetAttr = targetAttrNames_1.includes(it.toLowerCase());
507
- return isTargetAttr;
508
- }).length > 0;
509
- // 기본 attribute를 처리하기위해
510
- if (normalAttrs_1.size) {
511
- element_2.setAttribute(EventManager_1.EventManager.normalAttrMapAttrName, JSON.stringify(Array.from(normalAttrs_1.entries())));
512
- }
513
- return (isAttr || isElement) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
514
- }
515
- return NodeFilter.FILTER_REJECT;
516
- }
517
- });
518
- var pars = [];
519
- var currentNode;
520
- var _loop_1 = function () {
521
- if (currentNode.nodeType === Node.TEXT_NODE) {
522
- var text = (_a = currentNode.textContent) !== null && _a !== void 0 ? _a : '';
523
- var template = config.window.document.createElement('template');
524
- // const a = StringUtils.regexExec(/\$\{.*?\}/g, text);
525
- // const a = StringUtils.regexExec(/[$#]\{.*?\}/g, text);
526
- // const a = StringUtils.betweenRegexpStr('[$#]\\{', '\\}', text); // <--TODO: 나중에..
527
- var groups = RawSet.exporesionGrouops(text);
528
- var map = groups.map(function (it) { return ({ uuid: RandomUtils_1.RandomUtils.getRandomString(40), content: it[0], regexArr: it }); });
529
- var lasterIndex = 0;
530
- for (var i = 0; i < map.length; i++) {
531
- var it_4 = map[i];
532
- var regexArr = it_4.regexArr;
533
- var preparedText = regexArr.input.substring(lasterIndex, regexArr.index);
534
- // const start = config.window.document.createElement('meta');
535
- // start.setAttribute('id', `${it.uuid}-start`);
536
- // const end = config.window.document.createElement('meta');
537
- // end.setAttribute('id', `${it.uuid}-end`);
538
- var type = void 0;
539
- if (currentNode.parentNode && currentNode.parentNode.nodeName.toUpperCase() === 'STYLE') {
540
- type = RawSetType_1.RawSetType.STYLE_TEXT;
541
- }
542
- else {
543
- type = RawSetType_1.RawSetType.TEXT;
544
- }
545
- var node = document.createTextNode(preparedText);
546
- var startEndPoint = RawSet.createStartEndPoint(node, it_4.uuid, type, config);
547
- // layout setting
548
- template.content.append(node); // 앞 부분 넣고
549
- template.content.append(startEndPoint.start); // add start checkpoint
550
- template.content.append(startEndPoint.end); // add end checkpoint
551
- // content 안쪽 RawSet render 할때 start 와 end 사이에 fragment 연산해서 들어간다.
552
- var fragment = config.window.document.createDocumentFragment();
553
- fragment.append(config.window.document.createTextNode(it_4.content));
554
- pars.push(new RawSet(it_4.uuid, type, {
555
- start: startEndPoint.start,
556
- node: currentNode,
557
- end: startEndPoint.end,
558
- parent: currentNode.parentNode,
559
- thisVariableName: thisVariableName
560
- }, fragment));
561
- lasterIndex = regexArr.index + it_4.content.length;
562
- }
563
- template.content.append(config.window.document.createTextNode(text.substring(lasterIndex, text.length)));
564
- (_b = currentNode === null || currentNode === void 0 ? void 0 : currentNode.parentNode) === null || _b === void 0 ? void 0 : _b.replaceChild(template.content, currentNode); // <-- 여기서 text를 fragment로 replace했기때문에 추적 변경이 가능하다.
565
- }
566
- else if (currentNode.nodeType === Node.ELEMENT_NODE) {
567
- var uuid = RandomUtils_1.RandomUtils.getRandomString(40);
568
- var element_3 = currentNode;
569
- var fragment = config.window.document.createDocumentFragment();
570
- var type = RawSetType_1.RawSetType.TARGET_ELEMENT;
571
- var startEndPoint = RawSet.createStartEndPoint(element_3, uuid, type, config);
572
- var isElement = ((_d = (_c = config.targetElements) === null || _c === void 0 ? void 0 : _c.map(function (it) { return it.name.toLowerCase(); })) !== null && _d !== void 0 ? _d : []).includes(element_3.tagName.toLowerCase());
573
- var targetAttrNames_2 = ((_f = (_e = config.targetAttrs) === null || _e === void 0 ? void 0 : _e.map(function (it) { return it.name; })) !== null && _f !== void 0 ? _f : []).concat(RawSet.DR_ATTRIBUTES);
574
- var isAttr = element_3.getAttributeNames().filter(function (it) { return targetAttrNames_2.includes(it.toLowerCase()); }).length > 0;
575
- (_g = currentNode === null || currentNode === void 0 ? void 0 : currentNode.parentNode) === null || _g === void 0 ? void 0 : _g.insertBefore(startEndPoint.start, currentNode);
576
- (_h = currentNode === null || currentNode === void 0 ? void 0 : currentNode.parentNode) === null || _h === void 0 ? void 0 : _h.insertBefore(startEndPoint.end, currentNode.nextSibling);
577
- fragment.append(currentNode);
578
- pars.push(new RawSet(uuid, isElement ? type : (isAttr ? RawSetType_1.RawSetType.TARGET_ATTR : RawSetType_1.RawSetType.UNKOWN), {
579
- start: startEndPoint.start,
580
- node: currentNode,
581
- end: startEndPoint.end,
582
- parent: currentNode.parentNode,
583
- thisVariableName: thisVariableName
584
- }, fragment));
585
- }
586
- };
587
- // eslint-disable-next-line no-cond-assign
588
- while (currentNode = nodeIterator.nextNode()) {
589
- _loop_1();
590
- }
591
- // console.log('check-->', pars)
592
- return pars;
593
- };
594
- RawSet.createStartEndPoint = function (node, id, type, config) {
595
- if (type === RawSetType_1.RawSetType.TARGET_ELEMENT) {
596
- var element = node;
597
- var start = config.window.document.createElement('meta');
598
- var end = config.window.document.createElement('meta');
599
- start.setAttribute('id', id + "-start");
600
- var keys = element.getAttribute(RawSet.DR_KEY_OPTIONNAME);
601
- var thisPropertyType = element.getAttribute(RawSet.DR_THIS_PROPERTY_NAME);
602
- if (thisPropertyType) {
603
- start.setAttribute('type', RawSetOperatorType_1.RawSetOperatorType.DR_THIS_PROPERTY);
604
- }
605
- if (keys) {
606
- element.removeAttribute(RawSet.DR_KEY_OPTIONNAME);
607
- start.setAttribute(RawSet.DR_KEY_OPTIONNAME, keys);
608
- }
609
- end.setAttribute('id', id + "-end");
610
- return { start: start, end: end };
611
- }
612
- else if (type === RawSetType_1.RawSetType.STYLE_TEXT) {
613
- return {
614
- start: config.window.document.createTextNode("/*start text " + id + "*/"),
615
- end: config.window.document.createTextNode("/*end text " + id + "*/")
616
- };
617
- }
618
- else { // text
619
- return {
620
- start: config.window.document.createComment("start text " + id),
621
- end: config.window.document.createComment("end text " + id)
622
- };
623
- }
624
- };
625
- RawSet.prototype.remove = function () {
626
- this.childAllRemove();
627
- this.point.end.remove();
628
- this.point.start.remove();
629
- };
630
- RawSet.prototype.childAllRemove = function () {
631
- var next = this.point.start.nextSibling;
632
- while (next) {
633
- if (next === this.point.end) {
634
- break;
635
- }
636
- next.remove();
637
- next = this.point.start.nextSibling;
638
- }
639
- };
640
- RawSet.prototype.childs = function (stopNext) {
641
- var childs = [];
642
- var next = this.point.start.nextSibling;
643
- while (next && next !== this.point.end) {
644
- if (stopNext === null || stopNext === void 0 ? void 0 : stopNext(next)) {
645
- return;
646
- }
647
- childs.push(next);
648
- next = next.nextSibling;
649
- }
650
- return childs;
651
- };
652
- RawSet.prototype.getHasRawSet = function (key) {
653
- var rawSet;
654
- this.childs(function (node) {
655
- var _a, _b;
656
- var drKey = (_b = (_a = node).getAttribute) === null || _b === void 0 ? void 0 : _b.call(_a, 'dr-key');
657
- if (drKey && drKey === key) {
658
- rawSet = node.rawSet;
659
- return true;
660
- }
661
- return false;
662
- });
663
- return rawSet;
664
- };
665
- RawSet.drItOtherEncoding = function (element) {
666
- var random = RandomUtils_1.RandomUtils.uuid();
667
- var regex = /#it#/g;
668
- element.querySelectorAll("[" + RawSet.DR_IT_OPTIONNAME + "], [" + RawSet.DR_FOR_OF_NAME + "], [" + RawSet.DR_REPEAT_NAME + "]").forEach(function (it) {
669
- it.innerHTML = it.innerHTML.replace(regex, random);
670
- });
671
- return random;
672
- };
673
- RawSet.drItOtherDecoding = function (element, random) {
674
- element.querySelectorAll("[" + RawSet.DR_IT_OPTIONNAME + "], [" + RawSet.DR_FOR_OF_NAME + "], [" + RawSet.DR_REPEAT_NAME + "]").forEach(function (it) {
675
- it.innerHTML = it.innerHTML.replace(RegExp(random, 'g'), '#it#');
676
- });
677
- };
678
- RawSet.drThisEncoding = function (element, drThis) {
679
- var thisRandom = RandomUtils_1.RandomUtils.uuid();
680
- // const thisRegex = /(?<!(dr-|\.))this(?=.?)/g;
681
- // const thisRegex = /[^(dr\-)]this(?=.?)/g;
682
- // const thisRegex = /[^(dr\-)]this\./g;
683
- // safari 때문에 전위 검색 regex가 안됨 아 짜증나서 이걸로함.
684
- // element.querySelectorAll(`[${RawSet.DR_PRE_NAME}]`).forEach(it => {
685
- // let message = it.innerHTML;
686
- // })
687
- element.querySelectorAll("[" + RawSet.DR_PRE_NAME + "]").forEach(function (it) {
688
- it.innerHTML = it.innerHTML.replace(/this/g, thisRandom);
689
- });
690
- element.querySelectorAll("[" + RawSet.DR_THIS_NAME + "]").forEach(function (it) {
691
- var message = it.innerHTML;
692
- StringUtils_1.StringUtils.regexExec(/([^(dr\-)])?this(?=.?)/g, message).reverse().forEach(function (it) {
693
- var _a;
694
- message = message.substr(0, it.index) + message.substr(it.index).replace(it[0], "" + ((_a = it[1]) !== null && _a !== void 0 ? _a : '') + drThis);
695
- });
696
- it.innerHTML = message;
697
- });
698
- var message = element.innerHTML;
699
- StringUtils_1.StringUtils.regexExec(/([^(dr\-)])?this(?=.?)/g, message).reverse().forEach(function (it) {
700
- var _a;
701
- message = message.substr(0, it.index) + message.substr(it.index).replace(it[0], "" + ((_a = it[1]) !== null && _a !== void 0 ? _a : '') + drThis);
702
- });
703
- element.innerHTML = message;
704
- return thisRandom;
705
- };
706
- RawSet.drThisDecoding = function (element, thisRandom) {
707
- element.querySelectorAll("[" + RawSet.DR_PRE_NAME + "]").forEach(function (it) {
708
- it.innerHTML = it.innerHTML.replace(RegExp(thisRandom, 'g'), 'this');
709
- });
710
- element.querySelectorAll("[" + RawSet.DR_THIS_NAME + "]").forEach(function (it) {
711
- it.innerHTML = it.innerHTML.replace(RegExp(thisRandom, 'g'), 'this');
712
- });
713
- };
714
- RawSet.drFormOtherMoveAttr = function (element, as, to, config) {
715
- element.querySelectorAll("[" + RawSet.DR_FORM_NAME + "]").forEach(function (subElement) {
716
- var _a;
717
- var nodeIterator = config.window.document.createNodeIterator(subElement, NodeFilter.SHOW_ELEMENT, {
718
- acceptNode: function (node) {
719
- if (node.nodeType === Node.ELEMENT_NODE) {
720
- var element_4 = node;
721
- return element_4.hasAttribute(as) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
722
- }
723
- else {
724
- return NodeFilter.FILTER_REJECT;
725
- }
726
- }
727
- });
728
- var node;
729
- // eslint-disable-next-line no-cond-assign
730
- while (node = nodeIterator.nextNode()) {
731
- var element_5 = node;
732
- element_5.setAttribute(to, (_a = element_5.getAttribute(as)) !== null && _a !== void 0 ? _a : '');
733
- element_5.removeAttribute(as);
734
- }
735
- });
736
- };
737
- RawSet.drVarEncoding = function (element, drVarOption) {
738
- var _a;
739
- var vars = ((_a = drVarOption === null || drVarOption === void 0 ? void 0 : drVarOption.split(',')) !== null && _a !== void 0 ? _a : []).map(function (it) {
740
- var _a, _b;
741
- var s = it.trim().split('=');
742
- var name = (_a = s[0]) === null || _a === void 0 ? void 0 : _a.trim();
743
- var value = (_b = s[1]) === null || _b === void 0 ? void 0 : _b.trim();
744
- return {
745
- name: name,
746
- value: value,
747
- // regex: RegExp('(?<!(dr-|\\.))var\\.' + s[0] + '(?=.?)', 'g'),
748
- regex: RegExp('\\$var\\.' + name + '(?=.?)', 'g'),
749
- random: RandomUtils_1.RandomUtils.uuid()
750
- };
751
- });
752
- // element.querySelectorAll(`[${RawSet.DR_THIS_NAME}]`).forEach(it => {
753
- element.querySelectorAll("[" + RawSet.DR_VAR_OPTIONNAME + "]").forEach(function (it) {
754
- vars.filter(function (vit) { return vit.value && vit.name; }).forEach(function (vit) {
755
- it.innerHTML = it.innerHTML.replace(vit.regex, vit.random);
756
- });
757
- });
758
- vars.filter(function (vit) { return vit.value && vit.name; }).forEach(function (vit) {
759
- element.innerHTML = element.innerHTML.replace(vit.regex, vit.value);
760
- });
761
- return vars;
762
- };
763
- RawSet.drVarDecoding = function (element, vars) {
764
- element.querySelectorAll("[" + RawSet.DR_THIS_NAME + "]").forEach(function (it) {
765
- vars.filter(function (vit) { return vit.value && vit.name; }).forEach(function (vit) {
766
- it.innerHTML = it.innerHTML.replace(RegExp(vit.random, 'g'), vit.value);
767
- });
768
- });
769
- };
770
- RawSet.drThisCreate = function (rawSet, element, drThis, drVarOption, drStripOption, obj, config, set) {
771
- var _a, _b, _c, _d, _e;
772
- return __awaiter(this, void 0, void 0, function () {
773
- var fag, n, stylePromises, templatePromise, _f, i, it_5, _g, _h, _j, _k, _l, style, onCreate, renderScript, createParam, script, oninit, script, thisRandom, vars;
774
- return __generator(this, function (_m) {
775
- switch (_m.label) {
776
- case 0:
777
- fag = config.window.document.createDocumentFragment();
778
- n = element.cloneNode(true);
779
- if (!set) return [3 /*break*/, 12];
780
- stylePromises = [];
781
- if (!(set.template && set.template.startsWith('lazy://'))) return [3 /*break*/, 2];
782
- return [4 /*yield*/, fetch(set.template.substring(6))];
783
- case 1:
784
- _f = (_m.sent()).text();
785
- return [3 /*break*/, 3];
786
- case 2:
787
- _f = Promise.resolve(set.template);
788
- _m.label = 3;
789
- case 3:
790
- templatePromise = (_f);
791
- i = 0;
792
- _m.label = 4;
793
- case 4:
794
- if (!(set.styles && i < ((_a = set.styles.length) !== null && _a !== void 0 ? _a : 0))) return [3 /*break*/, 9];
795
- it_5 = set.styles[i];
796
- _h = (_g = stylePromises).push;
797
- if (!it_5.startsWith('lazy://')) return [3 /*break*/, 6];
798
- return [4 /*yield*/, fetch(it_5.substring(6))];
799
- case 5:
800
- _j = (_m.sent()).text();
801
- return [3 /*break*/, 7];
802
- case 6:
803
- _j = Promise.resolve(it_5);
804
- _m.label = 7;
805
- case 7:
806
- _h.apply(_g, [_j]);
807
- _m.label = 8;
808
- case 8:
809
- i++;
810
- return [3 /*break*/, 4];
811
- case 9:
812
- _k = set;
813
- return [4 /*yield*/, templatePromise];
814
- case 10:
815
- _k.template = _m.sent();
816
- _l = set;
817
- return [4 /*yield*/, Promise.all(stylePromises)];
818
- case 11:
819
- _l.styles = _m.sent();
820
- style = RawSet.generateStyleTransform((_b = set.styles) !== null && _b !== void 0 ? _b : [], rawSet.uuid, true);
821
- n.innerHTML = style + ((_c = set.template) !== null && _c !== void 0 ? _c : '');
822
- onCreate = element.getAttribute(RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME);
823
- renderScript = '';
824
- createParam = [];
825
- if (onCreate) {
826
- script = renderScript + " return " + onCreate + " ";
827
- createParam = ScriptUtils_1.ScriptUtils.eval(script, obj);
828
- if (!Array.isArray(createParam)) {
829
- createParam = [createParam];
830
- }
831
- }
832
- (_e = (_d = set.obj) === null || _d === void 0 ? void 0 : _d.onCreateRender) === null || _e === void 0 ? void 0 : _e.call.apply(_e, __spreadArray([_d], createParam, false));
833
- oninit = element.getAttribute(RawSet.DR_ON_CREATED_CALLBACK_OPTIONNAME);
834
- if (oninit) {
835
- script = renderScript + " " + oninit + " ";
836
- ScriptUtils_1.ScriptUtils.eval(script, obj);
837
- }
838
- _m.label = 12;
839
- case 12:
840
- n.querySelectorAll(EventManager_1.eventManager.attrNames.map(function (it) { return "[" + it + "]"; }).join(',')).forEach(function (it) {
841
- it.setAttribute(EventManager_1.EventManager.ownerVariablePathAttrName, 'this');
842
- });
843
- // attribute
844
- n.getAttributeNames().forEach(function (it) { return n.setAttribute(it, n.getAttribute(it).replace(/#this#/g, drThis)); });
845
- thisRandom = this.drThisEncoding(n, drThis);
846
- vars = this.drVarEncoding(n, drVarOption);
847
- this.drVarDecoding(n, vars);
848
- this.drThisDecoding(n, thisRandom);
849
- if (drStripOption && (drStripOption === true || drStripOption === 'true')) {
850
- // console.log('------childNodes', Array.from(n.childNodes))
851
- Array.from(n.childNodes).forEach(function (it) { return fag.append(it); });
852
- }
853
- else {
854
- fag.append(n);
855
- }
856
- fag.__domrender_this_variable_name = drThis;
857
- // console.log('set __domrender_this_variable_name', (fag as any).__domrender_this_variable_name)
858
- return [2 /*return*/, fag];
859
- }
860
- });
861
- });
862
- };
863
- RawSet.createComponentTargetAttribute = function (name, getThisObj, factory) {
864
- var targetAttribute = {
865
- name: name,
866
- callBack: function (element, attrValue, obj, rawSet) {
867
- var _a;
868
- var thisObj = getThisObj(element, attrValue, obj, rawSet);
869
- var data = factory(element, attrValue, obj, rawSet);
870
- rawSet.point.thisVariableName = data.__domrender_this_variable_name;
871
- if (thisObj) {
872
- var i = thisObj.__domrender_component_new = ((_a = thisObj.__domrender_component_new) !== null && _a !== void 0 ? _a : new Proxy({}, new Types_1.DomRenderFinalProxy()));
873
- i.thisVariableName = rawSet.point.thisVariableName;
874
- i.rawSet = rawSet;
875
- i.innerHTML = element.innerHTML;
876
- i.rootCreator = new Proxy(obj, new Types_1.DomRenderFinalProxy());
877
- i.creator = new Proxy(rawSet.point.thisVariableName ? ScriptUtils_1.ScriptUtils.evalReturn(rawSet.point.thisVariableName, obj) : obj, new Types_1.DomRenderFinalProxy());
878
- }
879
- return data;
880
- }
881
- };
882
- return targetAttribute;
883
- };
884
- RawSet.createComponentTargetElement = function (name, objFactory, template, styles) {
885
- if (template === void 0) { template = ''; }
886
- if (styles === void 0) { styles = []; }
887
- var targetElement = {
888
- name: name,
889
- styles: styles,
890
- template: template,
891
- callBack: function (element, obj, rawSet, attrs, config) {
892
- var _a, _b, _c, _d, _e, _f, _g;
893
- return __awaiter(this, void 0, void 0, function () {
894
- var componentKey, stylePromises, templatePromise, _h, i_1, it_6, _j, _k, _l, _m, _o, domrenderComponents, attribute, renderScript, render, constructor, constructorParam, script, param, instance, i, normalAttrMap, onCreate, createParam, script, applayTemplate, innerHTMLThisRandom, componentName, innerHTMLName, oninit, script, style, data, template_1;
895
- return __generator(this, function (_p) {
896
- switch (_p.label) {
897
- case 0:
898
- componentKey = rawSet.uuid;
899
- stylePromises = [];
900
- if (!(this.template && this.template.startsWith('lazy://'))) return [3 /*break*/, 2];
901
- return [4 /*yield*/, fetch(this.template.substring(6))];
902
- case 1:
903
- _h = (_p.sent()).text();
904
- return [3 /*break*/, 3];
905
- case 2:
906
- _h = Promise.resolve(this.template);
907
- _p.label = 3;
908
- case 3:
909
- templatePromise = (_h);
910
- i_1 = 0;
911
- _p.label = 4;
912
- case 4:
913
- if (!(this.styles && i_1 < this.styles.length)) return [3 /*break*/, 9];
914
- it_6 = this.styles[i_1];
915
- _k = (_j = stylePromises).push;
916
- if (!it_6.startsWith('lazy://')) return [3 /*break*/, 6];
917
- return [4 /*yield*/, fetch(it_6.substring(6))];
918
- case 5:
919
- _l = (_p.sent()).text();
920
- return [3 /*break*/, 7];
921
- case 6:
922
- _l = Promise.resolve(it_6);
923
- _p.label = 7;
924
- case 7:
925
- _k.apply(_j, [_l]);
926
- _p.label = 8;
927
- case 8:
928
- i_1++;
929
- return [3 /*break*/, 4];
930
- case 9:
931
- // const templateResponse = await templatePromise;
932
- // const styleResponses = await Promise.all(stylePromises);
933
- _m = this;
934
- return [4 /*yield*/, templatePromise];
935
- case 10:
936
- // const templateResponse = await templatePromise;
937
- // const styleResponses = await Promise.all(stylePromises);
938
- _m.template = _p.sent();
939
- _o = this;
940
- return [4 /*yield*/, Promise.all(stylePromises)];
941
- case 11:
942
- _o.styles = _p.sent();
943
- // console.log('targetsub-22-', this.styles)
944
- // console.log('targetsub-222-', this.template, this.styles)
945
- // Promise.all(promises).then([])
946
- // console.log('callback------->', element)
947
- if (!obj.__domrender_components) {
948
- obj.__domrender_components = {};
949
- }
950
- domrenderComponents = obj.__domrender_components;
951
- attribute = DomUtils_1.DomUtils.getAttributeToObject(element);
952
- renderScript = 'var $component = this.__render.component; var $element = this.__render.element; var $router = this.__render.router; var $innerHTML = this.__render.innerHTML; var $attribute = this.__render.attribute; var $creatorMetaData = this.__render.creatorMetaData;';
953
- render = Object.freeze({
954
- renderScript: renderScript,
955
- element: element,
956
- innerHTML: element.innerHTML,
957
- attribute: attribute,
958
- rawset: rawSet,
959
- router: config.router,
960
- componentKey: componentKey,
961
- scripts: EventManager_1.EventManager.setBindProperty((_a = config.scripts) !== null && _a !== void 0 ? _a : {}, obj)
962
- // eslint-disable-next-line no-use-before-define
963
- });
964
- constructor = element.getAttribute(RawSet.DR_ON_CONSTRUCTOR_ARGUMENTS_OPTIONNAME);
965
- constructorParam = [];
966
- // dr-constructor
967
- if (constructor) {
968
- script = renderScript + " return " + constructor + " ";
969
- param = (_b = ScriptUtils_1.ScriptUtils.eval(script, Object.assign(obj, { __render: render }))) !== null && _b !== void 0 ? _b : [];
970
- if (!Array.isArray(param)) {
971
- param = [param];
972
- }
973
- constructorParam = param;
974
- }
975
- // console.log('------22', attrs);
976
- domrenderComponents[componentKey] = objFactory(element, obj, rawSet, constructorParam);
977
- instance = domrenderComponents[componentKey];
978
- i = instance.__domrender_component_new = ((_c = instance.__domrender_component_new) !== null && _c !== void 0 ? _c : new Proxy({}, new Types_1.DomRenderFinalProxy()));
979
- i.thisVariableName = rawSet.point.thisVariableName;
980
- i.thisFullVariableName = "this.__domrender_components." + componentKey;
981
- i.componentKey = componentKey;
982
- i.rawSet = rawSet;
983
- i.attribute = attribute;
984
- i.router = config.router;
985
- i.scripts = render.scripts;
986
- i.drAttrs = attrs;
987
- i.innerHTML = element.innerHTML;
988
- i.rootCreator = new Proxy(obj, new Types_1.DomRenderFinalProxy());
989
- i.creator = new Proxy(rawSet.point.thisVariableName ? ScriptUtils_1.ScriptUtils.evalReturn(rawSet.point.thisVariableName, obj) : obj, new Types_1.DomRenderFinalProxy());
990
- this.__creatorMetaData = i;
991
- render = __assign({ component: instance, creatorMetaData: i }, render);
992
- normalAttrMap = element.getAttribute(EventManager_1.EventManager.normalAttrMapAttrName);
993
- if (instance.onChangeAttrRender && normalAttrMap) {
994
- new Map(JSON.parse(normalAttrMap)).forEach(function (value, key) {
995
- var script = renderScript + " return " + value + " ";
996
- var cval = ScriptUtils_1.ScriptUtils.eval(script, Object.assign(obj, { __render: render }));
997
- // element.setAttribute(key, cval);
998
- instance.onChangeAttrRender(key, cval);
999
- });
1000
- }
1001
- onCreate = element.getAttribute(RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME);
1002
- this.__render = render;
1003
- createParam = [];
1004
- if (onCreate) {
1005
- script = renderScript + " return " + onCreate + " ";
1006
- createParam = ScriptUtils_1.ScriptUtils.eval(script, Object.assign(obj, { __render: render }));
1007
- if (!Array.isArray(createParam)) {
1008
- createParam = [createParam];
1009
- }
1010
- }
1011
- (_d = instance === null || instance === void 0 ? void 0 : instance.onCreateRender) === null || _d === void 0 ? void 0 : _d.call.apply(_d, __spreadArray([instance], createParam, false));
1012
- applayTemplate = element.innerHTML;
1013
- componentName = (_e = element.getAttribute(RawSet.DR_COMPONENT_NAME_OPTIONNAME)) !== null && _e !== void 0 ? _e : 'component';
1014
- innerHTMLName = (_f = element.getAttribute(RawSet.DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME)) !== null && _f !== void 0 ? _f : 'innerHTML';
1015
- if (applayTemplate) {
1016
- // if (rawSet.point.thisVariableName) {
1017
- // 넘어온 innerHTML에 this가 있으면 해당안되게 우선 치환.
1018
- innerHTMLThisRandom = RandomUtils_1.RandomUtils.uuid();
1019
- applayTemplate = applayTemplate.replace(/this\./g, innerHTMLThisRandom);
1020
- // }
1021
- applayTemplate = applayTemplate.replace(RegExp("#" + componentName + "#", 'g'), 'this');
1022
- }
1023
- // applayTemplate = template.replace(RegExp(`#${innerHTMLName}#`, 'g'), applayTemplate);
1024
- applayTemplate = ((_g = this.template) !== null && _g !== void 0 ? _g : '').replace(RegExp("#" + innerHTMLName + "#", 'g'), applayTemplate);
1025
- oninit = element.getAttribute(RawSet.DR_ON_CREATED_CALLBACK_OPTIONNAME);
1026
- if (oninit) {
1027
- script = renderScript + " " + oninit + " ";
1028
- ScriptUtils_1.ScriptUtils.eval(script, Object.assign(obj, {
1029
- __render: render
1030
- }));
1031
- }
1032
- style = RawSet.generateStyleTransform(this.styles, componentKey, true);
1033
- element.innerHTML = style + (applayTemplate !== null && applayTemplate !== void 0 ? applayTemplate : '');
1034
- return [4 /*yield*/, RawSet.drThisCreate(rawSet, element, "this.__domrender_components." + componentKey, '', true, obj, config)];
1035
- case 12:
1036
- data = _p.sent();
1037
- // 넘어온 innerHTML에 this가 있는걸 다시 복호화해서 제대로 작동하도록한다.
1038
- if (innerHTMLThisRandom) {
1039
- template_1 = config.window.document.createElement('template');
1040
- template_1.content.append(data);
1041
- template_1.innerHTML = template_1.innerHTML.replace(RegExp(innerHTMLThisRandom, 'g'), 'this.');
1042
- data = template_1.content;
1043
- }
1044
- data.render = render;
1045
- return [2 /*return*/, data];
1046
- }
1047
- });
1048
- });
1049
- }
1050
- // complete
1051
- };
1052
- return targetElement;
1053
- };
1054
- RawSet.isExporesion = function (data) {
1055
- var reg = /(?:[$#]\{(?:(([$#]\{)??[^$#]?[^{]*?)\}[$#]))/g;
1056
- return reg.test(data !== null && data !== void 0 ? data : '');
1057
- };
1058
- RawSet.exporesionGrouops = function (data) {
1059
- // const reg = /(?:[$#]\{(?:(([$#]\{)??[^$#]*?)\}[$#]))/g;
1060
- var reg = /(?:[$#]\{(?:(([$#]\{)??[^$#]?[^{]*?)\}[$#]))/g;
1061
- return StringUtils_1.StringUtils.regexExec(reg, data !== null && data !== void 0 ? data : '');
1062
- };
1063
- // public static metaStart(id: string) {
1064
- // return `<meta id='${id}-start' />`;
1065
- // }
1066
- //
1067
- // public static metaEnd(id: string) {
1068
- // return `<meta id='${id}-end' />`;
1069
- // }
1070
- RawSet.destroy = function (obj, parameter, config, destroyOptions) {
1071
- var _a;
1072
- if (destroyOptions === void 0) { destroyOptions = []; }
1073
- if (!destroyOptions.some(function (it) { return it === DestroyOptionType_1.DestroyOptionType.NO_DESTROY; })) {
1074
- if (!destroyOptions.some(function (it) { return it === DestroyOptionType_1.DestroyOptionType.NO_MESSENGER_DESTROY; })) {
1075
- if (config.messenger && obj) {
1076
- config.messenger.deleteChannelFromObj(obj);
1077
- }
1078
- }
1079
- if (obj) {
1080
- (_a = obj.onDestroyRender) === null || _a === void 0 ? void 0 : _a.call.apply(_a, __spreadArray([obj], parameter, false));
1081
- }
1082
- }
1083
- };
1084
- RawSet.DR_NAME = 'dr';
1085
- RawSet.DR_IF_NAME = 'dr-if';
1086
- RawSet.DR_FOR_NAME = 'dr-for';
1087
- RawSet.DR_FOR_OF_NAME = 'dr-for-of';
1088
- RawSet.DR_THIS_PROPERTY_NAME = 'dr-this-property';
1089
- RawSet.DR_REPEAT_NAME = 'dr-repeat';
1090
- RawSet.DR_THIS_NAME = 'dr-this';
1091
- RawSet.DR_FORM_NAME = 'dr-form';
1092
- RawSet.DR_PRE_NAME = 'dr-pre';
1093
- RawSet.DR_APPENDER_NAME = 'dr-appender';
1094
- RawSet.DR_INNERHTML_NAME = 'dr-inner-html';
1095
- RawSet.DR_INNERTEXT_NAME = 'dr-inner-text';
1096
- RawSet.DR_DETECT_NAME = 'dr-detect';
1097
- RawSet.DR_IT_OPTIONNAME = 'dr-it';
1098
- RawSet.DR_VAR_OPTIONNAME = 'dr-var';
1099
- RawSet.DR_AFTER_OPTIONNAME = 'dr-after';
1100
- RawSet.DR_NEXT_OPTIONNAME = 'dr-next';
1101
- RawSet.DR_BEFORE_OPTIONNAME = 'dr-before';
1102
- RawSet.DR_COMPLETE_OPTIONNAME = 'dr-complete';
1103
- RawSet.DR_STRIP_OPTIONNAME = 'dr-strip';
1104
- RawSet.DR_DESTROY_OPTIONNAME = 'dr-destroy';
1105
- RawSet.DR_COMPONENT_NAME_OPTIONNAME = 'dr-component-name';
1106
- RawSet.DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME = 'dr-component-inner-html-name';
1107
- RawSet.DR_KEY_OPTIONNAME = 'dr-key';
1108
- RawSet.DR_HAS_KEYS_OPTIONNAME = 'dr-has-keys';
1109
- RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME = 'dr-on-create:arguments';
1110
- RawSet.DR_ON_CREATED_CALLBACK_OPTIONNAME = 'dr-on-create:callback';
1111
- RawSet.DR_ON_INIT_ARGUMENTS_OPTIONNAME = 'dr-on-init:arguments';
1112
- RawSet.DR_ON_CONSTRUCTOR_ARGUMENTS_OPTIONNAME = 'dr-on-constructor:arguments';
1113
- RawSet.drAttrsOriginName = {
1114
- dr: RawSet.DR_NAME,
1115
- drIf: RawSet.DR_IF_NAME,
1116
- drFor: RawSet.DR_FOR_NAME,
1117
- drForOf: RawSet.DR_FOR_OF_NAME,
1118
- drThisProperty: RawSet.DR_THIS_PROPERTY_NAME,
1119
- drAppender: RawSet.DR_APPENDER_NAME,
1120
- drRepeat: RawSet.DR_REPEAT_NAME,
1121
- drThis: RawSet.DR_THIS_NAME,
1122
- drForm: RawSet.DR_FORM_NAME,
1123
- drPre: RawSet.DR_PRE_NAME,
1124
- drInnerHTML: RawSet.DR_INNERHTML_NAME,
1125
- drInnerText: RawSet.DR_INNERTEXT_NAME,
1126
- drItOption: RawSet.DR_IT_OPTIONNAME,
1127
- drVarOption: RawSet.DR_VAR_OPTIONNAME,
1128
- drAfterOption: RawSet.DR_AFTER_OPTIONNAME,
1129
- drNextOption: RawSet.DR_NEXT_OPTIONNAME,
1130
- drBeforeOption: RawSet.DR_BEFORE_OPTIONNAME,
1131
- drCompleteOption: RawSet.DR_COMPLETE_OPTIONNAME,
1132
- drStripOption: RawSet.DR_STRIP_OPTIONNAME,
1133
- drDestroyOption: RawSet.DR_DESTROY_OPTIONNAME,
1134
- drHasKeysOption: RawSet.DR_HAS_KEYS_OPTIONNAME,
1135
- drKeyOption: RawSet.DR_KEY_OPTIONNAME
1136
- };
1137
- RawSet.DR_TAGS = [];
1138
- RawSet.DR_ATTRIBUTES = [RawSet.DR_NAME, RawSet.DR_APPENDER_NAME, RawSet.DR_IF_NAME, RawSet.DR_FOR_OF_NAME, RawSet.DR_THIS_PROPERTY_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, RawSet.DR_DETECT_NAME];
1139
- return RawSet;
1140
- }());
1141
- exports.RawSet = RawSet;