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