dom-render 1.0.93 → 1.0.95
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/DomRenderProxy.d.ts +1 -0
- package/DomRenderProxy.js +114 -48
- package/dist/bundle.js +477 -286
- package/events/EventManager.js +1 -0
- package/operators/Appender.js +9 -1
- package/operators/DrDictionary.d.ts +11 -0
- package/operators/DrDictionary.js +166 -0
- package/operators/DrThis.js +2 -0
- package/package.json +1 -1
- package/rawsets/Attrs.d.ts +2 -0
- package/rawsets/RawSet.d.ts +4 -2
- package/rawsets/RawSet.js +53 -35
package/events/EventManager.js
CHANGED
@@ -203,6 +203,7 @@ var EventManager = /** @class */ (function () {
|
|
203
203
|
EventManager.prototype.changeVar = function (obj, elements, varName, config) {
|
204
204
|
var _this = this;
|
205
205
|
// console.log('-changeVar-->', obj, elements, varName);
|
206
|
+
// forEach elements
|
206
207
|
// value-link event
|
207
208
|
this.procAttr(elements, EventManager.valueLinkAttrName, function (it, attribute) {
|
208
209
|
var ownerVariablePathName = it.getAttribute(EventManager.ownerVariablePathAttrName);
|
package/operators/Appender.js
CHANGED
@@ -36,7 +36,7 @@ var Appender = /** @class */ (function () {
|
|
36
36
|
for (var _i = 0; _i < arguments.length; _i++) {
|
37
37
|
items[_i] = arguments[_i];
|
38
38
|
}
|
39
|
-
// console.log('----2>', this.length)
|
39
|
+
// console.log('----2>', items, this.length);
|
40
40
|
items.index = this.length;
|
41
41
|
this[this.length++] = items;
|
42
42
|
// console.log('---22->', this.length)
|
@@ -44,6 +44,14 @@ var Appender = /** @class */ (function () {
|
|
44
44
|
// appender.values = items;
|
45
45
|
// this.childs.push(new Appender(appender.index + 1));
|
46
46
|
};
|
47
|
+
// delete(idx: number): void {
|
48
|
+
// // if (idx in this) {
|
49
|
+
// // console.log('---------dele',idx)
|
50
|
+
// // delete this[idx];
|
51
|
+
// // this.length = this.length - 1;
|
52
|
+
// // }
|
53
|
+
// this.length = this.length - 1;
|
54
|
+
// }
|
47
55
|
Appender.prototype.clear = function () {
|
48
56
|
// console.log('length', this.length);
|
49
57
|
for (var i = 0; i < this.length; i++) {
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { OperatorExecuterAttrRequire } from './OperatorExecuterAttrRequire';
|
2
|
+
import { RawSet } from '../rawsets/RawSet';
|
3
|
+
import { Render } from '../rawsets/Render';
|
4
|
+
import { AfterCallBack, ElementSource, ExecuteState, ReturnContainer, Source } from './OperatorExecuter';
|
5
|
+
import { Config } from '../configs/Config';
|
6
|
+
export declare class DrDictionary extends OperatorExecuterAttrRequire<string> {
|
7
|
+
constructor(rawSet: RawSet, render: Render, returnContainer: ReturnContainer, elementSource: ElementSource, source: Source, afterCallBack: AfterCallBack);
|
8
|
+
executeAttrRequire(attr: string): Promise<ExecuteState>;
|
9
|
+
static getChildren(rawSet: RawSet, config: Config): Map<string, Node[]>;
|
10
|
+
static append(obj: any, fullPath: string, key: string, rawSet: RawSet, config: Config): RawSet[];
|
11
|
+
}
|
@@ -0,0 +1,166 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
3
|
+
var extendStatics = function (d, b) {
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
7
|
+
return extendStatics(d, b);
|
8
|
+
};
|
9
|
+
return function (d, b) {
|
10
|
+
if (typeof b !== "function" && b !== null)
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
12
|
+
extendStatics(d, b);
|
13
|
+
function __() { this.constructor = d; }
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
15
|
+
};
|
16
|
+
})();
|
17
|
+
var __assign = (this && this.__assign) || function () {
|
18
|
+
__assign = Object.assign || function(t) {
|
19
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
20
|
+
s = arguments[i];
|
21
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
22
|
+
t[p] = s[p];
|
23
|
+
}
|
24
|
+
return t;
|
25
|
+
};
|
26
|
+
return __assign.apply(this, arguments);
|
27
|
+
};
|
28
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
29
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
30
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
31
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
32
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
33
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
34
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
35
|
+
});
|
36
|
+
};
|
37
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
38
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
39
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
40
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
41
|
+
function step(op) {
|
42
|
+
if (f) throw new TypeError("Generator is already executing.");
|
43
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
44
|
+
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;
|
45
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
46
|
+
switch (op[0]) {
|
47
|
+
case 0: case 1: t = op; break;
|
48
|
+
case 4: _.label++; return { value: op[1], done: false };
|
49
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
50
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
51
|
+
default:
|
52
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
53
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
54
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
55
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
56
|
+
if (t[2]) _.ops.pop();
|
57
|
+
_.trys.pop(); continue;
|
58
|
+
}
|
59
|
+
op = body.call(thisArg, _);
|
60
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
61
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
62
|
+
}
|
63
|
+
};
|
64
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
65
|
+
exports.DrDictionary = void 0;
|
66
|
+
var OperatorExecuterAttrRequire_1 = require("./OperatorExecuterAttrRequire");
|
67
|
+
var ScriptUtils_1 = require("../utils/script/ScriptUtils");
|
68
|
+
var RawSet_1 = require("../rawsets/RawSet");
|
69
|
+
var OperatorExecuter_1 = require("./OperatorExecuter");
|
70
|
+
var DrDictionary = /** @class */ (function (_super) {
|
71
|
+
__extends(DrDictionary, _super);
|
72
|
+
function DrDictionary(rawSet, render, returnContainer, elementSource, source, afterCallBack) {
|
73
|
+
source.operatorAround = undefined;
|
74
|
+
return _super.call(this, rawSet, render, returnContainer, elementSource, source, afterCallBack, false) || this;
|
75
|
+
}
|
76
|
+
DrDictionary.prototype.executeAttrRequire = function (attr) {
|
77
|
+
var _a, _b, _c, _d, _e;
|
78
|
+
return __awaiter(this, void 0, void 0, function () {
|
79
|
+
var itRandom, vars, newTemp, dictioanry, dictionaryKey, tempalte, rr;
|
80
|
+
var _f;
|
81
|
+
return __generator(this, function (_g) {
|
82
|
+
itRandom = RawSet_1.RawSet.drItOtherEncoding(this.elementSource.element);
|
83
|
+
vars = RawSet_1.RawSet.drVarEncoding(this.elementSource.element, (_a = this.elementSource.attrs.drVarOption) !== null && _a !== void 0 ? _a : '');
|
84
|
+
newTemp = this.source.config.window.document.createElement('temp');
|
85
|
+
dictioanry = ScriptUtils_1.ScriptUtils.evalReturn(attr, this.source.obj);
|
86
|
+
dictionaryKey = (_b = this.elementSource.attrs.drDictionaryOption) !== null && _b !== void 0 ? _b : '';
|
87
|
+
// console.log('--->', attr, dictionaryKey)
|
88
|
+
// if (!(dictioanry instanceof Dictionary)) {
|
89
|
+
// return ExecuteState.STOP;
|
90
|
+
// }
|
91
|
+
// await new Promise(resolve => setTimeout(resolve, 1000));
|
92
|
+
// console.log('!!!!!!!!!!!!!!', this.rawSet);
|
93
|
+
ScriptUtils_1.ScriptUtils.eval("\n ".concat(this.render.bindScript, "\n ").concat((_c = this.elementSource.attrs.drBeforeOption) !== null && _c !== void 0 ? _c : '', "\n var i = 0; \n const dictionary = ").concat(attr, ";\n const dictionaryKey = '").concat(dictionaryKey, "';\n const dictionaryStr = `").concat(attr, "`.trim();\n // console.log('----@#!@#@!#', this.__render.oldChild);\n if (dictionary) {\n for(const it in dictionary) {\n // const oldChild = this.__render.oldChild.get(it);\n // if (oldChild && oldChild.length > 0) {\n // this.__render.fag.append(...oldChild);\n // } else {\n // var destIt = dictionaryStr + '[\"' + it + '\"]';\n // const n = this.__render.element.cloneNode(true);\n // n.setAttribute('dr-this', destIt);\n // // n.setAttribute('dr-dictionary', dictionaryStr);\n // n.setAttribute('dr-dictionary-key', it);\n // this.__render.fag.append(n);\n // }\n // if (!this.__render.oldChild.get(it)) {\n // var destIt = dictionaryStr + '[\"' + it + '\"]';\n // const n = this.__render.element.cloneNode(true);\n // n.setAttribute('dr-this', destIt);\n // // n.setAttribute('dr-dictionary', dictionaryStr);\n // n.setAttribute('dr-dictionary-key', it);\n // this.__render.fag.append(n);\n // }\n var destIt = dictionaryStr + '[\"' + it + '\"]';\n const n = this.__render.element.cloneNode(true);\n n.setAttribute('dr-this', destIt);\n // n.setAttribute('dr-dictionary', dictionaryStr);\n // n.setAttribute('dr-dictionary-key', it);\n this.__render.fag.append(n);\n i++;\n }\n this.__render.rawset.point.start.setAttribute('dictionary-keys',Object.keys(dictionary).join(','));\n }\n ").concat((_d = this.elementSource.attrs.drAfterOption) !== null && _d !== void 0 ? _d : '', "\n "), Object.assign(this.source.obj, {
|
94
|
+
__render: Object.freeze(__assign({ drStripOption: this.elementSource.attrs.drStripOption, drAttr: this.elementSource.attrs, drAttrsOriginName: RawSet_1.RawSet.drAttrsOriginName, fag: newTemp }, this.render))
|
95
|
+
}));
|
96
|
+
RawSet_1.RawSet.drVarDecoding(newTemp, vars);
|
97
|
+
RawSet_1.RawSet.drItOtherDecoding(newTemp, itRandom);
|
98
|
+
tempalte = this.source.config.window.document.createElement('template');
|
99
|
+
tempalte.innerHTML = newTemp.innerHTML;
|
100
|
+
this.returnContainer.fag.append(tempalte.content);
|
101
|
+
rr = RawSet_1.RawSet.checkPointCreates(this.returnContainer.fag, this.source.obj, this.source.config);
|
102
|
+
(_e = this.elementSource.element.parentNode) === null || _e === void 0 ? void 0 : _e.replaceChild(this.returnContainer.fag, this.elementSource.element);
|
103
|
+
// const rrr = rr.flatMap(it => it.render(obj, config));// .flat();
|
104
|
+
(_f = this.returnContainer.raws).push.apply(_f, rr);
|
105
|
+
return [2 /*return*/, OperatorExecuter_1.ExecuteState.EXECUTE];
|
106
|
+
});
|
107
|
+
});
|
108
|
+
};
|
109
|
+
DrDictionary.getChildren = function (rawSet, config) {
|
110
|
+
var _a, _b, _c;
|
111
|
+
var next = rawSet.point.start.nextSibling;
|
112
|
+
var oldChild = new Map();
|
113
|
+
var currentKey = '';
|
114
|
+
while (next) {
|
115
|
+
if (next === rawSet.point.end) {
|
116
|
+
break;
|
117
|
+
}
|
118
|
+
var dictionaryKey = (_b = (_a = next).getAttribute) === null || _b === void 0 ? void 0 : _b.call(_a, 'dictionary-key');
|
119
|
+
if (dictionaryKey) {
|
120
|
+
currentKey = dictionaryKey;
|
121
|
+
oldChild.set(dictionaryKey, []);
|
122
|
+
}
|
123
|
+
// console.log('next-------->', currentKey, next);
|
124
|
+
if (currentKey) {
|
125
|
+
(_c = oldChild.get(currentKey)) === null || _c === void 0 ? void 0 : _c.push(next);
|
126
|
+
}
|
127
|
+
next = next.nextSibling;
|
128
|
+
}
|
129
|
+
return oldChild;
|
130
|
+
};
|
131
|
+
DrDictionary.append = function (obj, fullPath, key, rawSet, config) {
|
132
|
+
var _this = this;
|
133
|
+
var _a, _b;
|
134
|
+
var genNode = config.window.document.importNode(rawSet.fragment, true);
|
135
|
+
// console.log('---> append', rawSet, genNode);
|
136
|
+
var rawSets = [];
|
137
|
+
for (var _i = 0, _c = Array.from(genNode.childNodes.values()); _i < _c.length; _i++) {
|
138
|
+
var cNode = _c[_i];
|
139
|
+
var element = cNode.cloneNode(true);
|
140
|
+
element.removeAttribute('dr-dictionary');
|
141
|
+
element.setAttribute('dr-this', "this.".concat(fullPath));
|
142
|
+
// rawSet.point.end.after(element);
|
143
|
+
var fg = config.window.document.createDocumentFragment();
|
144
|
+
fg.append(element);
|
145
|
+
rawSets.push.apply(rawSets, RawSet_1.RawSet.checkPointCreates(fg, obj, config));
|
146
|
+
rawSet.point.end.before(fg);
|
147
|
+
var start = rawSet.point.start;
|
148
|
+
var keys = (_b = (_a = start.getAttribute('dictionary-keys')) === null || _a === void 0 ? void 0 : _a.split(',')) !== null && _b !== void 0 ? _b : [];
|
149
|
+
keys.push(key);
|
150
|
+
start.setAttribute('dictionary-keys', keys.join(','));
|
151
|
+
rawSets.forEach(function (it) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
152
|
+
switch (_a.label) {
|
153
|
+
case 0: return [4 /*yield*/, it.render(obj, config)];
|
154
|
+
case 1: return [2 /*return*/, _a.sent()];
|
155
|
+
}
|
156
|
+
}); }); });
|
157
|
+
// console.log('WWW', fg, Array.from(fg.childNodes));
|
158
|
+
// console.log('--------------------------rawSets', rawSets);
|
159
|
+
}
|
160
|
+
return rawSets;
|
161
|
+
// rawSet.
|
162
|
+
// rawSet.point.end.before()
|
163
|
+
};
|
164
|
+
return DrDictionary;
|
165
|
+
}(OperatorExecuterAttrRequire_1.OperatorExecuterAttrRequire));
|
166
|
+
exports.DrDictionary = DrDictionary;
|
package/operators/DrThis.js
CHANGED
@@ -83,9 +83,11 @@ var DrThis = /** @class */ (function (_super) {
|
|
83
83
|
this.afterCallBack.onThisComponentSetCallBacks.push(attr);
|
84
84
|
return [3 /*break*/, 4];
|
85
85
|
case 2:
|
86
|
+
// console.log('dr-this!!!!!!!', this.rawSet, this.source.obj)
|
86
87
|
_g = (_f = this.returnContainer.fag).append;
|
87
88
|
return [4 /*yield*/, RawSet_1.RawSet.drThisCreate(this.rawSet, this.elementSource.element, this.elementSource.attrs.drThis, (_d = this.elementSource.attrs.drVarOption) !== null && _d !== void 0 ? _d : '', this.elementSource.attrs.drStripOption, this.source.obj, this.source.config)];
|
88
89
|
case 3:
|
90
|
+
// console.log('dr-this!!!!!!!', this.rawSet, this.source.obj)
|
89
91
|
_g.apply(_f, [_j.sent()]);
|
90
92
|
_j.label = 4;
|
91
93
|
case 4:
|
package/package.json
CHANGED
package/rawsets/Attrs.d.ts
CHANGED
@@ -4,6 +4,7 @@ export type Attrs = {
|
|
4
4
|
drAppender: string | null;
|
5
5
|
drFor: string | null;
|
6
6
|
drForOf: string | null;
|
7
|
+
drDictionary: string | null;
|
7
8
|
drRepeat: string | null;
|
8
9
|
drThis: string | null;
|
9
10
|
drForm: string | null;
|
@@ -18,4 +19,5 @@ export type Attrs = {
|
|
18
19
|
drCompleteOption: string | null;
|
19
20
|
drStripOption: string | null;
|
20
21
|
drDestroyOption: string | null;
|
22
|
+
drDictionaryOption: string | null;
|
21
23
|
};
|
package/rawsets/RawSet.d.ts
CHANGED
@@ -24,6 +24,7 @@ export declare class RawSet {
|
|
24
24
|
static readonly DR_IF_NAME = "dr-if";
|
25
25
|
static readonly DR_FOR_NAME = "dr-for";
|
26
26
|
static readonly DR_FOR_OF_NAME = "dr-for-of";
|
27
|
+
static readonly DR_DICTIONARY_NAME = "dr-dictionary";
|
27
28
|
static readonly DR_REPEAT_NAME = "dr-repeat";
|
28
29
|
static readonly DR_THIS_NAME = "dr-this";
|
29
30
|
static readonly DR_FORM_NAME = "dr-form";
|
@@ -42,13 +43,14 @@ export declare class RawSet {
|
|
42
43
|
static readonly DR_DESTROY_OPTIONNAME = "dr-destroy";
|
43
44
|
static readonly DR_COMPONENT_NAME_OPTIONNAME = "dr-component-name";
|
44
45
|
static readonly DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME = "dr-component-inner-html-name";
|
46
|
+
static readonly DR_DICTIONARY_OPTIONKEYNAME = "dr-dictionary-key";
|
45
47
|
static readonly DR_ON_CREATE_ARGUMENTS_OPTIONNAME = "dr-on-create:arguments";
|
46
48
|
static readonly DR_ON_CREATED_CALLBACK_OPTIONNAME = "dr-on-create:callback";
|
47
49
|
static readonly DR_ON_INIT_ARGUMENTS_OPTIONNAME = "dr-on-init:arguments";
|
48
50
|
static readonly DR_ON_CONSTRUCTOR_ARGUMENTS_OPTIONNAME = "dr-on-constructor:arguments";
|
49
51
|
static readonly drAttrsOriginName: Attrs;
|
50
52
|
static readonly DR_TAGS: never[];
|
51
|
-
static readonly DR_ATTRIBUTES: readonly ["dr", "dr-appender", "dr-if", "dr-for-of", "dr-for", "dr-this", "dr-form", "dr-pre", "dr-inner-html", "dr-inner-text", "dr-repeat", "dr-detect"];
|
53
|
+
static readonly DR_ATTRIBUTES: readonly ["dr", "dr-appender", "dr-if", "dr-for-of", "dr-dictionary", "dr-for", "dr-this", "dr-form", "dr-pre", "dr-inner-html", "dr-inner-text", "dr-repeat", "dr-detect"];
|
52
54
|
constructor(uuid: string, type: RawSetType, point: {
|
53
55
|
start: Comment | Text | HTMLMetaElement;
|
54
56
|
node: Node;
|
@@ -70,7 +72,7 @@ export declare class RawSet {
|
|
70
72
|
getDrAppendAttributeAndDelete(element: Element, obj: any): string | null;
|
71
73
|
replaceBody(genNode: Node): void;
|
72
74
|
static checkPointCreates(element: Node, obj: any, config: Config): RawSet[];
|
73
|
-
static createStartEndPoint(id: string, type: RawSetType, config: Config): {
|
75
|
+
static createStartEndPoint(node: Node, id: string, type: RawSetType, config: Config): {
|
74
76
|
start: HTMLMetaElement;
|
75
77
|
end: HTMLMetaElement;
|
76
78
|
} | {
|
package/rawsets/RawSet.js
CHANGED
@@ -80,6 +80,7 @@ var DrTargetElement_1 = require("../operators/DrTargetElement");
|
|
80
80
|
var DrTargetAttr_1 = require("../operators/DrTargetAttr");
|
81
81
|
var DestroyOptionType_1 = require("./DestroyOptionType");
|
82
82
|
var RawSetType_1 = require("./RawSetType");
|
83
|
+
var DrDictionary_1 = require("../operators/DrDictionary");
|
83
84
|
var RawSet = /** @class */ (function () {
|
84
85
|
function RawSet(uuid, type, point, fragment, detect, data) {
|
85
86
|
this.uuid = uuid;
|
@@ -145,12 +146,12 @@ var RawSet = /** @class */ (function () {
|
|
145
146
|
};
|
146
147
|
// 중요 render 처리 부분
|
147
148
|
RawSet.prototype.render = function (obj, config) {
|
148
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
|
149
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
|
149
150
|
return __awaiter(this, void 0, void 0, function () {
|
150
|
-
var genNode, raws, onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks, drAttrs, _i,
|
151
|
+
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;
|
151
152
|
var _this = this;
|
152
|
-
return __generator(this, function (
|
153
|
-
switch (
|
153
|
+
return __generator(this, function (_4) {
|
154
|
+
switch (_4.label) {
|
154
155
|
case 0:
|
155
156
|
genNode = config.window.document.importNode(this.fragment, true);
|
156
157
|
raws = [];
|
@@ -158,11 +159,11 @@ var RawSet = /** @class */ (function () {
|
|
158
159
|
onElementInitCallBacks = [];
|
159
160
|
onThisComponentSetCallBacks = [];
|
160
161
|
drAttrs = [];
|
161
|
-
_i = 0,
|
162
|
-
|
162
|
+
_i = 0, _z = Array.from(genNode.childNodes.values());
|
163
|
+
_4.label = 1;
|
163
164
|
case 1:
|
164
|
-
if (!(_i <
|
165
|
-
cNode =
|
165
|
+
if (!(_i < _z.length)) return [3 /*break*/, 7];
|
166
|
+
cNode = _z[_i];
|
166
167
|
attribute = {};
|
167
168
|
if (cNode.nodeType === Node.ELEMENT_NODE) {
|
168
169
|
attribute = DomUtils_1.DomUtils.getAttributeToObject(cNode);
|
@@ -207,6 +208,7 @@ var RawSet = /** @class */ (function () {
|
|
207
208
|
drIf: this.getAttributeAndDelete(element, RawSet.DR_IF_NAME),
|
208
209
|
drFor: this.getAttributeAndDelete(element, RawSet.DR_FOR_NAME),
|
209
210
|
drForOf: this.getAttributeAndDelete(element, RawSet.DR_FOR_OF_NAME),
|
211
|
+
drDictionary: this.getAttributeAndDelete(element, RawSet.DR_DICTIONARY_NAME),
|
210
212
|
drAppender: this.getAttributeAndDelete(element, RawSet.DR_APPENDER_NAME),
|
211
213
|
drRepeat: this.getAttributeAndDelete(element, RawSet.DR_REPEAT_NAME),
|
212
214
|
drThis: this.getAttributeAndDelete(element, RawSet.DR_THIS_NAME),
|
@@ -221,7 +223,8 @@ var RawSet = /** @class */ (function () {
|
|
221
223
|
drBeforeOption: this.getAttributeAndDelete(element, RawSet.DR_BEFORE_OPTIONNAME),
|
222
224
|
drCompleteOption: this.getAttributeAndDelete(element, RawSet.DR_COMPLETE_OPTIONNAME),
|
223
225
|
drStripOption: this.getAttributeAndDelete(element, RawSet.DR_STRIP_OPTIONNAME),
|
224
|
-
drDestroyOption: this.getAttributeAndDelete(element, RawSet.DR_DESTROY_OPTIONNAME)
|
226
|
+
drDestroyOption: this.getAttributeAndDelete(element, RawSet.DR_DESTROY_OPTIONNAME),
|
227
|
+
drDictionaryOption: this.getAttributeAndDelete(element, RawSet.DR_DICTIONARY_OPTIONKEYNAME)
|
225
228
|
};
|
226
229
|
drAttrs.push(drAttr);
|
227
230
|
operators = [
|
@@ -234,28 +237,29 @@ var RawSet = /** @class */ (function () {
|
|
234
237
|
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 }),
|
235
238
|
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 }),
|
236
239
|
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 }),
|
237
|
-
new
|
238
|
-
new
|
240
|
+
new DrDictionary_1.DrDictionary(this, __render, { raws: raws, fag: fag }, { element: element, attrName: RawSet.DR_DICTIONARY_NAME, attr: drAttr.drDictionary, attrs: drAttr }, { config: config, obj: obj, operatorAround: (_l = config.operatorAround) === null || _l === void 0 ? void 0 : _l.drDictionary }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
|
241
|
+
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 }),
|
242
|
+
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 }),
|
239
243
|
new DrTargetElement_1.DrTargetElement(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks }),
|
240
244
|
new DrTargetAttr_1.DrTargetAttr(this, __render, { raws: raws, fag: fag }, { element: element, attrs: drAttr }, { config: config, obj: obj }, { onAttrInitCallBacks: onAttrInitCallBacks, onElementInitCallBacks: onElementInitCallBacks, onThisComponentSetCallBacks: onThisComponentSetCallBacks })
|
241
245
|
];
|
242
|
-
|
243
|
-
|
246
|
+
_0 = 0, operators_1 = operators;
|
247
|
+
_4.label = 3;
|
244
248
|
case 3:
|
245
|
-
if (!(
|
246
|
-
operator = operators_1[
|
249
|
+
if (!(_0 < operators_1.length)) return [3 /*break*/, 6];
|
250
|
+
operator = operators_1[_0];
|
247
251
|
return [4 /*yield*/, operator.start()];
|
248
252
|
case 4:
|
249
|
-
state =
|
253
|
+
state = _4.sent();
|
250
254
|
if (state === OperatorExecuter_1.ExecuteState.EXECUTE) {
|
251
255
|
return [3 /*break*/, 6];
|
252
256
|
}
|
253
257
|
else if (state === OperatorExecuter_1.ExecuteState.STOP) {
|
254
258
|
return [2 /*return*/, raws];
|
255
259
|
}
|
256
|
-
|
260
|
+
_4.label = 5;
|
257
261
|
case 5:
|
258
|
-
|
262
|
+
_0++;
|
259
263
|
return [3 /*break*/, 3];
|
260
264
|
case 6:
|
261
265
|
_i++;
|
@@ -276,13 +280,13 @@ var RawSet = /** @class */ (function () {
|
|
276
280
|
});
|
277
281
|
// 중요 style isolation 나중에 :scope로 대체 가능할듯.
|
278
282
|
RawSet.generateStyleSheetsLocal();
|
279
|
-
for (
|
280
|
-
it_1 = onThisComponentSetCallBacks_1[
|
281
|
-
(
|
283
|
+
for (_1 = 0, onThisComponentSetCallBacks_1 = onThisComponentSetCallBacks; _1 < onThisComponentSetCallBacks_1.length; _1++) {
|
284
|
+
it_1 = onThisComponentSetCallBacks_1[_1];
|
285
|
+
(_q = (_p = it_1.obj) === null || _p === void 0 ? void 0 : _p.onInitRender) === null || _q === void 0 ? void 0 : _q.call(_p);
|
282
286
|
}
|
283
|
-
for (
|
284
|
-
it_2 = onElementInitCallBacks_1[
|
285
|
-
if (((
|
287
|
+
for (_2 = 0, onElementInitCallBacks_1 = onElementInitCallBacks; _2 < onElementInitCallBacks_1.length; _2++) {
|
288
|
+
it_2 = onElementInitCallBacks_1[_2];
|
289
|
+
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)) {
|
286
290
|
oninit = it_2.targetElement.__render.element.getAttribute(RawSet.DR_ON_INIT_ARGUMENTS_OPTIONNAME);
|
287
291
|
param = [];
|
288
292
|
if (oninit) {
|
@@ -294,14 +298,14 @@ var RawSet = /** @class */ (function () {
|
|
294
298
|
param = [param];
|
295
299
|
}
|
296
300
|
}
|
297
|
-
(
|
301
|
+
(_w = (_v = it_2.targetElement.__render.component).onInitRender) === null || _w === void 0 ? void 0 : _w.call.apply(_w, __spreadArray([_v], param, false));
|
298
302
|
}
|
299
|
-
(
|
303
|
+
(_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);
|
300
304
|
}
|
301
305
|
// TODO: 이부분도 위에 targetElement 처럼 해야될까?
|
302
|
-
for (
|
303
|
-
it_3 = onAttrInitCallBacks_1[
|
304
|
-
(
|
306
|
+
for (_3 = 0, onAttrInitCallBacks_1 = onAttrInitCallBacks; _3 < onAttrInitCallBacks_1.length; _3++) {
|
307
|
+
it_3 = onAttrInitCallBacks_1[_3];
|
308
|
+
(_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);
|
305
309
|
}
|
306
310
|
// component destroy
|
307
311
|
if (obj.__domrender_components) {
|
@@ -499,9 +503,10 @@ var RawSet = /** @class */ (function () {
|
|
499
503
|
else {
|
500
504
|
type = RawSetType_1.RawSetType.TEXT;
|
501
505
|
}
|
502
|
-
var
|
506
|
+
var node = document.createTextNode(preparedText);
|
507
|
+
var startEndPoint = RawSet.createStartEndPoint(node, it_4.uuid, type, config);
|
503
508
|
// layout setting
|
504
|
-
template.content.append(
|
509
|
+
template.content.append(node); // 앞 부분 넣고
|
505
510
|
template.content.append(startEndPoint.start); // add start checkpoint
|
506
511
|
template.content.append(startEndPoint.end); // add end checkpoint
|
507
512
|
// content 안쪽 RawSet render 할때 start 와 end 사이에 fragment 연산해서 들어간다.
|
@@ -524,7 +529,7 @@ var RawSet = /** @class */ (function () {
|
|
524
529
|
var element_3 = currentNode;
|
525
530
|
var fragment = config.window.document.createDocumentFragment();
|
526
531
|
var type = RawSetType_1.RawSetType.TARGET_ELEMENT;
|
527
|
-
var startEndPoint = RawSet.createStartEndPoint(uuid, type, config);
|
532
|
+
var startEndPoint = RawSet.createStartEndPoint(element_3, uuid, type, config);
|
528
533
|
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());
|
529
534
|
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);
|
530
535
|
var isAttr = element_3.getAttributeNames().filter(function (it) { return targetAttrNames_2.includes(it.toLowerCase()); }).length > 0;
|
@@ -547,11 +552,20 @@ var RawSet = /** @class */ (function () {
|
|
547
552
|
// console.log('check-->', pars)
|
548
553
|
return pars;
|
549
554
|
};
|
550
|
-
RawSet.createStartEndPoint = function (id, type, config) {
|
555
|
+
RawSet.createStartEndPoint = function (node, id, type, config) {
|
551
556
|
if (type === RawSetType_1.RawSetType.TARGET_ELEMENT) {
|
557
|
+
var element = node;
|
552
558
|
var start = config.window.document.createElement('meta');
|
553
559
|
var end = config.window.document.createElement('meta');
|
554
560
|
start.setAttribute('id', "".concat(id, "-start"));
|
561
|
+
var dictionaryKey = element.getAttribute('dr-dictionary-key');
|
562
|
+
var dictionary = element.getAttribute('dr-dictionary');
|
563
|
+
if (dictionary) {
|
564
|
+
start.setAttribute('type', 'dictionary');
|
565
|
+
}
|
566
|
+
if (dictionaryKey) {
|
567
|
+
start.setAttribute('dictionary-key', dictionaryKey);
|
568
|
+
}
|
555
569
|
end.setAttribute('id', "".concat(id, "-end"));
|
556
570
|
return {
|
557
571
|
start: start,
|
@@ -1002,6 +1016,7 @@ var RawSet = /** @class */ (function () {
|
|
1002
1016
|
RawSet.DR_IF_NAME = 'dr-if';
|
1003
1017
|
RawSet.DR_FOR_NAME = 'dr-for';
|
1004
1018
|
RawSet.DR_FOR_OF_NAME = 'dr-for-of';
|
1019
|
+
RawSet.DR_DICTIONARY_NAME = 'dr-dictionary';
|
1005
1020
|
RawSet.DR_REPEAT_NAME = 'dr-repeat';
|
1006
1021
|
RawSet.DR_THIS_NAME = 'dr-this';
|
1007
1022
|
RawSet.DR_FORM_NAME = 'dr-form';
|
@@ -1020,6 +1035,7 @@ var RawSet = /** @class */ (function () {
|
|
1020
1035
|
RawSet.DR_DESTROY_OPTIONNAME = 'dr-destroy';
|
1021
1036
|
RawSet.DR_COMPONENT_NAME_OPTIONNAME = 'dr-component-name';
|
1022
1037
|
RawSet.DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME = 'dr-component-inner-html-name';
|
1038
|
+
RawSet.DR_DICTIONARY_OPTIONKEYNAME = 'dr-dictionary-key';
|
1023
1039
|
RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME = 'dr-on-create:arguments';
|
1024
1040
|
RawSet.DR_ON_CREATED_CALLBACK_OPTIONNAME = 'dr-on-create:callback';
|
1025
1041
|
RawSet.DR_ON_INIT_ARGUMENTS_OPTIONNAME = 'dr-on-init:arguments';
|
@@ -1029,6 +1045,7 @@ var RawSet = /** @class */ (function () {
|
|
1029
1045
|
drIf: RawSet.DR_IF_NAME,
|
1030
1046
|
drFor: RawSet.DR_FOR_NAME,
|
1031
1047
|
drForOf: RawSet.DR_FOR_OF_NAME,
|
1048
|
+
drDictionary: RawSet.DR_DICTIONARY_NAME,
|
1032
1049
|
drAppender: RawSet.DR_APPENDER_NAME,
|
1033
1050
|
drRepeat: RawSet.DR_REPEAT_NAME,
|
1034
1051
|
drThis: RawSet.DR_THIS_NAME,
|
@@ -1043,10 +1060,11 @@ var RawSet = /** @class */ (function () {
|
|
1043
1060
|
drBeforeOption: RawSet.DR_BEFORE_OPTIONNAME,
|
1044
1061
|
drCompleteOption: RawSet.DR_COMPLETE_OPTIONNAME,
|
1045
1062
|
drStripOption: RawSet.DR_STRIP_OPTIONNAME,
|
1046
|
-
drDestroyOption: RawSet.DR_DESTROY_OPTIONNAME
|
1063
|
+
drDestroyOption: RawSet.DR_DESTROY_OPTIONNAME,
|
1064
|
+
drDictionaryOption: RawSet.DR_DICTIONARY_OPTIONKEYNAME
|
1047
1065
|
};
|
1048
1066
|
RawSet.DR_TAGS = [];
|
1049
|
-
RawSet.DR_ATTRIBUTES = [RawSet.DR_NAME, RawSet.DR_APPENDER_NAME, 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, RawSet.DR_DETECT_NAME];
|
1067
|
+
RawSet.DR_ATTRIBUTES = [RawSet.DR_NAME, RawSet.DR_APPENDER_NAME, RawSet.DR_IF_NAME, RawSet.DR_FOR_OF_NAME, RawSet.DR_DICTIONARY_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];
|
1050
1068
|
return RawSet;
|
1051
1069
|
}());
|
1052
1070
|
exports.RawSet = RawSet;
|