dom-render 1.0.94 → 1.0.96
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 +90 -30
- package/dist/bundle.js +440 -246
- package/operators/Appender.js +9 -1
- package/operators/DrThis.js +2 -0
- package/operators/DrThisProperty.d.ts +10 -0
- package/operators/DrThisProperty.js +141 -0
- package/package.json +1 -1
- package/rawsets/Attrs.d.ts +3 -0
- package/rawsets/RawSet.d.ts +14 -4
- package/rawsets/RawSet.js +89 -39
- package/rawsets/RawSetOperatorType.d.ts +3 -0
- package/rawsets/RawSetOperatorType.js +7 -0
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++) {
|
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:
|
@@ -0,0 +1,10 @@
|
|
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 DrThisProperty 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 append(obj: any, fullPath: string, key: string, rawSet: RawSet, config: Config): RawSet[];
|
10
|
+
}
|
@@ -0,0 +1,141 @@
|
|
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.DrThisProperty = 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 DrThisProperty = /** @class */ (function (_super) {
|
71
|
+
__extends(DrThisProperty, _super);
|
72
|
+
function DrThisProperty(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
|
+
DrThisProperty.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.drKeyOption) !== 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 var destIt = dictionaryStr + '[\"' + it + '\"]';\n const n = this.__render.element.cloneNode(true);\n n.setAttribute('dr-this', destIt);\n n.setAttribute('dr-key', it);\n // n.setAttribute('dr-dictionary-key', it);\n this.__render.fag.append(n);\n i++;\n }\n this.__render.rawset.point.start.setAttribute('dr-has-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
|
+
DrThisProperty.append = function (obj, fullPath, key, rawSet, config) {
|
110
|
+
var _this = this;
|
111
|
+
var _a, _b;
|
112
|
+
var genNode = config.window.document.importNode(rawSet.fragment, true);
|
113
|
+
// console.log('---> append', rawSet, genNode);
|
114
|
+
var rawSets = [];
|
115
|
+
for (var _i = 0, _c = Array.from(genNode.childNodes.values()); _i < _c.length; _i++) {
|
116
|
+
var cNode = _c[_i];
|
117
|
+
var element = cNode.cloneNode(true);
|
118
|
+
element.removeAttribute(RawSet_1.RawSet.DR_THIS_PROPERTY_NAME);
|
119
|
+
element.setAttribute(RawSet_1.RawSet.DR_THIS_NAME, "this.".concat(fullPath));
|
120
|
+
element.setAttribute(RawSet_1.RawSet.DR_KEY_OPTIONNAME, key);
|
121
|
+
// rawSet.point.end.after(element);
|
122
|
+
var fg = config.window.document.createDocumentFragment();
|
123
|
+
fg.append(element);
|
124
|
+
rawSets.push.apply(rawSets, RawSet_1.RawSet.checkPointCreates(fg, obj, config));
|
125
|
+
rawSet.point.end.before(fg);
|
126
|
+
var start = rawSet.point.start;
|
127
|
+
var keys = (_b = (_a = start.getAttribute(RawSet_1.RawSet.DR_HAS_KEYS_OPTIONNAME)) === null || _a === void 0 ? void 0 : _a.split(',')) !== null && _b !== void 0 ? _b : [];
|
128
|
+
keys.push(key);
|
129
|
+
start.setAttribute(RawSet_1.RawSet.DR_HAS_KEYS_OPTIONNAME, keys.join(','));
|
130
|
+
rawSets.forEach(function (it) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
131
|
+
switch (_a.label) {
|
132
|
+
case 0: return [4 /*yield*/, it.render(obj, config)];
|
133
|
+
case 1: return [2 /*return*/, _a.sent()];
|
134
|
+
}
|
135
|
+
}); }); });
|
136
|
+
}
|
137
|
+
return rawSets;
|
138
|
+
};
|
139
|
+
return DrThisProperty;
|
140
|
+
}(OperatorExecuterAttrRequire_1.OperatorExecuterAttrRequire));
|
141
|
+
exports.DrThisProperty = DrThisProperty;
|
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
|
+
drThisProperty: string | null;
|
7
8
|
drRepeat: string | null;
|
8
9
|
drThis: string | null;
|
9
10
|
drForm: string | null;
|
@@ -18,4 +19,6 @@ export type Attrs = {
|
|
18
19
|
drCompleteOption: string | null;
|
19
20
|
drStripOption: string | null;
|
20
21
|
drDestroyOption: string | null;
|
22
|
+
drHasKeysOption: string | null;
|
23
|
+
drKeyOption: string | null;
|
21
24
|
};
|
package/rawsets/RawSet.d.ts
CHANGED
@@ -9,7 +9,9 @@ export declare class RawSet {
|
|
9
9
|
uuid: string;
|
10
10
|
type: RawSetType;
|
11
11
|
point: {
|
12
|
-
start: Comment | Text | HTMLMetaElement
|
12
|
+
start: (Comment | Text | HTMLMetaElement) & {
|
13
|
+
rawSet?: RawSet;
|
14
|
+
};
|
13
15
|
node: Node;
|
14
16
|
end: Comment | Text | HTMLMetaElement;
|
15
17
|
thisVariableName?: string | null;
|
@@ -24,6 +26,7 @@ export declare class RawSet {
|
|
24
26
|
static readonly DR_IF_NAME = "dr-if";
|
25
27
|
static readonly DR_FOR_NAME = "dr-for";
|
26
28
|
static readonly DR_FOR_OF_NAME = "dr-for-of";
|
29
|
+
static readonly DR_THIS_PROPERTY_NAME = "dr-this-property";
|
27
30
|
static readonly DR_REPEAT_NAME = "dr-repeat";
|
28
31
|
static readonly DR_THIS_NAME = "dr-this";
|
29
32
|
static readonly DR_FORM_NAME = "dr-form";
|
@@ -42,15 +45,19 @@ export declare class RawSet {
|
|
42
45
|
static readonly DR_DESTROY_OPTIONNAME = "dr-destroy";
|
43
46
|
static readonly DR_COMPONENT_NAME_OPTIONNAME = "dr-component-name";
|
44
47
|
static readonly DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME = "dr-component-inner-html-name";
|
48
|
+
static readonly DR_KEY_OPTIONNAME = "dr-key";
|
49
|
+
static readonly DR_HAS_KEYS_OPTIONNAME = "dr-has-keys";
|
45
50
|
static readonly DR_ON_CREATE_ARGUMENTS_OPTIONNAME = "dr-on-create:arguments";
|
46
51
|
static readonly DR_ON_CREATED_CALLBACK_OPTIONNAME = "dr-on-create:callback";
|
47
52
|
static readonly DR_ON_INIT_ARGUMENTS_OPTIONNAME = "dr-on-init:arguments";
|
48
53
|
static readonly DR_ON_CONSTRUCTOR_ARGUMENTS_OPTIONNAME = "dr-on-constructor:arguments";
|
49
54
|
static readonly drAttrsOriginName: Attrs;
|
50
55
|
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"];
|
56
|
+
static readonly DR_ATTRIBUTES: readonly ["dr", "dr-appender", "dr-if", "dr-for-of", "dr-this-property", "dr-for", "dr-this", "dr-form", "dr-pre", "dr-inner-html", "dr-inner-text", "dr-repeat", "dr-detect"];
|
52
57
|
constructor(uuid: string, type: RawSetType, point: {
|
53
|
-
start: Comment | Text | HTMLMetaElement
|
58
|
+
start: (Comment | Text | HTMLMetaElement) & {
|
59
|
+
rawSet?: RawSet;
|
60
|
+
};
|
54
61
|
node: Node;
|
55
62
|
end: Comment | Text | HTMLMetaElement;
|
56
63
|
thisVariableName?: string | null;
|
@@ -70,14 +77,17 @@ export declare class RawSet {
|
|
70
77
|
getDrAppendAttributeAndDelete(element: Element, obj: any): string | null;
|
71
78
|
replaceBody(genNode: Node): void;
|
72
79
|
static checkPointCreates(element: Node, obj: any, config: Config): RawSet[];
|
73
|
-
static createStartEndPoint(id: string, type: RawSetType, config: Config): {
|
80
|
+
static createStartEndPoint(node: Node, id: string, type: RawSetType, config: Config): {
|
74
81
|
start: HTMLMetaElement;
|
75
82
|
end: HTMLMetaElement;
|
76
83
|
} | {
|
77
84
|
start: Comment;
|
78
85
|
end: Comment;
|
79
86
|
};
|
87
|
+
remove(): void;
|
80
88
|
childAllRemove(): void;
|
89
|
+
childs(stopNext?: (node: Node) => boolean): ChildNode[] | undefined;
|
90
|
+
getHasRawSet(key: string): RawSet | undefined;
|
81
91
|
static drItOtherEncoding(element: Element | DocumentFragment): string;
|
82
92
|
static drItOtherDecoding(element: Element | DocumentFragment, random: string): void;
|
83
93
|
static drThisEncoding(element: Element, drThis: string): string;
|
package/rawsets/RawSet.js
CHANGED
@@ -80,6 +80,8 @@ 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 DrThisProperty_1 = require("../operators/DrThisProperty");
|
84
|
+
var RawSetOperatorType_1 = require("./RawSetOperatorType");
|
83
85
|
var RawSet = /** @class */ (function () {
|
84
86
|
function RawSet(uuid, type, point, fragment, detect, data) {
|
85
87
|
this.uuid = uuid;
|
@@ -88,6 +90,7 @@ var RawSet = /** @class */ (function () {
|
|
88
90
|
this.fragment = fragment;
|
89
91
|
this.detect = detect;
|
90
92
|
this.data = data;
|
93
|
+
point.start.rawSet = this;
|
91
94
|
// console.log('rawset constructor->', (this.point.node as Element).getAttributeNames());
|
92
95
|
}
|
93
96
|
Object.defineProperty(RawSet.prototype, "isConnected", {
|
@@ -145,12 +148,12 @@ var RawSet = /** @class */ (function () {
|
|
145
148
|
};
|
146
149
|
// 중요 render 처리 부분
|
147
150
|
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;
|
151
|
+
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
152
|
return __awaiter(this, void 0, void 0, function () {
|
150
|
-
var genNode, raws, onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks, drAttrs, _i,
|
153
|
+
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
154
|
var _this = this;
|
152
|
-
return __generator(this, function (
|
153
|
-
switch (
|
155
|
+
return __generator(this, function (_4) {
|
156
|
+
switch (_4.label) {
|
154
157
|
case 0:
|
155
158
|
genNode = config.window.document.importNode(this.fragment, true);
|
156
159
|
raws = [];
|
@@ -158,11 +161,11 @@ var RawSet = /** @class */ (function () {
|
|
158
161
|
onElementInitCallBacks = [];
|
159
162
|
onThisComponentSetCallBacks = [];
|
160
163
|
drAttrs = [];
|
161
|
-
_i = 0,
|
162
|
-
|
164
|
+
_i = 0, _z = Array.from(genNode.childNodes.values());
|
165
|
+
_4.label = 1;
|
163
166
|
case 1:
|
164
|
-
if (!(_i <
|
165
|
-
cNode =
|
167
|
+
if (!(_i < _z.length)) return [3 /*break*/, 7];
|
168
|
+
cNode = _z[_i];
|
166
169
|
attribute = {};
|
167
170
|
if (cNode.nodeType === Node.ELEMENT_NODE) {
|
168
171
|
attribute = DomUtils_1.DomUtils.getAttributeToObject(cNode);
|
@@ -207,6 +210,7 @@ var RawSet = /** @class */ (function () {
|
|
207
210
|
drIf: this.getAttributeAndDelete(element, RawSet.DR_IF_NAME),
|
208
211
|
drFor: this.getAttributeAndDelete(element, RawSet.DR_FOR_NAME),
|
209
212
|
drForOf: this.getAttributeAndDelete(element, RawSet.DR_FOR_OF_NAME),
|
213
|
+
drThisProperty: this.getAttributeAndDelete(element, RawSet.DR_THIS_PROPERTY_NAME),
|
210
214
|
drAppender: this.getAttributeAndDelete(element, RawSet.DR_APPENDER_NAME),
|
211
215
|
drRepeat: this.getAttributeAndDelete(element, RawSet.DR_REPEAT_NAME),
|
212
216
|
drThis: this.getAttributeAndDelete(element, RawSet.DR_THIS_NAME),
|
@@ -221,7 +225,8 @@ var RawSet = /** @class */ (function () {
|
|
221
225
|
drBeforeOption: this.getAttributeAndDelete(element, RawSet.DR_BEFORE_OPTIONNAME),
|
222
226
|
drCompleteOption: this.getAttributeAndDelete(element, RawSet.DR_COMPLETE_OPTIONNAME),
|
223
227
|
drStripOption: this.getAttributeAndDelete(element, RawSet.DR_STRIP_OPTIONNAME),
|
224
|
-
drDestroyOption: this.getAttributeAndDelete(element, RawSet.DR_DESTROY_OPTIONNAME)
|
228
|
+
drDestroyOption: this.getAttributeAndDelete(element, RawSet.DR_DESTROY_OPTIONNAME),
|
229
|
+
drKeyOption: this.getAttributeAndDelete(element, RawSet.DR_KEY_OPTIONNAME)
|
225
230
|
};
|
226
231
|
drAttrs.push(drAttr);
|
227
232
|
operators = [
|
@@ -234,28 +239,29 @@ var RawSet = /** @class */ (function () {
|
|
234
239
|
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
240
|
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
241
|
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
|
242
|
+
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 }),
|
243
|
+
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 }),
|
244
|
+
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
245
|
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
246
|
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
247
|
];
|
242
|
-
|
243
|
-
|
248
|
+
_0 = 0, operators_1 = operators;
|
249
|
+
_4.label = 3;
|
244
250
|
case 3:
|
245
|
-
if (!(
|
246
|
-
operator = operators_1[
|
251
|
+
if (!(_0 < operators_1.length)) return [3 /*break*/, 6];
|
252
|
+
operator = operators_1[_0];
|
247
253
|
return [4 /*yield*/, operator.start()];
|
248
254
|
case 4:
|
249
|
-
state =
|
255
|
+
state = _4.sent();
|
250
256
|
if (state === OperatorExecuter_1.ExecuteState.EXECUTE) {
|
251
257
|
return [3 /*break*/, 6];
|
252
258
|
}
|
253
259
|
else if (state === OperatorExecuter_1.ExecuteState.STOP) {
|
254
260
|
return [2 /*return*/, raws];
|
255
261
|
}
|
256
|
-
|
262
|
+
_4.label = 5;
|
257
263
|
case 5:
|
258
|
-
|
264
|
+
_0++;
|
259
265
|
return [3 /*break*/, 3];
|
260
266
|
case 6:
|
261
267
|
_i++;
|
@@ -276,13 +282,13 @@ var RawSet = /** @class */ (function () {
|
|
276
282
|
});
|
277
283
|
// 중요 style isolation 나중에 :scope로 대체 가능할듯.
|
278
284
|
RawSet.generateStyleSheetsLocal();
|
279
|
-
for (
|
280
|
-
it_1 = onThisComponentSetCallBacks_1[
|
281
|
-
(
|
285
|
+
for (_1 = 0, onThisComponentSetCallBacks_1 = onThisComponentSetCallBacks; _1 < onThisComponentSetCallBacks_1.length; _1++) {
|
286
|
+
it_1 = onThisComponentSetCallBacks_1[_1];
|
287
|
+
(_q = (_p = it_1.obj) === null || _p === void 0 ? void 0 : _p.onInitRender) === null || _q === void 0 ? void 0 : _q.call(_p);
|
282
288
|
}
|
283
|
-
for (
|
284
|
-
it_2 = onElementInitCallBacks_1[
|
285
|
-
if (((
|
289
|
+
for (_2 = 0, onElementInitCallBacks_1 = onElementInitCallBacks; _2 < onElementInitCallBacks_1.length; _2++) {
|
290
|
+
it_2 = onElementInitCallBacks_1[_2];
|
291
|
+
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
292
|
oninit = it_2.targetElement.__render.element.getAttribute(RawSet.DR_ON_INIT_ARGUMENTS_OPTIONNAME);
|
287
293
|
param = [];
|
288
294
|
if (oninit) {
|
@@ -294,14 +300,14 @@ var RawSet = /** @class */ (function () {
|
|
294
300
|
param = [param];
|
295
301
|
}
|
296
302
|
}
|
297
|
-
(
|
303
|
+
(_w = (_v = it_2.targetElement.__render.component).onInitRender) === null || _w === void 0 ? void 0 : _w.call.apply(_w, __spreadArray([_v], param, false));
|
298
304
|
}
|
299
|
-
(
|
305
|
+
(_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
306
|
}
|
301
307
|
// TODO: 이부분도 위에 targetElement 처럼 해야될까?
|
302
|
-
for (
|
303
|
-
it_3 = onAttrInitCallBacks_1[
|
304
|
-
(
|
308
|
+
for (_3 = 0, onAttrInitCallBacks_1 = onAttrInitCallBacks; _3 < onAttrInitCallBacks_1.length; _3++) {
|
309
|
+
it_3 = onAttrInitCallBacks_1[_3];
|
310
|
+
(_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
311
|
}
|
306
312
|
// component destroy
|
307
313
|
if (obj.__domrender_components) {
|
@@ -499,9 +505,10 @@ var RawSet = /** @class */ (function () {
|
|
499
505
|
else {
|
500
506
|
type = RawSetType_1.RawSetType.TEXT;
|
501
507
|
}
|
502
|
-
var
|
508
|
+
var node = document.createTextNode(preparedText);
|
509
|
+
var startEndPoint = RawSet.createStartEndPoint(node, it_4.uuid, type, config);
|
503
510
|
// layout setting
|
504
|
-
template.content.append(
|
511
|
+
template.content.append(node); // 앞 부분 넣고
|
505
512
|
template.content.append(startEndPoint.start); // add start checkpoint
|
506
513
|
template.content.append(startEndPoint.end); // add end checkpoint
|
507
514
|
// content 안쪽 RawSet render 할때 start 와 end 사이에 fragment 연산해서 들어간다.
|
@@ -524,7 +531,7 @@ var RawSet = /** @class */ (function () {
|
|
524
531
|
var element_3 = currentNode;
|
525
532
|
var fragment = config.window.document.createDocumentFragment();
|
526
533
|
var type = RawSetType_1.RawSetType.TARGET_ELEMENT;
|
527
|
-
var startEndPoint = RawSet.createStartEndPoint(uuid, type, config);
|
534
|
+
var startEndPoint = RawSet.createStartEndPoint(element_3, uuid, type, config);
|
528
535
|
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
536
|
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
537
|
var isAttr = element_3.getAttributeNames().filter(function (it) { return targetAttrNames_2.includes(it.toLowerCase()); }).length > 0;
|
@@ -547,16 +554,23 @@ var RawSet = /** @class */ (function () {
|
|
547
554
|
// console.log('check-->', pars)
|
548
555
|
return pars;
|
549
556
|
};
|
550
|
-
RawSet.createStartEndPoint = function (id, type, config) {
|
557
|
+
RawSet.createStartEndPoint = function (node, id, type, config) {
|
551
558
|
if (type === RawSetType_1.RawSetType.TARGET_ELEMENT) {
|
559
|
+
var element = node;
|
552
560
|
var start = config.window.document.createElement('meta');
|
553
561
|
var end = config.window.document.createElement('meta');
|
554
562
|
start.setAttribute('id', "".concat(id, "-start"));
|
563
|
+
var keys = element.getAttribute(RawSet.DR_KEY_OPTIONNAME);
|
564
|
+
var thisPropertyType = element.getAttribute(RawSet.DR_THIS_PROPERTY_NAME);
|
565
|
+
if (thisPropertyType) {
|
566
|
+
start.setAttribute('type', RawSetOperatorType_1.RawSetOperatorType.DR_THIS_PROPERTY);
|
567
|
+
}
|
568
|
+
if (keys) {
|
569
|
+
element.removeAttribute(RawSet.DR_KEY_OPTIONNAME);
|
570
|
+
start.setAttribute(RawSet.DR_KEY_OPTIONNAME, keys);
|
571
|
+
}
|
555
572
|
end.setAttribute('id', "".concat(id, "-end"));
|
556
|
-
return {
|
557
|
-
start: start,
|
558
|
-
end: end
|
559
|
-
};
|
573
|
+
return { start: start, end: end };
|
560
574
|
}
|
561
575
|
else if (type === RawSetType_1.RawSetType.STYLE_TEXT) {
|
562
576
|
return {
|
@@ -571,6 +585,11 @@ var RawSet = /** @class */ (function () {
|
|
571
585
|
};
|
572
586
|
}
|
573
587
|
};
|
588
|
+
RawSet.prototype.remove = function () {
|
589
|
+
this.childAllRemove();
|
590
|
+
this.point.end.remove();
|
591
|
+
this.point.start.remove();
|
592
|
+
};
|
574
593
|
RawSet.prototype.childAllRemove = function () {
|
575
594
|
var next = this.point.start.nextSibling;
|
576
595
|
while (next) {
|
@@ -581,6 +600,31 @@ var RawSet = /** @class */ (function () {
|
|
581
600
|
next = this.point.start.nextSibling;
|
582
601
|
}
|
583
602
|
};
|
603
|
+
RawSet.prototype.childs = function (stopNext) {
|
604
|
+
var childs = [];
|
605
|
+
var next = this.point.start.nextSibling;
|
606
|
+
while (next && next !== this.point.end) {
|
607
|
+
if (stopNext === null || stopNext === void 0 ? void 0 : stopNext(next)) {
|
608
|
+
return;
|
609
|
+
}
|
610
|
+
childs.push(next);
|
611
|
+
next = next.nextSibling;
|
612
|
+
}
|
613
|
+
return childs;
|
614
|
+
};
|
615
|
+
RawSet.prototype.getHasRawSet = function (key) {
|
616
|
+
var rawSet;
|
617
|
+
this.childs(function (node) {
|
618
|
+
var _a, _b;
|
619
|
+
var drKey = (_b = (_a = node).getAttribute) === null || _b === void 0 ? void 0 : _b.call(_a, 'dr-key');
|
620
|
+
if (drKey && drKey === key) {
|
621
|
+
rawSet = node.rawSet;
|
622
|
+
return true;
|
623
|
+
}
|
624
|
+
return false;
|
625
|
+
});
|
626
|
+
return rawSet;
|
627
|
+
};
|
584
628
|
RawSet.drItOtherEncoding = function (element) {
|
585
629
|
var random = RandomUtils_1.RandomUtils.uuid();
|
586
630
|
var regex = /#it#/g;
|
@@ -1002,6 +1046,7 @@ var RawSet = /** @class */ (function () {
|
|
1002
1046
|
RawSet.DR_IF_NAME = 'dr-if';
|
1003
1047
|
RawSet.DR_FOR_NAME = 'dr-for';
|
1004
1048
|
RawSet.DR_FOR_OF_NAME = 'dr-for-of';
|
1049
|
+
RawSet.DR_THIS_PROPERTY_NAME = 'dr-this-property';
|
1005
1050
|
RawSet.DR_REPEAT_NAME = 'dr-repeat';
|
1006
1051
|
RawSet.DR_THIS_NAME = 'dr-this';
|
1007
1052
|
RawSet.DR_FORM_NAME = 'dr-form';
|
@@ -1020,6 +1065,8 @@ var RawSet = /** @class */ (function () {
|
|
1020
1065
|
RawSet.DR_DESTROY_OPTIONNAME = 'dr-destroy';
|
1021
1066
|
RawSet.DR_COMPONENT_NAME_OPTIONNAME = 'dr-component-name';
|
1022
1067
|
RawSet.DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME = 'dr-component-inner-html-name';
|
1068
|
+
RawSet.DR_KEY_OPTIONNAME = 'dr-key';
|
1069
|
+
RawSet.DR_HAS_KEYS_OPTIONNAME = 'dr-has-keys';
|
1023
1070
|
RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME = 'dr-on-create:arguments';
|
1024
1071
|
RawSet.DR_ON_CREATED_CALLBACK_OPTIONNAME = 'dr-on-create:callback';
|
1025
1072
|
RawSet.DR_ON_INIT_ARGUMENTS_OPTIONNAME = 'dr-on-init:arguments';
|
@@ -1029,6 +1076,7 @@ var RawSet = /** @class */ (function () {
|
|
1029
1076
|
drIf: RawSet.DR_IF_NAME,
|
1030
1077
|
drFor: RawSet.DR_FOR_NAME,
|
1031
1078
|
drForOf: RawSet.DR_FOR_OF_NAME,
|
1079
|
+
drThisProperty: RawSet.DR_THIS_PROPERTY_NAME,
|
1032
1080
|
drAppender: RawSet.DR_APPENDER_NAME,
|
1033
1081
|
drRepeat: RawSet.DR_REPEAT_NAME,
|
1034
1082
|
drThis: RawSet.DR_THIS_NAME,
|
@@ -1043,10 +1091,12 @@ var RawSet = /** @class */ (function () {
|
|
1043
1091
|
drBeforeOption: RawSet.DR_BEFORE_OPTIONNAME,
|
1044
1092
|
drCompleteOption: RawSet.DR_COMPLETE_OPTIONNAME,
|
1045
1093
|
drStripOption: RawSet.DR_STRIP_OPTIONNAME,
|
1046
|
-
drDestroyOption: RawSet.DR_DESTROY_OPTIONNAME
|
1094
|
+
drDestroyOption: RawSet.DR_DESTROY_OPTIONNAME,
|
1095
|
+
drHasKeysOption: RawSet.DR_HAS_KEYS_OPTIONNAME,
|
1096
|
+
drKeyOption: RawSet.DR_KEY_OPTIONNAME
|
1047
1097
|
};
|
1048
1098
|
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];
|
1099
|
+
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];
|
1050
1100
|
return RawSet;
|
1051
1101
|
}());
|
1052
1102
|
exports.RawSet = RawSet;
|
@@ -0,0 +1,7 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.RawSetOperatorType = void 0;
|
4
|
+
var RawSetOperatorType;
|
5
|
+
(function (RawSetOperatorType) {
|
6
|
+
RawSetOperatorType["DR_THIS_PROPERTY"] = "this-property";
|
7
|
+
})(RawSetOperatorType = exports.RawSetOperatorType || (exports.RawSetOperatorType = {}));
|