dom-render 1.0.94 → 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 +94 -30
- package/dist/bundle.js +478 -290
- 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/DomRenderProxy.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export declare class DomRenderProxy<T extends object> implements ProxyHandler<T>
|
|
|
18
18
|
root(paths: string[], value?: any, lastDoneExecute?: boolean): string[];
|
|
19
19
|
set(target: T, p: string | symbol, value: any, receiver: T): boolean;
|
|
20
20
|
get(target: T, p: string | symbol, receiver: any): any;
|
|
21
|
+
deleteProperty(target: T, p: string | symbol): boolean;
|
|
21
22
|
has(target: T, p: string | symbol): boolean;
|
|
22
23
|
proxy(parentProxy: T, obj: T | any, p: string): any;
|
|
23
24
|
addRef(parent: object, path: string): void;
|
package/DomRenderProxy.js
CHANGED
|
@@ -51,6 +51,7 @@ var EventManager_1 = require("./events/EventManager");
|
|
|
51
51
|
var ScriptUtils_1 = require("./utils/script/ScriptUtils");
|
|
52
52
|
var Types_1 = require("./types/Types");
|
|
53
53
|
var RawSetType_1 = require("./rawsets/RawSetType");
|
|
54
|
+
var DrDictionary_1 = require("./operators/DrDictionary");
|
|
54
55
|
var excludeGetSetPropertys = ['onBeforeReturnGet', 'onBeforeReturnSet', '__domrender_components', '__render', '_DomRender_isFinal', '_domRender_ref', '_rawSets', '_domRender_proxy', '_targets', '_DomRender_origin', '_DomRender_ref', '_DomRender_proxy'];
|
|
55
56
|
var DomRenderProxy = /** @class */ (function () {
|
|
56
57
|
function DomRenderProxy(_domRender_origin, target, config) {
|
|
@@ -102,7 +103,7 @@ var DomRenderProxy = /** @class */ (function () {
|
|
|
102
103
|
};
|
|
103
104
|
DomRenderProxy.prototype.initRender = function (target) {
|
|
104
105
|
var _this = this;
|
|
105
|
-
var _a, _b, _c, _d, _e
|
|
106
|
+
var _a, _b, _c, _d, _e;
|
|
106
107
|
var onCreate = (_b = (_a = target).getAttribute) === null || _b === void 0 ? void 0 : _b.call(_a, RawSet_1.RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME);
|
|
107
108
|
var createParam = [];
|
|
108
109
|
if (onCreate) {
|
|
@@ -129,22 +130,24 @@ var DomRenderProxy = /** @class */ (function () {
|
|
|
129
130
|
});
|
|
130
131
|
}
|
|
131
132
|
});
|
|
132
|
-
this.render(this.getRawSets())
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
initParam
|
|
133
|
+
this.render(this.getRawSets()).then(function (it) {
|
|
134
|
+
var _a, _b, _c, _d;
|
|
135
|
+
// const render = {target} as Render;
|
|
136
|
+
// const creatorMetaData = {
|
|
137
|
+
// creator: this._domRender_proxy,
|
|
138
|
+
// rootCreator: this._domRender_proxy,
|
|
139
|
+
// innerHTML
|
|
140
|
+
// } as CreatorMetaData;
|
|
141
|
+
var onInit = (_b = (_a = target).getAttribute) === null || _b === void 0 ? void 0 : _b.call(_a, RawSet_1.RawSet.DR_ON_INIT_ARGUMENTS_OPTIONNAME);
|
|
142
|
+
var initParam = [];
|
|
143
|
+
if (onCreate) {
|
|
144
|
+
initParam = ScriptUtils_1.ScriptUtils.evalReturn(onCreate, _this._domRender_proxy);
|
|
145
|
+
if (!Array.isArray(initParam)) {
|
|
146
|
+
initParam = [initParam];
|
|
147
|
+
}
|
|
145
148
|
}
|
|
146
|
-
|
|
147
|
-
|
|
149
|
+
(_d = (_c = _this._domRender_proxy) === null || _c === void 0 ? void 0 : _c.onInitRender) === null || _d === void 0 ? void 0 : _d.call.apply(_d, __spreadArray([_c], initParam, false));
|
|
150
|
+
});
|
|
148
151
|
};
|
|
149
152
|
DomRenderProxy.prototype.getRawSets = function () {
|
|
150
153
|
var set = new Set();
|
|
@@ -179,11 +182,11 @@ var DomRenderProxy = /** @class */ (function () {
|
|
|
179
182
|
switch (_e.label) {
|
|
180
183
|
case 0:
|
|
181
184
|
it_1.getUsingTriggerVariables(this_1.config).forEach(function (path) { return _this.addRawSet(path, it_1); });
|
|
182
|
-
if (!it_1.isConnected) return [3 /*break*/,
|
|
185
|
+
if (!it_1.isConnected) return [3 /*break*/, 6];
|
|
183
186
|
targetAttrMap = (_b = (_a = it_1.point.node) === null || _a === void 0 ? void 0 : _a.getAttribute) === null || _b === void 0 ? void 0 : _b.call(_a, EventManager_1.EventManager.normalAttrMapAttrName);
|
|
184
187
|
if (!((_c = it_1.detect) === null || _c === void 0 ? void 0 : _c.action)) return [3 /*break*/, 1];
|
|
185
188
|
it_1.detect.action();
|
|
186
|
-
return [3 /*break*/,
|
|
189
|
+
return [3 /*break*/, 5];
|
|
187
190
|
case 1:
|
|
188
191
|
if (!(it_1.type === RawSetType_1.RawSetType.TARGET_ELEMENT && it_1.data && fullPathStr && targetAttrMap && it_1.fragment.render)) return [3 /*break*/, 2];
|
|
189
192
|
new Map(JSON.parse(targetAttrMap)).forEach(function (v, k) {
|
|
@@ -199,20 +202,20 @@ var DomRenderProxy = /** @class */ (function () {
|
|
|
199
202
|
}
|
|
200
203
|
// console.log('---?', v, fullPathStr, isUsing);
|
|
201
204
|
});
|
|
202
|
-
return [3 /*break*/,
|
|
205
|
+
return [3 /*break*/, 5];
|
|
203
206
|
case 2: return [4 /*yield*/, it_1.render(this_1._domRender_proxy, this_1.config)];
|
|
204
207
|
case 3:
|
|
205
208
|
rawSets_2 = _e.sent();
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
_e.label =
|
|
211
|
-
case
|
|
212
|
-
case
|
|
209
|
+
if (!(rawSets_2 && rawSets_2.length > 0)) return [3 /*break*/, 5];
|
|
210
|
+
return [4 /*yield*/, this_1.render(rawSets_2)];
|
|
211
|
+
case 4:
|
|
212
|
+
_e.sent();
|
|
213
|
+
_e.label = 5;
|
|
214
|
+
case 5: return [3 /*break*/, 7];
|
|
215
|
+
case 6:
|
|
213
216
|
removeRawSets.push(it_1);
|
|
214
|
-
_e.label =
|
|
215
|
-
case
|
|
217
|
+
_e.label = 7;
|
|
218
|
+
case 7: return [2 /*return*/];
|
|
216
219
|
}
|
|
217
220
|
});
|
|
218
221
|
};
|
|
@@ -262,18 +265,70 @@ var DomRenderProxy = /** @class */ (function () {
|
|
|
262
265
|
});
|
|
263
266
|
}
|
|
264
267
|
else {
|
|
268
|
+
// const firstPathStr = paths.slice(1).reverse().join('.');
|
|
265
269
|
var strings = paths.reverse();
|
|
266
270
|
// array같은경우도 키값으로 접근하기때문에 특정 인덱스를 찾아서 그부분만 바꿔줄수 있다.
|
|
267
271
|
var fullPathStr_1 = strings.map(function (it) { return isNaN(Number(it)) ? '.' + it : "[".concat(it, "]"); }).join('').slice(1);
|
|
272
|
+
// console.log('-------fullPathStr', fullPathStr, lastDoneExecute);
|
|
268
273
|
if (lastDoneExecute) {
|
|
274
|
+
// const firstData = ScriptUtils.evalReturn('this.' + firstPathStr, this._domRender_proxy);
|
|
275
|
+
// console.log('-------', firstPathStr, firstData);
|
|
276
|
+
// if (firstData instanceof Dictionary) {
|
|
277
|
+
// }
|
|
269
278
|
var iterable_1 = this._rawSets.get(fullPathStr_1);
|
|
270
279
|
// array check
|
|
271
280
|
var front_1 = strings.slice(0, strings.length - 1).map(function (it) { return isNaN(Number(it)) ? '.' + it : "[".concat(it, "]"); }).join('');
|
|
272
281
|
var last_1 = strings[strings.length - 1];
|
|
273
282
|
var data_1 = ScriptUtils_1.ScriptUtils.evalReturn('this' + front_1, this._domRender_proxy);
|
|
283
|
+
// console.log('-------!!!!!', fullPathStr, iterable, data, front, last);
|
|
274
284
|
new Promise(function (resolve) {
|
|
285
|
+
var firstPathStr = front_1.slice(1);
|
|
286
|
+
// console.log('-promise-------', firstPathStr, this)
|
|
287
|
+
var firstTargets = _this._rawSets.get(firstPathStr);
|
|
288
|
+
var firstTargetDictionary = [];
|
|
289
|
+
firstTargets === null || firstTargets === void 0 ? void 0 : firstTargets.forEach(function (it) {
|
|
290
|
+
var _a, _b;
|
|
291
|
+
// console.log('----forEach---', it);
|
|
292
|
+
var type = (_b = (_a = it.point.start).getAttribute) === null || _b === void 0 ? void 0 : _b.call(_a, 'type');
|
|
293
|
+
if (type === 'dictionary') {
|
|
294
|
+
firstTargetDictionary.push(it);
|
|
295
|
+
}
|
|
296
|
+
});
|
|
297
|
+
if (firstTargetDictionary.length > 0) {
|
|
298
|
+
// console.log('ddddddddddd', firstTargetDictionary);
|
|
299
|
+
var rawSets_3 = [];
|
|
300
|
+
var skip_1 = false;
|
|
301
|
+
firstTargetDictionary.forEach(function (it) {
|
|
302
|
+
var _a, _b;
|
|
303
|
+
var keys = (_b = (_a = it.point.start.getAttribute('dictionary-keys')) === null || _a === void 0 ? void 0 : _a.split(',')) !== null && _b !== void 0 ? _b : [];
|
|
304
|
+
if (!keys.includes(last_1)) {
|
|
305
|
+
var raws = DrDictionary_1.DrDictionary.append(_this._domRender_proxy, fullPathStr_1, last_1, it, _this.config);
|
|
306
|
+
// console.log('----append---', raws);
|
|
307
|
+
if (raws) {
|
|
308
|
+
rawSets_3.push.apply(rawSets_3, raws);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
else {
|
|
312
|
+
skip_1 = true;
|
|
313
|
+
}
|
|
314
|
+
});
|
|
315
|
+
if (skip_1 === false || rawSets_3.length > 0) {
|
|
316
|
+
return _this.render(rawSets_3);
|
|
317
|
+
}
|
|
318
|
+
// console.log('rawSets-->#$$$$$$$$$$$', this._rawSets);
|
|
319
|
+
// rawSets.forEach(it => this.addRawSet(fullPathStr, it));
|
|
320
|
+
// DrDictionary.append(this._domRender_proxy, fullPathStr, it, this.config);
|
|
321
|
+
// it.render(this._domRender_proxy, this.config);
|
|
322
|
+
}
|
|
323
|
+
/* if (data instanceof Dictionary) {
|
|
324
|
+
const a = this._rawSets.get(firstPathStr);
|
|
325
|
+
// a?.forEach(it => {
|
|
326
|
+
// if (it.type === RawSetType.TARGET_ATTR)
|
|
327
|
+
// })
|
|
328
|
+
console.log('dictionary-->', data, last, value, this._rawSets, a);
|
|
329
|
+
} else */
|
|
275
330
|
if (last_1 === 'length' && Array.isArray(data_1)) {
|
|
276
|
-
var aIterable = _this._rawSets.get(
|
|
331
|
+
var aIterable = _this._rawSets.get(firstPathStr);
|
|
277
332
|
if (aIterable) {
|
|
278
333
|
return _this.render(Array.from(aIterable));
|
|
279
334
|
}
|
|
@@ -282,8 +337,9 @@ var DomRenderProxy = /** @class */ (function () {
|
|
|
282
337
|
return _this.render(Array.from(iterable_1), fullPathStr_1);
|
|
283
338
|
}
|
|
284
339
|
}).then(function (it) {
|
|
340
|
+
console.log('target1------->,', it);
|
|
285
341
|
_this._targets.forEach(function (it) {
|
|
286
|
-
|
|
342
|
+
console.log('target2------->,', it);
|
|
287
343
|
// return;
|
|
288
344
|
if (it.nodeType === Node.DOCUMENT_FRAGMENT_NODE || it.nodeType === Node.ELEMENT_NODE) {
|
|
289
345
|
var targets = EventManager_1.eventManager.findAttrElements(it, _this.config);
|
|
@@ -299,6 +355,7 @@ var DomRenderProxy = /** @class */ (function () {
|
|
|
299
355
|
};
|
|
300
356
|
DomRenderProxy.prototype.set = function (target, p, value, receiver) {
|
|
301
357
|
var _a, _b;
|
|
358
|
+
// console.log('set-->', p, value, target, receiver);
|
|
302
359
|
if (typeof p === 'string' && p !== '__domrender_components' && excludeGetSetPropertys.includes(p)) {
|
|
303
360
|
target[p] = value;
|
|
304
361
|
return true;
|
|
@@ -360,6 +417,13 @@ var DomRenderProxy = /** @class */ (function () {
|
|
|
360
417
|
return it_2;
|
|
361
418
|
}
|
|
362
419
|
};
|
|
420
|
+
DomRenderProxy.prototype.deleteProperty = function (target, p) {
|
|
421
|
+
delete target[p];
|
|
422
|
+
if (typeof p === 'string') {
|
|
423
|
+
this.root([p]);
|
|
424
|
+
}
|
|
425
|
+
return true;
|
|
426
|
+
};
|
|
363
427
|
DomRenderProxy.prototype.has = function (target, p) {
|
|
364
428
|
return p === '_DomRender_isProxy' || p in target;
|
|
365
429
|
};
|