vsn 0.1.95 → 0.1.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.
@@ -13,4 +13,5 @@ export declare class List extends Attribute {
13
13
  get listItemModel(): string;
14
14
  remove(item: any): void;
15
15
  protected add(obj: any): Promise<void>;
16
+ setupTag(tag: Tag, obj: any): Promise<void>;
16
17
  }
@@ -251,7 +251,7 @@ var List = /** @class */ (function (_super) {
251
251
  };
252
252
  List.prototype.add = function (obj) {
253
253
  return __awaiter(this, void 0, void 0, function () {
254
- var clone, element, tag, modelName, cls;
254
+ var clone, element, tag;
255
255
  return __generator(this, function (_a) {
256
256
  switch (_a.label) {
257
257
  case 0:
@@ -266,28 +266,43 @@ var List = /** @class */ (function (_super) {
266
266
  return [4 /*yield*/, this.tag.dom.buildTag(element, true)];
267
267
  case 1:
268
268
  tag = _a.sent();
269
+ return [4 /*yield*/, this.setupTag(tag, obj)];
270
+ case 2:
271
+ _a.sent();
272
+ // Add to DOM & build
273
+ this.tag.element.appendChild(element);
274
+ return [4 /*yield*/, this.tag.dom.buildFrom(this.tag.element)];
275
+ case 3:
276
+ _a.sent();
277
+ this.tags.push(tag);
278
+ this.tag.dispatch('add', obj);
279
+ return [2 /*return*/];
280
+ }
281
+ });
282
+ });
283
+ };
284
+ List.prototype.setupTag = function (tag, obj) {
285
+ return __awaiter(this, void 0, void 0, function () {
286
+ var modelName, cls;
287
+ return __generator(this, function (_a) {
288
+ switch (_a.label) {
289
+ case 0:
269
290
  tag.createScope(true);
270
291
  modelName = this.listItemModel;
271
- if (!modelName) return [3 /*break*/, 3];
292
+ if (!modelName) return [3 /*break*/, 2];
272
293
  return [4 /*yield*/, Registry_1.Registry.instance.models.get(modelName)];
273
- case 2:
294
+ case 1:
274
295
  cls = _a.sent();
275
- _a.label = 3;
276
- case 3:
296
+ _a.label = 2;
297
+ case 2:
277
298
  if (cls) {
278
- if (!obj || !(obj instanceof cls)) {
299
+ if (!obj || !(obj instanceof cls))
279
300
  obj = new cls(obj);
280
- }
281
301
  }
302
+ // Check if the class is set up already
303
+ if (!cls || (!(tag.scope.data instanceof cls) && !(tag.scope.wrapped instanceof cls)))
304
+ tag.wrap(obj);
282
305
  tag.scope.set(this.listItemName, tag.scope);
283
- tag.wrap(obj);
284
- // Add to DOM & build
285
- this.tag.element.appendChild(element);
286
- return [4 /*yield*/, this.tag.dom.buildFrom(this.tag.element)];
287
- case 4:
288
- _a.sent();
289
- this.tags.push(tag);
290
- this.tag.dispatch('add', obj);
291
306
  return [2 /*return*/];
292
307
  }
293
308
  });
@@ -1 +1 @@
1
- {"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/attributes/List.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/attributes/List.ts"],"names":[],"mappings":"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"}
@@ -75,20 +75,22 @@ var ListItem = /** @class */ (function (_super) {
75
75
  });
76
76
  ListItem.prototype.setup = function () {
77
77
  return __awaiter(this, void 0, void 0, function () {
78
- var _a, _b;
79
- return __generator(this, function (_c) {
80
- switch (_c.label) {
78
+ var listAttr;
79
+ return __generator(this, function (_a) {
80
+ switch (_a.label) {
81
81
  case 0:
82
82
  this._list = this.tag.findAncestorByAttribute('vsn-list');
83
83
  if (!this._list)
84
84
  throw Error(ListItem_1.ERROR_NO_PARENT);
85
- _b = (_a = this.tag.scope).set;
86
85
  return [4 /*yield*/, this.getListAttribute()];
87
86
  case 1:
88
- _b.apply(_a, [(_c.sent()).listItemName, this.tag.scope]);
89
- return [4 /*yield*/, _super.prototype.setup.call(this)];
87
+ listAttr = _a.sent();
88
+ return [4 /*yield*/, listAttr.setupTag(this.tag, {})];
90
89
  case 2:
91
- _c.sent();
90
+ _a.sent();
91
+ return [4 /*yield*/, _super.prototype.setup.call(this)];
92
+ case 3:
93
+ _a.sent();
92
94
  return [2 /*return*/];
93
95
  }
94
96
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ListItem.js","sourceRoot":"","sources":["../../src/attributes/ListItem.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuC;AAGvC,wCAAqC;AAGrC;IAA8B,4BAAS;IAAvC;;IAuBA,CAAC;iBAvBY,QAAQ;IAMjB,sBAAW,0BAAI;aAAf;YACI,OAAO,IAAI,CAAC,KAAK,CAAC;QACtB,CAAC;;;OAAA;IAEY,wBAAK,GAAlB;;;;;;wBACI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;wBAC1D,IAAI,CAAC,IAAI,CAAC,KAAK;4BACX,MAAM,KAAK,CAAC,UAAQ,CAAC,eAAe,CAAC,CAAC;wBAE1C,KAAA,CAAA,KAAA,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA,CAAC,GAAG,CAAA;wBAAE,qBAAM,IAAI,CAAC,gBAAgB,EAAE,EAAA;;wBAAjD,cAAmB,CAAC,SAA6B,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC;wBAEjF,qBAAM,iBAAM,KAAK,WAAE,EAAA;;wBAAnB,SAAmB,CAAC;;;;;KACvB;IAEY,mCAAgB,GAA7B;;;;4BACW,qBAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAO,UAAU,CAAC,EAAA;4BAAtD,sBAAO,SAA+C,EAAC;;;;KAC1D;;IArBsB,iBAAQ,GAAY,KAAK,CAAC;IAC1B,eAAM,GAAY,IAAI,CAAC;IACvB,wBAAe,GAAG,0BAA0B,CAAC;IAH3D,QAAQ;QADpB,mBAAQ,CAAC,SAAS,CAAC,eAAe,CAAC;OACvB,QAAQ,CAuBpB;IAAD,eAAC;CAAA,AAvBD,CAA8B,qBAAS,GAuBtC;AAvBY,4BAAQ"}
1
+ {"version":3,"file":"ListItem.js","sourceRoot":"","sources":["../../src/attributes/ListItem.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuC;AAGvC,wCAAqC;AAGrC;IAA8B,4BAAS;IAAvC;;IAuBA,CAAC;iBAvBY,QAAQ;IAMjB,sBAAW,0BAAI;aAAf;YACI,OAAO,IAAI,CAAC,KAAK,CAAC;QACtB,CAAC;;;OAAA;IAEY,wBAAK,GAAlB;;;;;;wBACI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;wBAC1D,IAAI,CAAC,IAAI,CAAC,KAAK;4BACX,MAAM,KAAK,CAAC,UAAQ,CAAC,eAAe,CAAC,CAAC;wBAEzB,qBAAM,IAAI,CAAC,gBAAgB,EAAE,EAAA;;wBAAxC,QAAQ,GAAG,SAA6B;wBAC9C,qBAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,EAAA;;wBAArC,SAAqC,CAAC;wBACtC,qBAAM,iBAAM,KAAK,WAAE,EAAA;;wBAAnB,SAAmB,CAAC;;;;;KACvB;IAEY,mCAAgB,GAA7B;;;;4BACW,qBAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAO,UAAU,CAAC,EAAA;4BAAtD,sBAAO,SAA+C,EAAC;;;;KAC1D;;IArBsB,iBAAQ,GAAY,KAAK,CAAC;IAC1B,eAAM,GAAY,IAAI,CAAC;IACvB,wBAAe,GAAG,0BAA0B,CAAC;IAH3D,QAAQ;QADpB,mBAAQ,CAAC,SAAS,CAAC,eAAe,CAAC;OACvB,QAAQ,CAuBpB;IAAD,eAAC;CAAA,AAvBD,CAA8B,qBAAS,GAuBtC;AAvBY,4BAAQ"}
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const VERSION = "0.1.95";
1
+ export declare const VERSION = "0.1.96";
package/dist/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = '0.1.95';
4
+ exports.VERSION = '0.1.96';
5
5
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vsn",
3
- "version": "0.1.95",
3
+ "version": "0.1.96",
4
4
  "description": "SEO Friendly Javascript/Typescript Framework",
5
5
  "keywords": [
6
6
  "framework",
@@ -147,6 +147,17 @@ export class List extends Attribute {
147
147
 
148
148
  // Setup new tag
149
149
  const tag = await this.tag.dom.buildTag(element, true);
150
+
151
+ await this.setupTag(tag, obj);
152
+
153
+ // Add to DOM & build
154
+ this.tag.element.appendChild(element);
155
+ await this.tag.dom.buildFrom(this.tag.element);
156
+ this.tags.push(tag);
157
+ this.tag.dispatch('add', obj);
158
+ }
159
+
160
+ async setupTag(tag: Tag, obj: any) {
150
161
  tag.createScope(true);
151
162
 
152
163
  // Setup new scope & class, if defined
@@ -156,18 +167,14 @@ export class List extends Attribute {
156
167
  cls = await Registry.instance.models.get(modelName);
157
168
 
158
169
  if (cls) {
159
- if (!obj || !(obj instanceof cls)) {
170
+ if (!obj || !(obj instanceof cls))
160
171
  obj = new cls(obj);
161
- }
162
172
  }
163
173
 
164
- tag.scope.set(this.listItemName, tag.scope);
165
- tag.wrap(obj);
174
+ // Check if the class is set up already
175
+ if (!cls || (!(tag.scope.data instanceof cls) && !(tag.scope.wrapped instanceof cls)))
176
+ tag.wrap(obj);
166
177
 
167
- // Add to DOM & build
168
- this.tag.element.appendChild(element);
169
- await this.tag.dom.buildFrom(this.tag.element);
170
- this.tags.push(tag);
171
- this.tag.dispatch('add', obj);
178
+ tag.scope.set(this.listItemName, tag.scope);
172
179
  }
173
180
  }
@@ -19,8 +19,8 @@ export class ListItem extends Attribute {
19
19
  if (!this._list)
20
20
  throw Error(ListItem.ERROR_NO_PARENT);
21
21
 
22
- this.tag.scope.set((await this.getListAttribute()).listItemName, this.tag.scope);
23
-
22
+ const listAttr = await this.getListAttribute();
23
+ await listAttr.setupTag(this.tag, {});
24
24
  await super.setup();
25
25
  }
26
26
 
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = '0.1.95';
1
+ export const VERSION = '0.1.96';
2
2
 
@@ -89,15 +89,12 @@ describe('ListItem', () => {
89
89
 
90
90
  it("vsn-list-item should work with vsn-set", (done) => {
91
91
  document.body.innerHTML = `
92
- <ul vsn-list:list list-item-model="ListItemSpecTestItem" id="test"><li vsn-list-item:item id="test-item" vsn-set:item.testing|integer="1"></li></ul>
92
+ <ul vsn-list:list list-item-model="ListItemSpecTestItem" id="test"><li vsn-list-item id="test-item" vsn-set:item.testing|integer="1"></li></ul>
93
93
  `;
94
94
 
95
95
  const dom = new DOM(document);
96
96
  dom.once('built', async () => {
97
- const list = await dom.getTagForElement(document.getElementById('test'));
98
97
  const listItem = await dom.getTagForElement(document.getElementById('test-item'));
99
- const listItemAttr: ListItem = await listItem.getAttribute('vsn-list-item') as ListItem;
100
-
101
98
  expect(listItem.scope.get('testing')).toBe(1);
102
99
  done();
103
100
  });