dom-render 1.0.93 → 1.0.95
Sign up to get free protection for your applications and to get access to all the features.
- 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/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,33 +265,88 @@ 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) {
|
269
|
-
|
270
|
-
// console.log('
|
274
|
+
// const firstData = ScriptUtils.evalReturn('this.' + firstPathStr, this._domRender_proxy);
|
275
|
+
// console.log('-------', firstPathStr, firstData);
|
276
|
+
// if (firstData instanceof Dictionary) {
|
277
|
+
// }
|
278
|
+
var iterable_1 = this._rawSets.get(fullPathStr_1);
|
271
279
|
// array check
|
272
|
-
var
|
273
|
-
var
|
274
|
-
var
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
280
|
+
var front_1 = strings.slice(0, strings.length - 1).map(function (it) { return isNaN(Number(it)) ? '.' + it : "[".concat(it, "]"); }).join('');
|
281
|
+
var last_1 = strings[strings.length - 1];
|
282
|
+
var data_1 = ScriptUtils_1.ScriptUtils.evalReturn('this' + front_1, this._domRender_proxy);
|
283
|
+
// console.log('-------!!!!!', fullPathStr, iterable, data, front, last);
|
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);
|
279
322
|
}
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
if (
|
288
|
-
var
|
289
|
-
|
290
|
-
|
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 */
|
330
|
+
if (last_1 === 'length' && Array.isArray(data_1)) {
|
331
|
+
var aIterable = _this._rawSets.get(firstPathStr);
|
332
|
+
if (aIterable) {
|
333
|
+
return _this.render(Array.from(aIterable));
|
334
|
+
}
|
291
335
|
}
|
336
|
+
else if (iterable_1) {
|
337
|
+
return _this.render(Array.from(iterable_1), fullPathStr_1);
|
338
|
+
}
|
339
|
+
}).then(function (it) {
|
340
|
+
console.log('target1------->,', it);
|
341
|
+
_this._targets.forEach(function (it) {
|
342
|
+
console.log('target2------->,', it);
|
343
|
+
// return;
|
344
|
+
if (it.nodeType === Node.DOCUMENT_FRAGMENT_NODE || it.nodeType === Node.ELEMENT_NODE) {
|
345
|
+
var targets = EventManager_1.eventManager.findAttrElements(it, _this.config);
|
346
|
+
// console.log('------>', targets);
|
347
|
+
EventManager_1.eventManager.changeVar(_this._domRender_proxy, targets, "this.".concat(fullPathStr_1), _this.config);
|
348
|
+
}
|
349
|
+
});
|
292
350
|
});
|
293
351
|
}
|
294
352
|
fullPaths.push(fullPathStr_1);
|
@@ -297,6 +355,7 @@ var DomRenderProxy = /** @class */ (function () {
|
|
297
355
|
};
|
298
356
|
DomRenderProxy.prototype.set = function (target, p, value, receiver) {
|
299
357
|
var _a, _b;
|
358
|
+
// console.log('set-->', p, value, target, receiver);
|
300
359
|
if (typeof p === 'string' && p !== '__domrender_components' && excludeGetSetPropertys.includes(p)) {
|
301
360
|
target[p] = value;
|
302
361
|
return true;
|
@@ -358,6 +417,13 @@ var DomRenderProxy = /** @class */ (function () {
|
|
358
417
|
return it_2;
|
359
418
|
}
|
360
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
|
+
};
|
361
427
|
DomRenderProxy.prototype.has = function (target, p) {
|
362
428
|
return p === '_DomRender_isProxy' || p in target;
|
363
429
|
};
|