croco-html 2.31.0 → 2.33.0

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.
@@ -1,25 +1,50 @@
1
- import { Component, Input } from '@angular/core';
1
+ import { Component, Inject, Input, ViewChild, ViewContainerRef } from '@angular/core';
2
2
  import { MatTooltip } from "@angular/material/tooltip";
3
+ import { CrocoHtmlOptionsToken } from "../../../consts";
3
4
  import * as i0 from "@angular/core";
4
5
  export class XmlTagCustomWidgetComponent {
5
- constructor() {
6
- this.tooltipData = "";
7
- }
8
6
  set tagData(value) {
9
- this._tagData = value;
10
- this.tooltipData = `data-id:${value.dataId}; widget-id: ${value.widgetId}`;
7
+ if (value) {
8
+ this._tagData = value;
9
+ this.tooltipData = `data-id:${value.dataId}; widget-id: ${value.widgetId}`;
10
+ if (this.dynamicContainerRef?.instance) {
11
+ this.dynamicContainerRef.instance.tagData = value;
12
+ }
13
+ }
11
14
  }
12
15
  ;
13
16
  get tagData() {
14
17
  return this._tagData;
15
18
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: XmlTagCustomWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: XmlTagCustomWidgetComponent, isStandalone: true, selector: "croco-html-xml-tag-custom-widget", inputs: { tagData: "tagData" }, ngImport: i0, template: "<div [matTooltip]=\"tooltipData\">\n \u0432\u0438\u0434\u0436\u0435\u0442 \u0442\u0438\u043F\u0430 {{ tagData.type }}\n</div>\n\n\n", styles: [":host div{background-color:#a3ded5;padding:5px 10px;display:inline-block;border-radius:10px}\n"], dependencies: [{ kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
19
+ constructor(_options) {
20
+ this._options = _options;
21
+ this.tooltipData = "";
22
+ this.useDynamicComponent = false;
23
+ }
24
+ ngOnInit() {
25
+ if (this._options.customWidgetRendererComponent) {
26
+ this.useDynamicComponent = true;
27
+ this.viewContainerRef.remove();
28
+ this.dynamicContainerRef = this.viewContainerRef.createComponent(this._options.customWidgetRendererComponent);
29
+ this.dynamicContainerRef.setInput("tagData", this.tagData);
30
+ }
31
+ }
32
+ ngOnDestroy() {
33
+ this.dynamicContainerRef.destroy();
34
+ }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: XmlTagCustomWidgetComponent, deps: [{ token: CrocoHtmlOptionsToken }], target: i0.ɵɵFactoryTarget.Component }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.4", type: XmlTagCustomWidgetComponent, isStandalone: true, selector: "croco-html-xml-tag-custom-widget", inputs: { tagData: "tagData" }, viewQueries: [{ propertyName: "viewContainerRef", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<ng-container #container>\n @if (!useDynamicComponent) {\n <div [matTooltip]=\"tooltipData\">\n \u041A\u0430\u0441\u0442\u043E\u043C\u043D\u044B\u0439 \u0432\u0438\u0434\u0436\u0435\u0442. \u0442\u0438\u043F \u0432\u0438\u0434\u0436\u0435\u0442\u0430: {{ tagData?.type }}\n </div>\n }\n</ng-container>\n\n", styles: [":host div{background-color:#a3ded5;padding:5px 10px;display:inline-block;border-radius:10px}\n"], dependencies: [{ kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
18
37
  }
19
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: XmlTagCustomWidgetComponent, decorators: [{
20
39
  type: Component,
21
- args: [{ selector: 'croco-html-xml-tag-custom-widget', imports: [MatTooltip], standalone: true, template: "<div [matTooltip]=\"tooltipData\">\n \u0432\u0438\u0434\u0436\u0435\u0442 \u0442\u0438\u043F\u0430 {{ tagData.type }}\n</div>\n\n\n", styles: [":host div{background-color:#a3ded5;padding:5px 10px;display:inline-block;border-radius:10px}\n"] }]
22
- }], propDecorators: { tagData: [{
40
+ args: [{ selector: 'croco-html-xml-tag-custom-widget', imports: [MatTooltip], standalone: true, template: "<ng-container #container>\n @if (!useDynamicComponent) {\n <div [matTooltip]=\"tooltipData\">\n \u041A\u0430\u0441\u0442\u043E\u043C\u043D\u044B\u0439 \u0432\u0438\u0434\u0436\u0435\u0442. \u0442\u0438\u043F \u0432\u0438\u0434\u0436\u0435\u0442\u0430: {{ tagData?.type }}\n </div>\n }\n</ng-container>\n\n", styles: [":host div{background-color:#a3ded5;padding:5px 10px;display:inline-block;border-radius:10px}\n"] }]
41
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
42
+ type: Inject,
43
+ args: [CrocoHtmlOptionsToken]
44
+ }] }], propDecorators: { viewContainerRef: [{
45
+ type: ViewChild,
46
+ args: ['container', { read: ViewContainerRef, static: true }]
47
+ }], tagData: [{
23
48
  type: Input
24
49
  }] } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1sLXRhZy1jdXN0b20td2lkZ2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL3htbC10YWdzL3htbC10YWctY3VzdG9tLXdpZGdldC94bWwtdGFnLWN1c3RvbS13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2NvbXBvbmVudHMveG1sLXRhZ3MveG1sLXRhZy1jdXN0b20td2lkZ2V0L3htbC10YWctY3VzdG9tLXdpZGdldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUvQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7O0FBU3JELE1BQU0sT0FBTywyQkFBMkI7SUFQeEM7UUFtQlMsZ0JBQVcsR0FBVyxFQUFFLENBQUM7S0FDakM7SUFaQyxJQUNXLE9BQU8sQ0FBQyxLQUEwQjtRQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsS0FBSyxDQUFDLE1BQU0sZ0JBQWdCLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3RSxDQUFDO0lBQUEsQ0FBQztJQUVGLElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQzs4R0FUVSwyQkFBMkI7a0dBQTNCLDJCQUEyQiw0SENYeEMsc0lBS0Esd0pER1ksVUFBVTs7MkZBR1QsMkJBQTJCO2tCQVB2QyxTQUFTOytCQUNFLGtDQUFrQyxXQUduQyxDQUFDLFVBQVUsQ0FBQyxjQUNULElBQUk7OEJBSUwsT0FBTztzQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0N1c3RvbVdpZGdldFRhZ0RhdGF9IGZyb20gXCIuLi8uLi8uLi9leHRlbnNpb25zXCI7XG5pbXBvcnQge01hdFRvb2x0aXB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nyb2NvLWh0bWwteG1sLXRhZy1jdXN0b20td2lkZ2V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3htbC10YWctY3VzdG9tLXdpZGdldC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3htbC10YWctY3VzdG9tLXdpZGdldC5jb21wb25lbnQuY3NzJ10sXG4gIGltcG9ydHM6IFtNYXRUb29sdGlwXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBYbWxUYWdDdXN0b21XaWRnZXRDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRhZ0RhdGEodmFsdWU6IEN1c3RvbVdpZGdldFRhZ0RhdGEpIHtcbiAgICB0aGlzLl90YWdEYXRhID0gdmFsdWU7XG4gICAgdGhpcy50b29sdGlwRGF0YSA9IGBkYXRhLWlkOiR7dmFsdWUuZGF0YUlkfTsgd2lkZ2V0LWlkOiAke3ZhbHVlLndpZGdldElkfWA7XG4gIH07XG5cbiAgcHVibGljIGdldCB0YWdEYXRhKCk6IEN1c3RvbVdpZGdldFRhZ0RhdGEge1xuICAgIHJldHVybiB0aGlzLl90YWdEYXRhO1xuICB9XG5cbiAgcHVibGljIF90YWdEYXRhOiBDdXN0b21XaWRnZXRUYWdEYXRhO1xuICBwdWJsaWMgdG9vbHRpcERhdGE6IHN0cmluZyA9IFwiXCI7XG59XG4iLCI8ZGl2IFttYXRUb29sdGlwXT1cInRvb2x0aXBEYXRhXCI+XG4gINCy0LjQtNC20LXRgiDRgtC40L/QsCB7eyB0YWdEYXRhLnR5cGUgfX1cbjwvZGl2PlxuXG5cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1sLXRhZy1jdXN0b20td2lkZ2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL3htbC10YWdzL3htbC10YWctY3VzdG9tLXdpZGdldC94bWwtdGFnLWN1c3RvbS13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2NvbXBvbmVudHMveG1sLXRhZ3MveG1sLXRhZy1jdXN0b20td2lkZ2V0L3htbC10YWctY3VzdG9tLXdpZGdldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULE1BQU0sRUFDTixLQUFLLEVBR0wsU0FBUyxFQUNULGdCQUFnQixFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0saUJBQWlCLENBQUM7O0FBVXRELE1BQU0sT0FBTywyQkFBMkI7SUFJdEMsSUFDVyxPQUFPLENBQUMsS0FBMEI7UUFDM0MsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxLQUFLLENBQUMsTUFBTSxnQkFBZ0IsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzNFLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxDQUFDO2dCQUN2QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDcEQsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQUEsQ0FBQztJQUVGLElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQVFELFlBQ29ELFFBQTBCO1FBQTFCLGFBQVEsR0FBUixRQUFRLENBQWtCO1FBTnZFLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLHdCQUFtQixHQUFHLEtBQUssQ0FBQztJQU9uQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1lBQ2hELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7WUFDaEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsNkJBQTZCLENBQUMsQ0FBQztZQUM5RyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0QsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JDLENBQUM7OEdBekNVLDJCQUEyQixrQkEwQjFCLHFCQUFxQjtrR0ExQnRCLDJCQUEyQixzTkFDUCxnQkFBZ0IsMkNDdkJqRCxpVUFRQSx3SkRXWSxVQUFVOzsyRkFHVCwyQkFBMkI7a0JBUHZDLFNBQVM7K0JBQ0Usa0NBQWtDLFdBR25DLENBQUMsVUFBVSxDQUFDLGNBQ1QsSUFBSTs7MEJBNEJYLE1BQU07MkJBQUMscUJBQXFCO3lDQXhCakMsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBSW5ELE9BQU87c0JBRGpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENvbXBvbmVudFJlZixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q3VzdG9tV2lkZ2V0VGFnRGF0YX0gZnJvbSBcIi4uLy4uLy4uL2V4dGVuc2lvbnNcIjtcbmltcG9ydCB7TWF0VG9vbHRpcH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXBcIjtcbmltcG9ydCB7Q3JvY29IdG1sT3B0aW9uc1Rva2VufSBmcm9tIFwiLi4vLi4vLi4vY29uc3RzXCI7XG5pbXBvcnQge0Nyb2NvSHRtbE9wdGlvbnN9IGZyb20gXCIuLi8uLi8uLi9vcHRpb25zXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nyb2NvLWh0bWwteG1sLXRhZy1jdXN0b20td2lkZ2V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3htbC10YWctY3VzdG9tLXdpZGdldC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3htbC10YWctY3VzdG9tLXdpZGdldC5jb21wb25lbnQuY3NzJ10sXG4gIGltcG9ydHM6IFtNYXRUb29sdGlwXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBYbWxUYWdDdXN0b21XaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHtyZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IHRydWV9KVxuICB2aWV3Q29udGFpbmVyUmVmITogVmlld0NvbnRhaW5lclJlZjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRhZ0RhdGEodmFsdWU6IEN1c3RvbVdpZGdldFRhZ0RhdGEpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuX3RhZ0RhdGEgPSB2YWx1ZTtcbiAgICAgIHRoaXMudG9vbHRpcERhdGEgPSBgZGF0YS1pZDoke3ZhbHVlLmRhdGFJZH07IHdpZGdldC1pZDogJHt2YWx1ZS53aWRnZXRJZH1gO1xuICAgICAgaWYgKHRoaXMuZHluYW1pY0NvbnRhaW5lclJlZj8uaW5zdGFuY2UpIHtcbiAgICAgICAgdGhpcy5keW5hbWljQ29udGFpbmVyUmVmLmluc3RhbmNlLnRhZ0RhdGEgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgcHVibGljIGdldCB0YWdEYXRhKCk6IEN1c3RvbVdpZGdldFRhZ0RhdGEge1xuICAgIHJldHVybiB0aGlzLl90YWdEYXRhO1xuICB9XG5cbiAgcHVibGljIF90YWdEYXRhOiBDdXN0b21XaWRnZXRUYWdEYXRhO1xuICBwdWJsaWMgdG9vbHRpcERhdGE6IHN0cmluZyA9IFwiXCI7XG4gIHB1YmxpYyB1c2VEeW5hbWljQ29tcG9uZW50ID0gZmFsc2U7XG5cbiAgcHVibGljIGR5bmFtaWNDb250YWluZXJSZWY6IENvbXBvbmVudFJlZjxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgQEluamVjdChDcm9jb0h0bWxPcHRpb25zVG9rZW4pIHByaXZhdGUgcmVhZG9ubHkgX29wdGlvbnM6IENyb2NvSHRtbE9wdGlvbnNcbiAgKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fb3B0aW9ucy5jdXN0b21XaWRnZXRSZW5kZXJlckNvbXBvbmVudCkge1xuICAgICAgdGhpcy51c2VEeW5hbWljQ29tcG9uZW50ID0gdHJ1ZTtcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5yZW1vdmUoKTtcbiAgICAgIHRoaXMuZHluYW1pY0NvbnRhaW5lclJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQodGhpcy5fb3B0aW9ucy5jdXN0b21XaWRnZXRSZW5kZXJlckNvbXBvbmVudCk7XG4gICAgICB0aGlzLmR5bmFtaWNDb250YWluZXJSZWYuc2V0SW5wdXQoXCJ0YWdEYXRhXCIsIHRoaXMudGFnRGF0YSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5keW5hbWljQ29udGFpbmVyUmVmLmRlc3Ryb3koKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAjY29udGFpbmVyPlxuICBAaWYgKCF1c2VEeW5hbWljQ29tcG9uZW50KSB7XG4gICAgPGRpdiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwRGF0YVwiPlxuICAgICAgINCa0LDRgdGC0L7QvNC90YvQuSDQstC40LTQttC10YIuINGC0LjQvyDQstC40LTQttC10YLQsDoge3sgdGFnRGF0YT8udHlwZSB9fVxuICAgIDwvZGl2PlxuICB9XG48L25nLWNvbnRhaW5lcj5cblxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcm9jby1odG1sL3NyYy9saWIvb3B0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSU1lZGlhUmVxdWVzdCB9IGZyb20gXCIuLi9leHRlbnNpb25zXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JvY29IdG1sT3B0aW9ucyB7XG4gICAgcHVibGljSW1hZ2VSZXNpemVkVXJsRm9ybWF0OiBzdHJpbmc7XG4gICAgZ2xvYmFsTWVkaWFSZXF1ZXN0cz86IElNZWRpYVJlcXVlc3RbXTtcbn0iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcm9jby1odG1sL3NyYy9saWIvb3B0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJTWVkaWFSZXF1ZXN0fSBmcm9tIFwiLi4vZXh0ZW5zaW9uc1wiO1xuaW1wb3J0IHtUeXBlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENyb2NvSHRtbE9wdGlvbnMge1xuICBwdWJsaWNJbWFnZVJlc2l6ZWRVcmxGb3JtYXQ6IHN0cmluZztcbiAgZ2xvYmFsTWVkaWFSZXF1ZXN0cz86IElNZWRpYVJlcXVlc3RbXTtcblxuICAvKipcbiAgICog0JrQvtC80L/QvtC90LXQvdGCINC00LvRjyDRgNC10L3QtNC10YDQsCDQutCw0YHRgtC+0LzQvdGL0YUg0LLQuNC00LbQtdGC0L7QslxuICAgKi9cbiAgY3VzdG9tV2lkZ2V0UmVuZGVyZXJDb21wb25lbnQ/OiBUeXBlPGFueT47XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Inject, EventEmitter, Component, ViewChild, Input, Output, ChangeDetectionStrategy, Pipe, ViewEncapsulation, NgModule } from '@angular/core';
2
+ import { Injectable, Inject, EventEmitter, Component, ViewChild, Input, Output, ChangeDetectionStrategy, Pipe, ViewContainerRef, ViewEncapsulation, NgModule } from '@angular/core';
3
3
  import * as i2 from '@angular/material/button';
4
4
  import { MatButton, MatButtonModule, MatIconButton } from '@angular/material/button';
5
5
  import * as i1 from '@angular/common/http';
@@ -1520,24 +1520,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
1520
1520
  }] } });
