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/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
|
};
|