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