1521
1521
 
1522
1522
  class XmlTagCustomWidgetComponent {
1523
- constructor() {
1524
- this.tooltipData = "";
1525
- }
1526
1523
  set tagData(value) {
1527
- this._tagData = value;
1528
- this.tooltipData = `data-id:${value.dataId}; widget-id: ${value.widgetId}`;
1524
+ if (value) {
1525
+ this._tagData = value;
1526
+ this.tooltipData = `data-id:${value.dataId}; widget-id: ${value.widgetId}`;
1527
+ if (this.dynamicContainerRef?.instance) {
1528
+ this.dynamicContainerRef.instance.tagData = value;
1529
+ }
1530
+ }
1529
1531
  }
1530
1532
  ;
1531
1533
  get tagData() {
1532
1534
  return this._tagData;
1533
1535
  }
1534
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: XmlTagCustomWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1535
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: XmlTagCustomWidgetComponent, isStandalone: true, selector: "croco-html-xml-tag-custom-widget", inputs: { tagData: "tagData" }, ngImport: i0, template: "<div [matTooltip]=\"tooltipData\">\n \u0432\u0438\u0434\u0436\u0435\u0442 \u0442\u0438\u043F\u0430 {{ tagData.type }}\n</div>\n\n\n", styles: [":host div{background-color:#a3ded5;padding:5px 10px;display:inline-block;border-radius:10px}\n"], dependencies: [{ kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
1536
+ constructor(_options) {
1537
+ this._options = _options;
1538
+ this.tooltipData = "";
1539
+ this.useDynamicComponent = false;
1540
+ }
1541
+ ngOnInit() {
1542
+ if (this._options.customWidgetRendererComponent) {
1543
+ this.useDynamicComponent = true;
1544
+ this.viewContainerRef.remove();
1545
+ this.dynamicContainerRef = this.viewContainerRef.createComponent(this._options.customWidgetRendererComponent);
1546
+ this.dynamicContainerRef.setInput("tagData", this.tagData);
1547
+ }
1548
+ }
1549
+ ngOnDestroy() {
1550
+ this.dynamicContainerRef.destroy();
1551
+ }
1552
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: XmlTagCustomWidgetComponent, deps: [{ token: CrocoHtmlOptionsToken }], target: i0.ɵɵFactoryTarget.Component }); }
1553
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.4", type: XmlTagCustomWidgetComponent, isStandalone: true, selector: "croco-html-xml-tag-custom-widget", inputs: { tagData: "tagData" }, viewQueries: [{ propertyName: "viewContainerRef", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<ng-container #container>\n @if (!useDynamicComponent) {\n <div [matTooltip]=\"tooltipData\">\n \u041A\u0430\u0441\u0442\u043E\u043C\u043D\u044B\u0439 \u0432\u0438\u0434\u0436\u0435\u0442. \u0442\u0438\u043F \u0432\u0438\u0434\u0436\u0435\u0442\u0430: {{ tagData?.type }}\n </div>\n }\n</ng-container>\n\n", styles: [":host div{background-color:#a3ded5;padding:5px 10px;display:inline-block;border-radius:10px}\n"], dependencies: [{ kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
1536
1554
  }
1537
1555
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: XmlTagCustomWidgetComponent, decorators: [{
1538
1556
  type: Component,
1539
- args: [{ selector: 'croco-html-xml-tag-custom-widget', imports: [MatTooltip], standalone: true, template: "<div [matTooltip]=\"tooltipData\">\n \u0432\u0438\u0434\u0436\u0435\u0442 \u0442\u0438\u043F\u0430 {{ tagData.type }}\n</div>\n\n\n", styles: [":host div{background-color:#a3ded5;padding:5px 10px;display:inline-block;border-radius:10px}\n"] }]
1540
- }], propDecorators: { tagData: [{
1557
+ args: [{ selector: 'croco-html-xml-tag-custom-widget', imports: [MatTooltip], standalone: true, template: "<ng-container #container>\n @if (!useDynamicComponent) {\n <div [matTooltip]=\"tooltipData\">\n \u041A\u0430\u0441\u0442\u043E\u043C\u043D\u044B\u0439 \u0432\u0438\u0434\u0436\u0435\u0442. \u0442\u0438\u043F \u0432\u0438\u0434\u0436\u0435\u0442\u0430: {{ tagData?.type }}\n </div>\n }\n</ng-container>\n\n", styles: [":host div{background-color:#a3ded5;padding:5px 10px;display:inline-block;border-radius:10px}\n"] }]
1558
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
1559
+ type: Inject,
1560
+ args: [CrocoHtmlOptionsToken]
1561
+ }] }], propDecorators: { viewContainerRef: [{
1562
+ type: ViewChild,
1563
+ args: ['container', { read: ViewContainerRef, static: true }]
1564
+ }], tagData: [{
1541
1565
  type: Input
1542
1566
  }] } });
1543
1567