@reidelsaltres/pureper 0.1.160 → 0.1.162
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/out/foundation/Triplet.d.ts.map +1 -1
- package/out/foundation/Triplet.js +4 -5
- package/out/foundation/Triplet.js.map +1 -1
- package/out/foundation/component_api/Component.d.ts +2 -2
- package/out/foundation/component_api/Component.d.ts.map +1 -1
- package/out/foundation/component_api/Component.js.map +1 -1
- package/out/foundation/component_api/UniHtml.d.ts +4 -10
- package/out/foundation/component_api/UniHtml.d.ts.map +1 -1
- package/out/foundation/component_api/UniHtml.js +7 -15
- package/out/foundation/component_api/UniHtml.js.map +1 -1
- package/out/foundation/engine/Rule.d.ts +2 -0
- package/out/foundation/engine/Rule.d.ts.map +1 -1
- package/out/foundation/engine/Rule.js.map +1 -1
- package/out/foundation/engine/Scope.d.ts +5 -1
- package/out/foundation/engine/Scope.d.ts.map +1 -1
- package/out/foundation/engine/Scope.js +12 -3
- package/out/foundation/engine/Scope.js.map +1 -1
- package/out/foundation/engine/TemplateEngine.d.ts +17 -0
- package/out/foundation/engine/TemplateEngine.d.ts.map +1 -1
- package/out/foundation/engine/TemplateEngine.js +51 -3
- package/out/foundation/engine/TemplateEngine.js.map +1 -1
- package/out/foundation/engine/TemplateInstance.d.ts +167 -47
- package/out/foundation/engine/TemplateInstance.d.ts.map +1 -1
- package/out/foundation/engine/TemplateInstance.js +500 -118
- package/out/foundation/engine/TemplateInstance.js.map +1 -1
- package/out/foundation/engine/TemplateInstance.old.d.ts +219 -0
- package/out/foundation/engine/TemplateInstance.old.d.ts.map +1 -0
- package/out/foundation/engine/TemplateInstance.old.js +487 -0
- package/out/foundation/engine/TemplateInstance.old.js.map +1 -0
- package/out/foundation/engine/rules/attribute/RefRule.d.ts.map +1 -1
- package/out/foundation/engine/rules/attribute/RefRule.js +7 -1
- package/out/foundation/engine/rules/attribute/RefRule.js.map +1 -1
- package/out/index.d.ts +0 -1
- package/out/index.d.ts.map +1 -1
- package/out/index.js +0 -1
- package/out/index.js.map +1 -1
- package/package.json +1 -1
- package/src/foundation/Triplet.ts +6 -6
- package/src/foundation/component_api/Component.ts +2 -1
- package/src/foundation/component_api/UniHtml.ts +12 -22
- package/src/foundation/engine/Rule.ts +2 -0
- package/src/foundation/engine/Scope.ts +13 -3
- package/src/foundation/engine/TemplateEngine.ts +79 -4
- package/src/foundation/engine/TemplateInstance.md +110 -0
- package/src/foundation/engine/TemplateInstance.old.ts +673 -0
- package/src/foundation/engine/TemplateInstance.ts +635 -147
- package/src/foundation/engine/rules/attribute/RefRule.ts +8 -1
- package/src/index.ts +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Triplet.d.ts","sourceRoot":"","sources":["../../src/foundation/Triplet.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,4BAA4B,CAAC;AAKjD,OAAO,EAAE,cAAc,EAAe,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"Triplet.d.ts","sourceRoot":"","sources":["../../src/foundation/Triplet.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,4BAA4B,CAAC;AAKjD,OAAO,EAAE,cAAc,EAAe,MAAM,gCAAgC,CAAC;AAK7E,oBAAY,UAAU;IAClB,IAAI,IAAI;IACR,OAAO,IAAS;IAChB,MAAM,IAAS;IACf,IAAI,IAAmB;CAC1B;AACD,MAAM,MAAM,aAAa,GAAG;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;CACnC,CAAA;AACD,MAAM,CAAC,OAAO,OAAO,OAAO;IACxB,SAAgB,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,SAAgB,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,SAAgB,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,SAAgB,EAAE,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAErC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAS;IAEhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IAEpC,OAAO,CAAC,GAAG,CAAC,CAA0B;gBAEnB,MAAM,EAAE,aAAa;IA6B3B,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAcxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuDhF,OAAO,CAAC,mBAAmB;CAgC9B"}
|
|
@@ -3,7 +3,7 @@ import { Router } from "./worker/Router.js";
|
|
|
3
3
|
import ServiceWorker from "./worker/ServiceWorker.js";
|
|
4
4
|
import Page from "./component_api/Page.js";
|
|
5
5
|
import Component from "./component_api/Component.js";
|
|
6
|
-
import
|
|
6
|
+
import TemplateEngine from './engine/TemplateEngine.js';
|
|
7
7
|
export var AccessType;
|
|
8
8
|
(function (AccessType) {
|
|
9
9
|
AccessType[AccessType["NONE"] = 0] = "NONE";
|
|
@@ -121,12 +121,12 @@ export default class Triplet {
|
|
|
121
121
|
}
|
|
122
122
|
};
|
|
123
123
|
let proto = ori.prototype;
|
|
124
|
-
const
|
|
124
|
+
const engine = new TemplateEngine(proto);
|
|
125
125
|
proto._init = async function () {
|
|
126
126
|
const markupText = await that.markup;
|
|
127
127
|
if (!markupText)
|
|
128
|
-
return
|
|
129
|
-
return
|
|
128
|
+
return engine.parse("");
|
|
129
|
+
return engine.parse(markupText);
|
|
130
130
|
};
|
|
131
131
|
proto._postInit = async function (preHtml) {
|
|
132
132
|
const dmc = this.shadowRoot ?? document;
|
|
@@ -136,7 +136,6 @@ export default class Triplet {
|
|
|
136
136
|
...dmc.adoptedStyleSheets,
|
|
137
137
|
style
|
|
138
138
|
];
|
|
139
|
-
//parser.hydrate(preHtml, this);
|
|
140
139
|
return preHtml;
|
|
141
140
|
};
|
|
142
141
|
return ori;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Triplet.js","sourceRoot":"","sources":["../../src/foundation/Triplet.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,IAAI,MAAM,yBAAyB,CAAC;AAC3C,OAAO,SAAS,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"Triplet.js","sourceRoot":"","sources":["../../src/foundation/Triplet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import IElementHolder from "../api/ElementHolder.js";
|
|
2
1
|
import UniHtml from "../component_api/UniHtml.js";
|
|
2
|
+
import TemplateInstance from "../engine/TemplateInstance.js";
|
|
3
3
|
import { Mixined } from "./mixin/Proto.js";
|
|
4
4
|
export default interface Component extends Mixined, HTMLElement, UniHtml {
|
|
5
5
|
}
|
|
@@ -23,7 +23,7 @@ export default class Component extends Component_base implements IUniHtmlCompone
|
|
|
23
23
|
* @deprecated Use onConnected instead.
|
|
24
24
|
*/
|
|
25
25
|
private connectedCallback;
|
|
26
|
-
protected render(element:
|
|
26
|
+
protected render(element: TemplateInstance, renderTarget: HTMLElement | ShadowRoot): Promise<void>;
|
|
27
27
|
/**
|
|
28
28
|
* @deprecated Use onDisconnected instead.
|
|
29
29
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.d.ts","sourceRoot":"","sources":["../../../src/foundation/component_api/Component.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Component.d.ts","sourceRoot":"","sources":["../../../src/foundation/component_api/Component.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAClD,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAE7D,OAAO,EAAS,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,CAAC,OAAO,WAAW,SAAU,SAAQ,OAAO,EAAE,WAAW,EAAE,OAAO;CAAI;;;;;;;AAC5E,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,cAA2C,YAAW,iBAAiB;IAC1G,OAAO,CAAC,WAAW,CAAmB;IAEtC,OAAO,CAAC,0BAA0B,CAAC,CAA2D;;IAK9F,WAAW,IAAI,IAAI;IAGnB,cAAc,IAAI,IAAI;IAGtB,OAAO,IAAI,IAAI;IAGf,SAAS,IAAI,IAAI;IAIjB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI;IAGpE,0BAA0B,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAKhG;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoBzB,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlG;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAG5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAG7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAGvB;;OAEG;IACH,OAAO,CAAC,wBAAwB;CAInC;AAED,MAAM,WAAW,iBAAiB;IAC9B,WAAW,IAAI,IAAI,CAAC;IACpB,cAAc,IAAI,IAAI,CAAC;IACvB,OAAO,IAAI,IAAI,CAAC;IAChB,SAAS,IAAI,IAAI,CAAC;IAElB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC;CACxE;AAED,MAAM,WAAW,wBAAwB;IACrC,iBAAiB,IAAI,IAAI,CAAC;IAC1B,oBAAoB,IAAI,IAAI,CAAC;IAC7B,qBAAqB,IAAI,IAAI,CAAC;IAC9B,eAAe,IAAI,IAAI,CAAC;IAExB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC;CAC9E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sourceRoot":"","sources":["../../../src/foundation/component_api/Component.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"Component.js","sourceRoot":"","sources":["../../../src/foundation/component_api/Component.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAGlD,OAAO,EAAE,KAAK,EAAW,MAAM,kBAAkB,CAAC;AAGlD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE;IACrE,WAAW,GAAgB,EAAE,CAAC;IAE9B,0BAA0B,CAA4D;IAC9F;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IAED,WAAW;IACX,CAAC;IAED,cAAc;IACd,CAAC;IAED,OAAO;IACP,CAAC;IAED,SAAS;IACT,CAAC;IAGD,kBAAkB,CAAC,IAAY,EAAE,QAAa,EAAE,QAAa;IAC7D,CAAC;IAED,0BAA0B,CAAC,QAA8D;QACrF,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,0BAA0B,IAAI,EAAE,CAAC;QACxE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACK,iBAAiB;QACrB,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAEpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC3B,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9B,IAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACH,IAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACnC,CAAC;gBACD,SAAS;YACb,CAAC;YACA,IAAY,CAAC,UAAU,CAAC,EAAS,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;IACS,MAAM,CAAC,OAAyB,EAAE,YAAsC;QAC9E,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,GAAG,EAAU,CAAA,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC9E,sCAAsC;QACtC,6CAA6C;QAC7C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD;;OAEG;IACK,oBAAoB;QACxB,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IACD;;OAEG;IACK,qBAAqB;QACzB,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;IACD;;OAEG;IACK,eAAe;QACnB,IAAI,CAAC,SAAS,EAAE,CAAC;IACrB,CAAC;IACD;;OAEG;IACK,wBAAwB,CAAC,IAAY,EAAE,QAAa,EAAE,QAAa;QACvE,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,0BAA0B,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjF,CAAC;CACJ"}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* Abstract base class for HTML components in Pureper SPA.
|
|
3
|
-
* Provides a unified lifecycle: init → preLoadJS → render → postLoadJS.
|
|
4
|
-
* Use static factory methods to create instances from an HTML file or string.
|
|
5
|
-
* Designed to replace legacy Page and Component base classes.
|
|
6
|
-
*/
|
|
7
|
-
import IElementHolder from "../api/ElementHolder.js";
|
|
1
|
+
import { TemplateInstance } from "../engine/TemplateEngine.js";
|
|
8
2
|
/**
|
|
9
3
|
* Universal SPA component base for pages and elements.
|
|
10
4
|
* Use static factory methods for instantiation.
|
|
@@ -25,20 +19,20 @@ export default class UniHtml {
|
|
|
25
19
|
* РЕКОМЕНДАЦИЯ: предпочитайте выполнять основную подготовку, поиск элементов, навешивание обработчиков
|
|
26
20
|
* на узлы из localRoot именно здесь; затем render() вставит их в целевой контейнер/теневой DOM.
|
|
27
21
|
*/
|
|
28
|
-
protected preLoad(
|
|
22
|
+
protected preLoad(template: TemplateInstance): Promise<void>;
|
|
29
23
|
/**
|
|
30
24
|
* Hook after rendering (e.g., event binding).
|
|
31
25
|
* Для компонентов вызывается после того, как содержимое вставлено в shadowRoot (см. UniHtmlComponent.render()).
|
|
32
26
|
* Используйте этот этап только когда необходим доступ к реально смонтированному DOM (layout/measurements,
|
|
33
27
|
* интеграции, требующие присутствия в документе). В остальных случаях предпочитайте preLoad().
|
|
34
28
|
*/
|
|
35
|
-
protected postLoad(
|
|
29
|
+
protected postLoad(template: TemplateInstance): Promise<void>;
|
|
36
30
|
/**
|
|
37
31
|
* Main rendering step. By default, simply inserts HTML into the container.
|
|
38
32
|
* Override in subclasses for custom rendering logic.
|
|
39
33
|
* @param element Target container
|
|
40
34
|
* @param html HTML content
|
|
41
35
|
*/
|
|
42
|
-
protected render(
|
|
36
|
+
protected render(template: TemplateInstance, renderTarget: HTMLElement | DocumentFragment): Promise<void>;
|
|
43
37
|
}
|
|
44
38
|
//# sourceMappingURL=UniHtml.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniHtml.d.ts","sourceRoot":"","sources":["../../../src/foundation/component_api/UniHtml.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UniHtml.d.ts","sourceRoot":"","sources":["../../../src/foundation/component_api/UniHtml.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAG/D;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,OAAO;IACxB;;;;OAIG;IACU,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;YAmBrD,SAAS;YAGT,KAAK;cAIH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IACxC;;;;;OAKG;cACa,OAAO,CAAC,QAAQ,EAAE,gBAAgB;IAClD;;;;;OAKG;cACa,QAAQ,CAAC,QAAQ,EAAE,gBAAgB;IACnD;;;;;OAKG;cACa,MAAM,CAAC,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,GAAG,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CASlH"}
|
|
@@ -13,19 +13,17 @@ export default class UniHtml {
|
|
|
13
13
|
await this.preInit();
|
|
14
14
|
const preHtml = await this._init();
|
|
15
15
|
const html = await this._postInit(preHtml);
|
|
16
|
-
const localRoot = html;
|
|
17
|
-
const holder = { element: localRoot };
|
|
18
16
|
// ВАЖНО: preLoad() вызывается ДО монтирования в DOM/Shadow DOM.
|
|
19
17
|
// Для компонентов (UniHtmlComponent) на этом этапе ещё нельзя полагаться на this.shadowRoot —
|
|
20
18
|
// используйте переданный localRoot для подготовки DOM, данных и навешивания обработчиков.
|
|
21
19
|
// Это предпочтительный этап инициализации для компонентов.
|
|
22
|
-
await this.preLoad(
|
|
20
|
+
await this.preLoad(html);
|
|
23
21
|
// render() отвечает за помещение содержимого из localRoot в конечную цель (renderTarget).
|
|
24
22
|
// В UniHtmlComponent.render() после вызова базового render() происходит добавление wrapper в shadowRoot.
|
|
25
|
-
await this.render(
|
|
23
|
+
await this.render(html, element);
|
|
26
24
|
// postLoad() вызывается ПОСЛЕ render(). Для компонентов к этому моменту содержимое уже добавлено
|
|
27
25
|
// внутрь shadowRoot, и можно безопасно работать с this.shadowRoot, измерениями layout и т.п.
|
|
28
|
-
await this.postLoad(
|
|
26
|
+
await this.postLoad(html);
|
|
29
27
|
}
|
|
30
28
|
async _postInit(html) {
|
|
31
29
|
throw new Error("Method not implemented.");
|
|
@@ -40,32 +38,26 @@ export default class UniHtml {
|
|
|
40
38
|
* РЕКОМЕНДАЦИЯ: предпочитайте выполнять основную подготовку, поиск элементов, навешивание обработчиков
|
|
41
39
|
* на узлы из localRoot именно здесь; затем render() вставит их в целевой контейнер/теневой DOM.
|
|
42
40
|
*/
|
|
43
|
-
async preLoad(
|
|
41
|
+
async preLoad(template) { }
|
|
44
42
|
/**
|
|
45
43
|
* Hook after rendering (e.g., event binding).
|
|
46
44
|
* Для компонентов вызывается после того, как содержимое вставлено в shadowRoot (см. UniHtmlComponent.render()).
|
|
47
45
|
* Используйте этот этап только когда необходим доступ к реально смонтированному DOM (layout/measurements,
|
|
48
46
|
* интеграции, требующие присутствия в документе). В остальных случаях предпочитайте preLoad().
|
|
49
47
|
*/
|
|
50
|
-
async postLoad(
|
|
48
|
+
async postLoad(template) { }
|
|
51
49
|
/**
|
|
52
50
|
* Main rendering step. By default, simply inserts HTML into the container.
|
|
53
51
|
* Override in subclasses for custom rendering logic.
|
|
54
52
|
* @param element Target container
|
|
55
53
|
* @param html HTML content
|
|
56
54
|
*/
|
|
57
|
-
async render(
|
|
55
|
+
async render(template, renderTarget) {
|
|
58
56
|
// Clear renderTarget
|
|
59
57
|
while (renderTarget.firstChild) {
|
|
60
58
|
renderTarget.removeChild(renderTarget.firstChild);
|
|
61
59
|
}
|
|
62
|
-
|
|
63
|
-
const children = Array.from(holder.element.childNodes);
|
|
64
|
-
for (const child of children) {
|
|
65
|
-
renderTarget.appendChild(child);
|
|
66
|
-
}
|
|
67
|
-
// Update holder to point to renderTarget (now contains the content)
|
|
68
|
-
holder.element = renderTarget;
|
|
60
|
+
template.bind(renderTarget);
|
|
69
61
|
return Promise.resolve();
|
|
70
62
|
}
|
|
71
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniHtml.js","sourceRoot":"","sources":["../../../src/foundation/component_api/UniHtml.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UniHtml.js","sourceRoot":"","sources":["../../../src/foundation/component_api/UniHtml.ts"],"names":[],"mappings":"AAWA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,OAAO;IACxB;;;;OAIG;IACI,KAAK,CAAC,IAAI,CAAC,OAAiC;QAAkB,CAAC;QAClE,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,OAAO,GAAqB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACrD,MAAM,IAAI,GAAqB,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAG7D,gEAAgE;QAChE,8FAA8F;QAC9F,0FAA0F;QAC1F,2DAA2D;QAC3D,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzB,0FAA0F;QAC1F,yGAAyG;QACzG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjC,iGAAiG;QACjG,6FAA6F;QAC7F,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,IAAsB;QAC1C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACO,KAAK,CAAC,KAAK;QACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAES,KAAK,CAAC,OAAO,KAAmB,CAAC;IAC3C;;;;;OAKG;IACO,KAAK,CAAC,OAAO,CAAC,QAA0B,IAAI,CAAC;IACvD;;;;;OAKG;IACO,KAAK,CAAC,QAAQ,CAAC,QAA0B,IAAI,CAAC;IACxD;;;;;OAKG;IACO,KAAK,CAAC,MAAM,CAAC,QAA0B,EAAE,YAA4C;QAC3F,qBAAqB;QACrB,OAAO,YAAY,CAAC,UAAU,EAAE,CAAC;YAC7B,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,YAAmB,CAAC,CAAC;QAEnC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rule.d.ts","sourceRoot":"","sources":["../../../src/foundation/engine/Rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAG/B;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;IACpB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Rule.d.ts","sourceRoot":"","sources":["../../../src/foundation/engine/Rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAG/B;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;IACpB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;IAClB,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,IAAI;IAC9B,6BAA6B;IAC7B,kBAAyB,IAAI,EAAE,MAAM,CAAC;IAEtC,wCAAwC;IACxC,kBAAyB,IAAI,EAAE,QAAQ,CAAC;IAExC,6CAA6C;IAC7C,SAAgB,QAAQ,EAAE,MAAM,CAAO;IAEvC;;;;OAIG;aACa,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE;IAEnD;;;;;OAKG;aACa,OAAO,CACnB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,KAAK,EACZ,MAAM,CAAC,EAAE,GAAG,GACb,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAEnC;;OAEG;IACI,kBAAkB,IAAI,OAAO;CAGvC;AAED;;;GAGG;AACH,8BAAsB,UAAW,SAAQ,IAAI;IACzC,SAAgB,IAAI,EAAE,QAAQ,CAAY;CAC7C;AAED;;;GAGG;AACH,8BAAsB,aAAc,SAAQ,IAAI;IAC5C,SAAgB,IAAI,EAAE,QAAQ,CAAe;IAE7C;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,CACvB,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,MAAM,GAC1B;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAqClE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rule.js","sourceRoot":"","sources":["../../../src/foundation/engine/Rule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Rule.js","sourceRoot":"","sources":["../../../src/foundation/engine/Rule.ts"],"names":[],"mappings":"AAoCA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAgB,IAAI;IAO9B,6CAA6C;IAC7B,QAAQ,GAAW,GAAG,CAAC;IAqBvC;;OAEG;IACI,kBAAkB;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,OAAgB,UAAW,SAAQ,IAAI;IACzB,IAAI,GAAa,QAAQ,CAAC;CAC7C;AAED;;;GAGG;AACH,MAAM,OAAgB,aAAc,SAAQ,IAAI;IAC5B,IAAI,GAAa,WAAW,CAAC;IAE7C;;;;;OAKG;IACO,iBAAiB,CACvB,QAAgB,EAChB,iBAAyB;QAEzB,kCAAkC;QAClC,IAAI,QAAQ,GAAG,iBAAiB,CAAC;QACjC,OAAO,QAAQ,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;YAChD,QAAQ,EAAE,CAAC;QACf,CAAC;QAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,mBAAmB;QACnB,IAAI,OAAO,GAAG,QAAQ,GAAG,CAAC,CAAC;QAC3B,OAAO,OAAO,GAAG,QAAQ,CAAC,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAC1E,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QAEtD,iBAAiB;QACjB,IAAI,MAAM,GAAG,iBAAiB,CAAC;QAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,OAAO,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC1C,QAAQ,GAAG,IAAI,CAAC;gBAChB,UAAU,GAAG,EAAE,CAAC;YACpB,CAAC;iBAAM,IAAI,QAAQ,IAAI,EAAE,KAAK,UAAU,EAAE,CAAC;gBACvC,QAAQ,GAAG,KAAK,CAAC;YACrB,CAAC;iBAAM,IAAI,CAAC,QAAQ,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACjC,MAAM;YACV,CAAC;YACD,MAAM,EAAE,CAAC;QACb,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;IACrD,CAAC;CACJ"}
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
export default class Scope {
|
|
6
6
|
private variables;
|
|
7
7
|
private readonly debugWarnings;
|
|
8
|
+
/** Оригинальный объект для синхронизации refs */
|
|
9
|
+
private originalSource;
|
|
8
10
|
constructor(options?: {
|
|
9
11
|
debugWarnings?: boolean;
|
|
10
12
|
});
|
|
@@ -14,8 +16,9 @@ export default class Scope {
|
|
|
14
16
|
getVariables(): Record<string, any>;
|
|
15
17
|
/**
|
|
16
18
|
* Установить переменную в Scope
|
|
19
|
+
* @param syncToOriginal - синхронизировать с оригинальным объектом (по умолчанию true)
|
|
17
20
|
*/
|
|
18
|
-
set(key: string, value: any): void;
|
|
21
|
+
set(key: string, value: any, syncToOriginal?: boolean): void;
|
|
19
22
|
/**
|
|
20
23
|
* Получить переменную из Scope
|
|
21
24
|
*/
|
|
@@ -45,6 +48,7 @@ export default class Scope {
|
|
|
45
48
|
extractFromObject(obj: object): Record<string, any>;
|
|
46
49
|
/**
|
|
47
50
|
* Статический метод для создания Scope из объекта
|
|
51
|
+
* Сохраняет ссылку на оригинальный объект для синхронизации refs
|
|
48
52
|
*/
|
|
49
53
|
static from(source: object | Record<string, any>, options?: {
|
|
50
54
|
debugWarnings?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scope.d.ts","sourceRoot":"","sources":["../../../src/foundation/engine/Scope.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,KAAK;IACtB,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;
|
|
1
|
+
{"version":3,"file":"Scope.d.ts","sourceRoot":"","sources":["../../../src/foundation/engine/Scope.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,KAAK;IACtB,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IACxC,iDAAiD;IACjD,OAAO,CAAC,cAAc,CAAuB;gBAEjC,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE;IAIjD;;OAEG;IACI,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAI1C;;;OAGG;IACI,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,GAAE,OAAc,GAAG,IAAI;IAYzE;;OAEG;IACI,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAI5B;;OAEG;IACI,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIhC;;OAEG;IACI,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAQnC;;;OAGG;IACI,KAAK,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,KAAK;IAejE;;;OAGG;IACI,WAAW,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK;IAa/D;;;OAGG;IACI,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAoD1D;;;OAGG;WACW,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,KAAK;IAOtG;;OAEG;WACW,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,KAAK;CAOrF"}
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
export default class Scope {
|
|
6
6
|
variables = {};
|
|
7
7
|
debugWarnings;
|
|
8
|
+
/** Оригинальный объект для синхронизации refs */
|
|
9
|
+
originalSource = null;
|
|
8
10
|
constructor(options) {
|
|
9
11
|
this.debugWarnings = options?.debugWarnings ?? true;
|
|
10
12
|
}
|
|
@@ -16,12 +18,17 @@ export default class Scope {
|
|
|
16
18
|
}
|
|
17
19
|
/**
|
|
18
20
|
* Установить переменную в Scope
|
|
21
|
+
* @param syncToOriginal - синхронизировать с оригинальным объектом (по умолчанию true)
|
|
19
22
|
*/
|
|
20
|
-
set(key, value) {
|
|
21
|
-
if (this.debugWarnings && key in this.variables) {
|
|
22
|
-
|
|
23
|
+
set(key, value, syncToOriginal = true) {
|
|
24
|
+
if (this.debugWarnings && key in this.variables && this.variables[key] !== undefined) {
|
|
25
|
+
// Не предупреждаем при установке ref (значение было undefined)
|
|
23
26
|
}
|
|
24
27
|
this.variables[key] = value;
|
|
28
|
+
// Синхронизируем с оригинальным объектом если он есть
|
|
29
|
+
if (syncToOriginal && this.originalSource) {
|
|
30
|
+
this.originalSource[key] = value;
|
|
31
|
+
}
|
|
25
32
|
}
|
|
26
33
|
/**
|
|
27
34
|
* Получить переменную из Scope
|
|
@@ -127,9 +134,11 @@ export default class Scope {
|
|
|
127
134
|
}
|
|
128
135
|
/**
|
|
129
136
|
* Статический метод для создания Scope из объекта
|
|
137
|
+
* Сохраняет ссылку на оригинальный объект для синхронизации refs
|
|
130
138
|
*/
|
|
131
139
|
static from(source, options) {
|
|
132
140
|
const scope = new Scope(options);
|
|
141
|
+
scope.originalSource = source;
|
|
133
142
|
scope.merge(source);
|
|
134
143
|
return scope;
|
|
135
144
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scope.js","sourceRoot":"","sources":["../../../src/foundation/engine/Scope.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,KAAK;IACd,SAAS,GAAwB,EAAE,CAAC;IAC3B,aAAa,CAAU;
|
|
1
|
+
{"version":3,"file":"Scope.js","sourceRoot":"","sources":["../../../src/foundation/engine/Scope.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,8 @@ export interface ProcessResult {
|
|
|
25
25
|
output: string;
|
|
26
26
|
observables: Observable<any>[];
|
|
27
27
|
sections: TemplateSection[];
|
|
28
|
+
/** ID созданного фрагмента (если был создан) */
|
|
29
|
+
fragmentId?: string;
|
|
28
30
|
}
|
|
29
31
|
/**
|
|
30
32
|
* TemplateEngine - главный класс шаблонизатора.
|
|
@@ -52,6 +54,10 @@ export default class TemplateEngine {
|
|
|
52
54
|
* Обработать шаблон и вернуть TemplateInstance
|
|
53
55
|
*/
|
|
54
56
|
parse(template: string): TemplateInstance;
|
|
57
|
+
/**
|
|
58
|
+
* Обработать шаблон с созданием фрагментов
|
|
59
|
+
*/
|
|
60
|
+
private processTemplateWithFragments;
|
|
55
61
|
/**
|
|
56
62
|
* Обработать шаблон (внутренний метод, используется Rule для рекурсии)
|
|
57
63
|
*/
|
|
@@ -64,6 +70,17 @@ export default class TemplateEngine {
|
|
|
64
70
|
* Удалить синтаксис атрибутивных Rule из финального HTML
|
|
65
71
|
*/
|
|
66
72
|
private removeAttributeSyntax;
|
|
73
|
+
/**
|
|
74
|
+
* Добавить новый шаблон в существующий TemplateInstance.
|
|
75
|
+
* Обрабатывает шаблон и добавляет результат как новый фрагмент.
|
|
76
|
+
* Если instance привязан к контейнерам, DOM обновится автоматически.
|
|
77
|
+
*
|
|
78
|
+
* @param instance - существующий TemplateInstance
|
|
79
|
+
* @param template - новый шаблон для добавления
|
|
80
|
+
* @param customScope - опциональный scope для нового шаблона
|
|
81
|
+
* @returns ID созданного фрагмента
|
|
82
|
+
*/
|
|
83
|
+
appendTemplate(instance: TemplateInstance, template: string, customScope?: Scope | object): string;
|
|
67
84
|
/**
|
|
68
85
|
* Статический метод для быстрой обработки
|
|
69
86
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TemplateEngine.d.ts","sourceRoot":"","sources":["../../../src/foundation/engine/TemplateEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAEzC,OAAO,gBAAgB,EAAE,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"TemplateEngine.d.ts","sourceRoot":"","sources":["../../../src/foundation/engine/TemplateEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAEzC,OAAO,gBAAgB,EAAE,EAAE,eAAe,EAAmB,MAAM,uBAAuB,CAAC;AAC3F,OAAO,IAAI,EAAE,EAAyB,UAAU,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACnF,OAAO,UAAU,MAAM,oBAAoB,CAAC;AAG5C,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAC9D,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAC9C,OAAO,OAAO,MAAM,2BAA2B,CAAC;AAChD,OAAO,OAAO,MAAM,8BAA8B,CAAC;AACnD,OAAO,SAAS,MAAM,gCAAgC,CAAC;AACvD,OAAO,aAAa,MAAM,oCAAoC,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sCAAsC;IACtC,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;IAC/B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;gBAE1C,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB;IAYlE;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;OAEG;IACI,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAUhC;;OAEG;IACI,QAAQ,IAAI,KAAK;IAIxB;;OAEG;IACI,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB;IAwBhD;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAsBpC;;OAEG;IACI,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,aAAa;IAyCrE;;OAEG;IACH,OAAO,CAAC,WAAW;IA8CnB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;;;;;;;;OASG;IACI,cAAc,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM;IAiCzG;;OAEG;WACW,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,MAAM;IAM/F;;OAEG;WACW,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,gBAAgB;CAI3G;AAGD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;AAC9E,cAAc,oCAAoC,CAAC"}
|
|
@@ -68,9 +68,13 @@ export default class TemplateEngine {
|
|
|
68
68
|
* Обработать шаблон и вернуть TemplateInstance
|
|
69
69
|
*/
|
|
70
70
|
parse(template) {
|
|
71
|
-
const
|
|
72
|
-
const
|
|
73
|
-
//
|
|
71
|
+
const templateInstance = new TemplateInstance(this.scope);
|
|
72
|
+
const result = this.processTemplateWithFragments(template, this.scope, templateInstance, null);
|
|
73
|
+
// Устанавливаем корневой фрагмент
|
|
74
|
+
if (result.fragmentId) {
|
|
75
|
+
templateInstance.setRootFragment(result.fragmentId);
|
|
76
|
+
}
|
|
77
|
+
// Add sections and track observables
|
|
74
78
|
for (const section of result.sections) {
|
|
75
79
|
templateInstance.addSection(section);
|
|
76
80
|
// Track observables
|
|
@@ -82,6 +86,18 @@ export default class TemplateEngine {
|
|
|
82
86
|
}
|
|
83
87
|
return templateInstance;
|
|
84
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Обработать шаблон с созданием фрагментов
|
|
91
|
+
*/
|
|
92
|
+
processTemplateWithFragments(template, scope, instance, parentFragmentId) {
|
|
93
|
+
const result = this.processTemplate(template, scope);
|
|
94
|
+
// Создаём фрагмент для этого результата
|
|
95
|
+
const fragmentId = instance.createFragment(result.output, template, result.sections, parentFragmentId);
|
|
96
|
+
return {
|
|
97
|
+
...result,
|
|
98
|
+
fragmentId
|
|
99
|
+
};
|
|
100
|
+
}
|
|
85
101
|
/**
|
|
86
102
|
* Обработать шаблон (внутренний метод, используется Rule для рекурсии)
|
|
87
103
|
*/
|
|
@@ -164,6 +180,38 @@ export default class TemplateEngine {
|
|
|
164
180
|
.replace(/@on\[[a-zA-Z]+\]\s*=\s*["'][^"']*["']/gi, '')
|
|
165
181
|
.replace(/@injection\[(head|tail)\]\s*=\s*["'][^"']*["']/gi, '');
|
|
166
182
|
}
|
|
183
|
+
/**
|
|
184
|
+
* Добавить новый шаблон в существующий TemplateInstance.
|
|
185
|
+
* Обрабатывает шаблон и добавляет результат как новый фрагмент.
|
|
186
|
+
* Если instance привязан к контейнерам, DOM обновится автоматически.
|
|
187
|
+
*
|
|
188
|
+
* @param instance - существующий TemplateInstance
|
|
189
|
+
* @param template - новый шаблон для добавления
|
|
190
|
+
* @param customScope - опциональный scope для нового шаблона
|
|
191
|
+
* @returns ID созданного фрагмента
|
|
192
|
+
*/
|
|
193
|
+
appendTemplate(instance, template, customScope) {
|
|
194
|
+
const scope = customScope
|
|
195
|
+
? (customScope instanceof Scope ? customScope : Scope.from(customScope))
|
|
196
|
+
: instance.getScope();
|
|
197
|
+
// Обрабатываем шаблон
|
|
198
|
+
const result = this.processTemplate(template, scope);
|
|
199
|
+
// Создаём фрагмент
|
|
200
|
+
const fragmentId = instance.createFragment(result.output, template, result.sections, null // без родителя - это отдельный фрагмент
|
|
201
|
+
);
|
|
202
|
+
// Добавляем секции и отслеживаем Observable
|
|
203
|
+
for (const section of result.sections) {
|
|
204
|
+
instance.addSection(section);
|
|
205
|
+
for (const observable of section.result.observables || []) {
|
|
206
|
+
instance.trackObservable(observable, section, (s) => {
|
|
207
|
+
return this.processTemplate(s.sourceTemplate, scope);
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
// Вставляем в привязанные контейнеры
|
|
212
|
+
instance.insertAppendedFragment(fragmentId);
|
|
213
|
+
return fragmentId;
|
|
214
|
+
}
|
|
167
215
|
/**
|
|
168
216
|
* Статический метод для быстрой обработки
|
|
169
217
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TemplateEngine.js","sourceRoot":"","sources":["../../../src/foundation/engine/TemplateEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"TemplateEngine.js","sourceRoot":"","sources":["../../../src/foundation/engine/TemplateEngine.ts"],"names":[],"mappings":"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"}
|