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.
@@ -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, _f, _g, _h, _j;
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
- // const render = {target} as Render;
134
- // const creatorMetaData = {
135
- // creator: this._domRender_proxy,
136
- // rootCreator: this._domRender_proxy,
137
- // innerHTML
138
- // } as CreatorMetaData;
139
- var onInit = (_g = (_f = target).getAttribute) === null || _g === void 0 ? void 0 : _g.call(_f, RawSet_1.RawSet.DR_ON_INIT_ARGUMENTS_OPTIONNAME);
140
- var initParam = [];
141
- if (onCreate) {
142
- initParam = ScriptUtils_1.ScriptUtils.evalReturn(onCreate, this._domRender_proxy);
143
- if (!Array.isArray(initParam)) {
144
- initParam = [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
- (_j = (_h = this._domRender_proxy) === null || _h === void 0 ? void 0 : _h.onInitRender) === null || _j === void 0 ? void 0 : _j.call.apply(_j, __spreadArray([_h], initParam, false));
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*/, 5];
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*/, 4];
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*/, 4];
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
- // 그외 자식들 render
207
- if (rawSets_2 && rawSets_2.length > 0) {
208
- this_1.render(rawSets_2);
209
- }
210
- _e.label = 4;
211
- case 4: return [3 /*break*/, 6];
212
- case 5:
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 = 6;
215
- case 6: return [2 /*return*/];
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(front_1.slice(1));
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
- // console.log('target------->,', it)
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
  };