uni-component-tw 1.0.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.
- package/README.md +25 -0
- package/esm2022/index.mjs +5 -0
- package/esm2022/uni-article/index.mjs +2 -0
- package/esm2022/uni-article/src/uni-article.component.mjs +109 -0
- package/esm2022/uni-article/uni-component-tw-uni-article.mjs +5 -0
- package/esm2022/uni-component-tw.mjs +5 -0
- package/esm2022/uni-header/index.mjs +2 -0
- package/esm2022/uni-header/src/uni-header.component.mjs +66 -0
- package/esm2022/uni-header/uni-component-tw-uni-header.mjs +5 -0
- package/esm2022/uni-login-modal/index.mjs +2 -0
- package/esm2022/uni-login-modal/src/uni-login-modal.component.mjs +146 -0
- package/esm2022/uni-login-modal/uni-component-tw-uni-login-modal.mjs +5 -0
- package/esm2022/uni-pie-chart/index.mjs +2 -0
- package/esm2022/uni-pie-chart/src/uni-pie-chart.component.mjs +159 -0
- package/esm2022/uni-pie-chart/uni-component-tw-uni-pie-chart.mjs +5 -0
- package/esm2022/uni-side-menu/index.mjs +2 -0
- package/esm2022/uni-side-menu/src/uni-side-menu.component.mjs +249 -0
- package/esm2022/uni-side-menu/uni-component-tw-uni-side-menu.mjs +5 -0
- package/esm2022/uni-wrapper-chart/index.mjs +2 -0
- package/esm2022/uni-wrapper-chart/src/uni-wrapper-chart.component.mjs +36 -0
- package/esm2022/uni-wrapper-chart/uni-component-tw-uni-wrapper-chart.mjs +5 -0
- package/fesm2022/uni-component-tw-uni-article.mjs +116 -0
- package/fesm2022/uni-component-tw-uni-article.mjs.map +1 -0
- package/fesm2022/uni-component-tw-uni-header.mjs +73 -0
- package/fesm2022/uni-component-tw-uni-header.mjs.map +1 -0
- package/fesm2022/uni-component-tw-uni-login-modal.mjs +152 -0
- package/fesm2022/uni-component-tw-uni-login-modal.mjs.map +1 -0
- package/fesm2022/uni-component-tw-uni-pie-chart.mjs +166 -0
- package/fesm2022/uni-component-tw-uni-pie-chart.mjs.map +1 -0
- package/fesm2022/uni-component-tw-uni-side-menu.mjs +256 -0
- package/fesm2022/uni-component-tw-uni-side-menu.mjs.map +1 -0
- package/fesm2022/uni-component-tw-uni-wrapper-chart.mjs +43 -0
- package/fesm2022/uni-component-tw-uni-wrapper-chart.mjs.map +1 -0
- package/fesm2022/uni-component-tw.mjs +11 -0
- package/fesm2022/uni-component-tw.mjs.map +1 -0
- package/index.d.ts +1 -0
- package/package.json +63 -0
- package/uni-article/index.d.ts +1 -0
- package/uni-article/src/uni-article.component.d.ts +16 -0
- package/uni-header/index.d.ts +1 -0
- package/uni-header/src/uni-header.component.d.ts +11 -0
- package/uni-login-modal/index.d.ts +1 -0
- package/uni-login-modal/src/uni-login-modal.component.d.ts +30 -0
- package/uni-pie-chart/index.d.ts +1 -0
- package/uni-pie-chart/src/uni-pie-chart.component.d.ts +32 -0
- package/uni-side-menu/index.d.ts +1 -0
- package/uni-side-menu/src/uni-side-menu.component.d.ts +49 -0
- package/uni-wrapper-chart/index.d.ts +1 -0
- package/uni-wrapper-chart/src/uni-wrapper-chart.component.d.ts +13 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
|
|
3
|
+
import { DxPieChartModule } from 'devextreme-angular/ui/pie-chart';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "devextreme-angular/ui/pie-chart";
|
|
6
|
+
import * as i2 from "devextreme-angular/core";
|
|
7
|
+
export class UniPieChartComponent {
|
|
8
|
+
/* ----------------------- Constructor & lifecycle --------------------------- */
|
|
9
|
+
constructor() {
|
|
10
|
+
/* Input & output */
|
|
11
|
+
this.chartDataSource = input.required();
|
|
12
|
+
this.chartPercentage = input(undefined);
|
|
13
|
+
this.chartType = input('pie');
|
|
14
|
+
this.chartDiameter = input(1);
|
|
15
|
+
this.chartInnerRadius = input(0.7);
|
|
16
|
+
this.tooltipIsEnabled = input(true);
|
|
17
|
+
this.legendPosition = input('none');
|
|
18
|
+
this.legendWithValue = input(false);
|
|
19
|
+
this.legendGap = input('12px');
|
|
20
|
+
this.uom = input('');
|
|
21
|
+
/* Variables */
|
|
22
|
+
this.paletteColor = computed(() => this.chartDataSource().map((data) => data.color));
|
|
23
|
+
this.gridColumn = computed(() => {
|
|
24
|
+
switch (this.legendPosition()) {
|
|
25
|
+
case 'right':
|
|
26
|
+
return '1fr min-content';
|
|
27
|
+
case 'left':
|
|
28
|
+
return 'min-content 1fr';
|
|
29
|
+
default:
|
|
30
|
+
return '1fr';
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
this.gridRow = computed(() => {
|
|
34
|
+
switch (this.legendPosition()) {
|
|
35
|
+
case 'top':
|
|
36
|
+
return 'min-content 1fr';
|
|
37
|
+
case 'bottom':
|
|
38
|
+
return '1fr min-content';
|
|
39
|
+
default:
|
|
40
|
+
return '1fr';
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
this.customizeTooltip = this.customizeTooltip.bind(this);
|
|
44
|
+
}
|
|
45
|
+
/* -----------------------Methods--------------------------- */
|
|
46
|
+
/* Funzione usata per personalizzare i tooltips del grafico */
|
|
47
|
+
customizeTooltip(pointInfo) {
|
|
48
|
+
const { argumentText, valueText } = pointInfo;
|
|
49
|
+
return {
|
|
50
|
+
text: `${argumentText}<br/>${valueText} ${this.uom()}`,
|
|
51
|
+
color: 'rgba(149, 157, 165, 0.5)',
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: UniPieChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
55
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: UniPieChartComponent, isStandalone: true, selector: "uni-pie-chart", inputs: { chartDataSource: { classPropertyName: "chartDataSource", publicName: "chartDataSource", isSignal: true, isRequired: true, transformFunction: null }, chartPercentage: { classPropertyName: "chartPercentage", publicName: "chartPercentage", isSignal: true, isRequired: false, transformFunction: null }, chartType: { classPropertyName: "chartType", publicName: "chartType", isSignal: true, isRequired: false, transformFunction: null }, chartDiameter: { classPropertyName: "chartDiameter", publicName: "chartDiameter", isSignal: true, isRequired: false, transformFunction: null }, chartInnerRadius: { classPropertyName: "chartInnerRadius", publicName: "chartInnerRadius", isSignal: true, isRequired: false, transformFunction: null }, tooltipIsEnabled: { classPropertyName: "tooltipIsEnabled", publicName: "tooltipIsEnabled", isSignal: true, isRequired: false, transformFunction: null }, legendPosition: { classPropertyName: "legendPosition", publicName: "legendPosition", isSignal: true, isRequired: false, transformFunction: null }, legendWithValue: { classPropertyName: "legendWithValue", publicName: "legendWithValue", isSignal: true, isRequired: false, transformFunction: null }, legendGap: { classPropertyName: "legendGap", publicName: "legendGap", isSignal: true, isRequired: false, transformFunction: null }, uom: { classPropertyName: "uom", publicName: "uom", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
56
|
+
<div
|
|
57
|
+
class="container-pie-chart"
|
|
58
|
+
[style.display]="legendPosition() === 'none' ? 'block' : 'grid'"
|
|
59
|
+
[style.gridTemplateRows]="gridRow()"
|
|
60
|
+
[style.gridTemplateColumns]="gridColumn()">
|
|
61
|
+
<dx-pie-chart
|
|
62
|
+
[style.order]="legendPosition() === 'top' || legendPosition() === 'left' ? 1 : 0"
|
|
63
|
+
style="height: 100%; width: 100%; overflow: hidden"
|
|
64
|
+
[type]="chartType()"
|
|
65
|
+
[dataSource]="chartDataSource()"
|
|
66
|
+
resolveLabelOverlapping="shift"
|
|
67
|
+
[palette]="paletteColor()"
|
|
68
|
+
[diameter]="chartDiameter()"
|
|
69
|
+
[innerRadius]="chartInnerRadius()"
|
|
70
|
+
[redrawOnResize]="true"
|
|
71
|
+
[centerTemplate]="chartPercentage() !== undefined ? 'centerTemplate' : undefined"
|
|
72
|
+
[series]="{
|
|
73
|
+
argumentField: 'name',
|
|
74
|
+
format: 'fixedPoint',
|
|
75
|
+
valueField: 'value',
|
|
76
|
+
hoverStyle: 'none',
|
|
77
|
+
label: { visible: false }
|
|
78
|
+
}"
|
|
79
|
+
[legend]="{ visible: false }"
|
|
80
|
+
[tooltip]="{ enabled: tooltipIsEnabled(), customizeTooltip: customizeTooltip }">
|
|
81
|
+
<svg *dxTemplate="let pieChart of 'centerTemplate'">
|
|
82
|
+
<text text-anchor="middle" style="font-size: 28px" x="100" y="120" fill="#fff">
|
|
83
|
+
{{ chartPercentage() }}%
|
|
84
|
+
</text>
|
|
85
|
+
</svg>
|
|
86
|
+
</dx-pie-chart>
|
|
87
|
+
|
|
88
|
+
@if (legendPosition() !== 'none') {
|
|
89
|
+
<ul
|
|
90
|
+
class="container-legend"
|
|
91
|
+
[style.flexDirection]="
|
|
92
|
+
legendPosition() === 'top' || legendPosition() === 'bottom' ? 'row' : 'column'
|
|
93
|
+
"
|
|
94
|
+
[style.gap]="legendGap()">
|
|
95
|
+
@for (item of chartDataSource(); track $index) {
|
|
96
|
+
<li>
|
|
97
|
+
<span class="square" [style.backgroundColor]="item.color"></span>
|
|
98
|
+
{{ legendWithValue() ? item.name + ' ' + item.value + ' ' + uom() : item.name }}
|
|
99
|
+
</li>
|
|
100
|
+
}
|
|
101
|
+
</ul>
|
|
102
|
+
}
|
|
103
|
+
</div>
|
|
104
|
+
`, isInline: true, styles: [".container-pie-chart{height:100%;width:100%;gap:16px}.container-legend{display:flex;align-items:flex-start;justify-content:center;flex-wrap:wrap}.container-legend li{display:grid;grid-template-rows:1fr;grid-template-columns:min-content 1fr;align-items:center;gap:6px;text-wrap:nowrap}.square{display:block;height:12px;width:12px;border-radius:2.5px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: DxPieChartModule }, { kind: "component", type: i1.DxPieChartComponent, selector: "dx-pie-chart", inputs: ["adaptiveLayout", "animation", "annotations", "centerTemplate", "commonAnnotationSettings", "commonSeriesSettings", "customizeAnnotation", "customizeLabel", "customizePoint", "dataSource", "diameter", "disabled", "elementAttr", "export", "innerRadius", "legend", "loadingIndicator", "margin", "minDiameter", "palette", "paletteExtensionMode", "pathModified", "pointSelectionMode", "redrawOnResize", "resolveLabelOverlapping", "rtlEnabled", "segmentsDirection", "series", "seriesTemplate", "size", "sizeGroup", "startAngle", "theme", "title", "tooltip", "type"], outputs: ["onDisposing", "onDone", "onDrawn", "onExported", "onExporting", "onFileSaving", "onIncidentOccurred", "onInitialized", "onLegendClick", "onOptionChanged", "onPointClick", "onPointHoverChanged", "onPointSelectionChanged", "onTooltipHidden", "onTooltipShown", "adaptiveLayoutChange", "animationChange", "annotationsChange", "centerTemplateChange", "commonAnnotationSettingsChange", "commonSeriesSettingsChange", "customizeAnnotationChange", "customizeLabelChange", "customizePointChange", "dataSourceChange", "diameterChange", "disabledChange", "elementAttrChange", "exportChange", "innerRadiusChange", "legendChange", "loadingIndicatorChange", "marginChange", "minDiameterChange", "paletteChange", "paletteExtensionModeChange", "pathModifiedChange", "pointSelectionModeChange", "redrawOnResizeChange", "resolveLabelOverlappingChange", "rtlEnabledChange", "segmentsDirectionChange", "seriesChange", "seriesTemplateChange", "sizeChange", "sizeGroupChange", "startAngleChange", "themeChange", "titleChange", "tooltipChange", "typeChange"] }, { kind: "directive", type: i2.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
105
|
+
}
|
|
106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: UniPieChartComponent, decorators: [{
|
|
107
|
+
type: Component,
|
|
108
|
+
args: [{ selector: 'uni-pie-chart', standalone: true, imports: [CommonModule, DxPieChartModule], template: `
|
|
109
|
+
<div
|
|
110
|
+
class="container-pie-chart"
|
|
111
|
+
[style.display]="legendPosition() === 'none' ? 'block' : 'grid'"
|
|
112
|
+
[style.gridTemplateRows]="gridRow()"
|
|
113
|
+
[style.gridTemplateColumns]="gridColumn()">
|
|
114
|
+
<dx-pie-chart
|
|
115
|
+
[style.order]="legendPosition() === 'top' || legendPosition() === 'left' ? 1 : 0"
|
|
116
|
+
style="height: 100%; width: 100%; overflow: hidden"
|
|
117
|
+
[type]="chartType()"
|
|
118
|
+
[dataSource]="chartDataSource()"
|
|
119
|
+
resolveLabelOverlapping="shift"
|
|
120
|
+
[palette]="paletteColor()"
|
|
121
|
+
[diameter]="chartDiameter()"
|
|
122
|
+
[innerRadius]="chartInnerRadius()"
|
|
123
|
+
[redrawOnResize]="true"
|
|
124
|
+
[centerTemplate]="chartPercentage() !== undefined ? 'centerTemplate' : undefined"
|
|
125
|
+
[series]="{
|
|
126
|
+
argumentField: 'name',
|
|
127
|
+
format: 'fixedPoint',
|
|
128
|
+
valueField: 'value',
|
|
129
|
+
hoverStyle: 'none',
|
|
130
|
+
label: { visible: false }
|
|
131
|
+
}"
|
|
132
|
+
[legend]="{ visible: false }"
|
|
133
|
+
[tooltip]="{ enabled: tooltipIsEnabled(), customizeTooltip: customizeTooltip }">
|
|
134
|
+
<svg *dxTemplate="let pieChart of 'centerTemplate'">
|
|
135
|
+
<text text-anchor="middle" style="font-size: 28px" x="100" y="120" fill="#fff">
|
|
136
|
+
{{ chartPercentage() }}%
|
|
137
|
+
</text>
|
|
138
|
+
</svg>
|
|
139
|
+
</dx-pie-chart>
|
|
140
|
+
|
|
141
|
+
@if (legendPosition() !== 'none') {
|
|
142
|
+
<ul
|
|
143
|
+
class="container-legend"
|
|
144
|
+
[style.flexDirection]="
|
|
145
|
+
legendPosition() === 'top' || legendPosition() === 'bottom' ? 'row' : 'column'
|
|
146
|
+
"
|
|
147
|
+
[style.gap]="legendGap()">
|
|
148
|
+
@for (item of chartDataSource(); track $index) {
|
|
149
|
+
<li>
|
|
150
|
+
<span class="square" [style.backgroundColor]="item.color"></span>
|
|
151
|
+
{{ legendWithValue() ? item.name + ' ' + item.value + ' ' + uom() : item.name }}
|
|
152
|
+
</li>
|
|
153
|
+
}
|
|
154
|
+
</ul>
|
|
155
|
+
}
|
|
156
|
+
</div>
|
|
157
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".container-pie-chart{height:100%;width:100%;gap:16px}.container-legend{display:flex;align-items:flex-start;justify-content:center;flex-wrap:wrap}.container-legend li{display:grid;grid-template-rows:1fr;grid-template-columns:min-content 1fr;align-items:center;gap:6px;text-wrap:nowrap}.square{display:block;height:12px;width:12px;border-radius:2.5px}\n"] }]
|
|
158
|
+
}], ctorParameters: () => [] });
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pLXBpZS1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmktY29tcG9uZW50LXR3L3VuaS1waWUtY2hhcnQvc3JjL3VuaS1waWUtY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7QUFrRW5FLE1BQU0sT0FBTyxvQkFBb0I7SUFvQy9CLGlGQUFpRjtJQUNqRjtRQXBDQSxvQkFBb0I7UUFDcEIsb0JBQWUsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFxQixDQUFDO1FBQ3RELG9CQUFlLEdBQUcsS0FBSyxDQUFxQixTQUFTLENBQUMsQ0FBQztRQUN2RCxjQUFTLEdBQUcsS0FBSyxDQUFlLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLGtCQUFhLEdBQUcsS0FBSyxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLHFCQUFnQixHQUFHLEtBQUssQ0FBUyxHQUFHLENBQUMsQ0FBQztRQUN0QyxxQkFBZ0IsR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDeEMsbUJBQWMsR0FBRyxLQUFLLENBQStDLE1BQU0sQ0FBQyxDQUFDO1FBQzdFLG9CQUFlLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLGNBQVMsR0FBRyxLQUFLLENBQVMsTUFBTSxDQUFDLENBQUM7UUFDbEMsUUFBRyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUV4QixlQUFlO1FBQ2YsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDaEYsZUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDekIsUUFBUSxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQztnQkFDOUIsS0FBSyxPQUFPO29CQUNWLE9BQU8saUJBQWlCLENBQUM7Z0JBQzNCLEtBQUssTUFBTTtvQkFDVCxPQUFPLGlCQUFpQixDQUFDO2dCQUMzQjtvQkFDRSxPQUFPLEtBQUssQ0FBQztZQUNqQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxZQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN0QixRQUFRLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO2dCQUM5QixLQUFLLEtBQUs7b0JBQ1IsT0FBTyxpQkFBaUIsQ0FBQztnQkFDM0IsS0FBSyxRQUFRO29CQUNYLE9BQU8saUJBQWlCLENBQUM7Z0JBQzNCO29CQUNFLE9BQU8sS0FBSyxDQUFDO1lBQ2pCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUlELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCwrREFBK0Q7SUFDL0QsOERBQThEO0lBQ3ZELGdCQUFnQixDQUFDLFNBQXNEO1FBQzVFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLEdBQUcsU0FBUyxDQUFDO1FBQzlDLE9BQU87WUFDTCxJQUFJLEVBQUUsR0FBRyxZQUFZLFFBQVEsU0FBUyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN0RCxLQUFLLEVBQUUsMEJBQTBCO1NBQ2xDLENBQUM7SUFDSixDQUFDOzhHQWpEVSxvQkFBb0I7a0dBQXBCLG9CQUFvQixxK0NBckRyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlEVCx3YUFsRFMsWUFBWSw4QkFBRSxnQkFBZ0I7OzJGQXNEN0Isb0JBQW9CO2tCQXpEaEMsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDLFlBQy9COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaURULG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IER4UGllQ2hhcnRNb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvdWkvcGllLWNoYXJ0JztcclxuaW1wb3J0IHsgUGllQ2hhcnRUeXBlIH0gZnJvbSAnZGV2ZXh0cmVtZS92aXovcGllX2NoYXJ0X3R5cGVzJztcclxuXHJcbmV4cG9ydCB0eXBlIENoYXJ0RGF0YVNvdXJjZSA9IHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZDtcclxuICBjb2xvcjogc3RyaW5nO1xyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1bmktcGllLWNoYXJ0JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIER4UGllQ2hhcnRNb2R1bGVdLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiY29udGFpbmVyLXBpZS1jaGFydFwiXHJcbiAgICAgIFtzdHlsZS5kaXNwbGF5XT1cImxlZ2VuZFBvc2l0aW9uKCkgPT09ICdub25lJyA/ICdibG9jaycgOiAnZ3JpZCdcIlxyXG4gICAgICBbc3R5bGUuZ3JpZFRlbXBsYXRlUm93c109XCJncmlkUm93KClcIlxyXG4gICAgICBbc3R5bGUuZ3JpZFRlbXBsYXRlQ29sdW1uc109XCJncmlkQ29sdW1uKClcIj5cclxuICAgICAgPGR4LXBpZS1jaGFydFxyXG4gICAgICAgIFtzdHlsZS5vcmRlcl09XCJsZWdlbmRQb3NpdGlvbigpID09PSAndG9wJyB8fCBsZWdlbmRQb3NpdGlvbigpID09PSAnbGVmdCcgPyAxIDogMFwiXHJcbiAgICAgICAgc3R5bGU9XCJoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlOyBvdmVyZmxvdzogaGlkZGVuXCJcclxuICAgICAgICBbdHlwZV09XCJjaGFydFR5cGUoKVwiXHJcbiAgICAgICAgW2RhdGFTb3VyY2VdPVwiY2hhcnREYXRhU291cmNlKClcIlxyXG4gICAgICAgIHJlc29sdmVMYWJlbE92ZXJsYXBwaW5nPVwic2hpZnRcIlxyXG4gICAgICAgIFtwYWxldHRlXT1cInBhbGV0dGVDb2xvcigpXCJcclxuICAgICAgICBbZGlhbWV0ZXJdPVwiY2hhcnREaWFtZXRlcigpXCJcclxuICAgICAgICBbaW5uZXJSYWRpdXNdPVwiY2hhcnRJbm5lclJhZGl1cygpXCJcclxuICAgICAgICBbcmVkcmF3T25SZXNpemVdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2NlbnRlclRlbXBsYXRlXT1cImNoYXJ0UGVyY2VudGFnZSgpICE9PSB1bmRlZmluZWQgPyAnY2VudGVyVGVtcGxhdGUnIDogdW5kZWZpbmVkXCJcclxuICAgICAgICBbc2VyaWVzXT1cIntcclxuICAgICAgICAgIGFyZ3VtZW50RmllbGQ6ICduYW1lJyxcclxuICAgICAgICAgIGZvcm1hdDogJ2ZpeGVkUG9pbnQnLFxyXG4gICAgICAgICAgdmFsdWVGaWVsZDogJ3ZhbHVlJyxcclxuICAgICAgICAgIGhvdmVyU3R5bGU6ICdub25lJyxcclxuICAgICAgICAgIGxhYmVsOiB7IHZpc2libGU6IGZhbHNlIH1cclxuICAgICAgICB9XCJcclxuICAgICAgICBbbGVnZW5kXT1cInsgdmlzaWJsZTogZmFsc2UgfVwiXHJcbiAgICAgICAgW3Rvb2x0aXBdPVwieyBlbmFibGVkOiB0b29sdGlwSXNFbmFibGVkKCksIGN1c3RvbWl6ZVRvb2x0aXA6IGN1c3RvbWl6ZVRvb2x0aXAgfVwiPlxyXG4gICAgICAgIDxzdmcgKmR4VGVtcGxhdGU9XCJsZXQgcGllQ2hhcnQgb2YgJ2NlbnRlclRlbXBsYXRlJ1wiPlxyXG4gICAgICAgICAgPHRleHQgdGV4dC1hbmNob3I9XCJtaWRkbGVcIiBzdHlsZT1cImZvbnQtc2l6ZTogMjhweFwiIHg9XCIxMDBcIiB5PVwiMTIwXCIgZmlsbD1cIiNmZmZcIj5cclxuICAgICAgICAgICAge3sgY2hhcnRQZXJjZW50YWdlKCkgfX0lXHJcbiAgICAgICAgICA8L3RleHQ+XHJcbiAgICAgICAgPC9zdmc+XHJcbiAgICAgIDwvZHgtcGllLWNoYXJ0PlxyXG5cclxuICAgICAgQGlmIChsZWdlbmRQb3NpdGlvbigpICE9PSAnbm9uZScpIHtcclxuICAgICAgICA8dWxcclxuICAgICAgICAgIGNsYXNzPVwiY29udGFpbmVyLWxlZ2VuZFwiXHJcbiAgICAgICAgICBbc3R5bGUuZmxleERpcmVjdGlvbl09XCJcclxuICAgICAgICAgICAgbGVnZW5kUG9zaXRpb24oKSA9PT0gJ3RvcCcgfHwgbGVnZW5kUG9zaXRpb24oKSA9PT0gJ2JvdHRvbScgPyAncm93JyA6ICdjb2x1bW4nXHJcbiAgICAgICAgICBcIlxyXG4gICAgICAgICAgW3N0eWxlLmdhcF09XCJsZWdlbmRHYXAoKVwiPlxyXG4gICAgICAgICAgQGZvciAoaXRlbSBvZiBjaGFydERhdGFTb3VyY2UoKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIDxsaT5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNxdWFyZVwiIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiaXRlbS5jb2xvclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICB7eyBsZWdlbmRXaXRoVmFsdWUoKSA/IGl0ZW0ubmFtZSArICcgJyArIGl0ZW0udmFsdWUgKyAnICcgKyB1b20oKSA6IGl0ZW0ubmFtZSB9fVxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvdWw+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgc3R5bGVVcmw6ICcuL3VuaS1waWUtY2hhcnQuY29tcG9uZW50LnNjc3MnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVW5pUGllQ2hhcnRDb21wb25lbnQge1xyXG4gIC8qIElucHV0ICYgb3V0cHV0ICovXHJcbiAgY2hhcnREYXRhU291cmNlID0gaW5wdXQucmVxdWlyZWQ8Q2hhcnREYXRhU291cmNlW10+KCk7XHJcbiAgY2hhcnRQZXJjZW50YWdlID0gaW5wdXQ8bnVtYmVyIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG4gIGNoYXJ0VHlwZSA9IGlucHV0PFBpZUNoYXJ0VHlwZT4oJ3BpZScpO1xyXG4gIGNoYXJ0RGlhbWV0ZXIgPSBpbnB1dDxudW1iZXI+KDEpO1xyXG4gIGNoYXJ0SW5uZXJSYWRpdXMgPSBpbnB1dDxudW1iZXI+KDAuNyk7XHJcbiAgdG9vbHRpcElzRW5hYmxlZCA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG4gIGxlZ2VuZFBvc2l0aW9uID0gaW5wdXQ8J3JpZ2h0JyB8ICdsZWZ0JyB8ICd0b3AnIHwgJ2JvdHRvbScgfCAnbm9uZSc+KCdub25lJyk7XHJcbiAgbGVnZW5kV2l0aFZhbHVlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIGxlZ2VuZEdhcCA9IGlucHV0PHN0cmluZz4oJzEycHgnKTtcclxuICB1b20gPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuXHJcbiAgLyogVmFyaWFibGVzICovXHJcbiAgcGFsZXR0ZUNvbG9yID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jaGFydERhdGFTb3VyY2UoKS5tYXAoKGRhdGEpID0+IGRhdGEuY29sb3IpKTtcclxuICBncmlkQ29sdW1uID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgc3dpdGNoICh0aGlzLmxlZ2VuZFBvc2l0aW9uKCkpIHtcclxuICAgICAgY2FzZSAncmlnaHQnOlxyXG4gICAgICAgIHJldHVybiAnMWZyIG1pbi1jb250ZW50JztcclxuICAgICAgY2FzZSAnbGVmdCc6XHJcbiAgICAgICAgcmV0dXJuICdtaW4tY29udGVudCAxZnInO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiAnMWZyJztcclxuICAgIH1cclxuICB9KTtcclxuICBncmlkUm93ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgc3dpdGNoICh0aGlzLmxlZ2VuZFBvc2l0aW9uKCkpIHtcclxuICAgICAgY2FzZSAndG9wJzpcclxuICAgICAgICByZXR1cm4gJ21pbi1jb250ZW50IDFmcic7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XHJcbiAgICAgICAgcmV0dXJuICcxZnIgbWluLWNvbnRlbnQnO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiAnMWZyJztcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ29uc3RydWN0b3IgJiBsaWZlY3ljbGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmN1c3RvbWl6ZVRvb2x0aXAgPSB0aGlzLmN1c3RvbWl6ZVRvb2x0aXAuYmluZCh0aGlzKTtcclxuICB9XHJcblxyXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tTWV0aG9kcy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4gIC8qIEZ1bnppb25lIHVzYXRhIHBlciBwZXJzb25hbGl6emFyZSBpIHRvb2x0aXBzIGRlbCBncmFmaWNvICovXHJcbiAgcHVibGljIGN1c3RvbWl6ZVRvb2x0aXAocG9pbnRJbmZvOiB7IGFyZ3VtZW50VGV4dDogc3RyaW5nOyB2YWx1ZVRleHQ6IHN0cmluZyB9KSB7XHJcbiAgICBjb25zdCB7IGFyZ3VtZW50VGV4dCwgdmFsdWVUZXh0IH0gPSBwb2ludEluZm87XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB0ZXh0OiBgJHthcmd1bWVudFRleHR9PGJyLz4ke3ZhbHVlVGV4dH0gJHt0aGlzLnVvbSgpfWAsXHJcbiAgICAgIGNvbG9yOiAncmdiYSgxNDksIDE1NywgMTY1LCAwLjUpJyxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pLWNvbXBvbmVudC10dy11bmktcGllLWNoYXJ0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pLWNvbXBvbmVudC10dy91bmktcGllLWNoYXJ0L3VuaS1jb21wb25lbnQtdHctdW5pLXBpZS1jaGFydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './src/uni-side-menu.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91bmktY29tcG9uZW50LXR3L3VuaS1zaWRlLW1lbnUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL3VuaS1zaWRlLW1lbnUuY29tcG9uZW50JztcclxuIl19
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
import { CommonModule, NgOptimizedImage } from '@angular/common';
|
|
3
|
+
import { ChangeDetectionStrategy, Component, inject, input, output, signal } from '@angular/core';
|
|
4
|
+
import { Router, RouterLink, RouterLinkActive } from '@angular/router';
|
|
5
|
+
import { DxButtonModule } from 'devextreme-angular/ui/button';
|
|
6
|
+
import { DxSwitchModule } from 'devextreme-angular/ui/switch';
|
|
7
|
+
import { DxSelectBoxModule } from 'devextreme-angular/ui/select-box';
|
|
8
|
+
import { FaIconComponent } from '@fortawesome/angular-fontawesome';
|
|
9
|
+
import { faArrowRightFromBracket, faArrowRightToBracket, faLanguage, faMoon, faSun, faUser, } from '@fortawesome/free-solid-svg-icons';
|
|
10
|
+
import { UNITranslatePipe, UNITranslateService } from 'uni-service/translate';
|
|
11
|
+
import { UNIAuthService } from 'uni-service/auth';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "@angular/common";
|
|
14
|
+
import * as i2 from "devextreme-angular/ui/button";
|
|
15
|
+
import * as i3 from "devextreme-angular/ui/switch";
|
|
16
|
+
import * as i4 from "devextreme-angular/ui/select-box";
|
|
17
|
+
export class UniSideMenuComponent {
|
|
18
|
+
constructor() {
|
|
19
|
+
/* Service */
|
|
20
|
+
this.router = inject(Router);
|
|
21
|
+
this.authService = inject(UNIAuthService);
|
|
22
|
+
this.translateService = inject(UNITranslateService);
|
|
23
|
+
/* Input */
|
|
24
|
+
this.pathBrandLogo = input.required();
|
|
25
|
+
this.menuItems = input([]);
|
|
26
|
+
this.menuButtons = input([]);
|
|
27
|
+
this.user = input.required();
|
|
28
|
+
/* Output */
|
|
29
|
+
this.evtToggleMenu = output();
|
|
30
|
+
/* Variables */
|
|
31
|
+
this.darkMode = signal(localStorage.getItem('uni-theme') === 'dark');
|
|
32
|
+
/* Icons */
|
|
33
|
+
this.ICON = {
|
|
34
|
+
USER: faUser,
|
|
35
|
+
LOGIN: faArrowRightToBracket,
|
|
36
|
+
LOGOUT: faArrowRightFromBracket,
|
|
37
|
+
LIGHT_MODE: faSun,
|
|
38
|
+
DARK_MODE: faMoon,
|
|
39
|
+
LANGUAGE: faLanguage,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/* ---------------------- Methods ---------------------- */
|
|
43
|
+
updateTheme(e) {
|
|
44
|
+
localStorage.setItem('uni-theme', e.value ? 'dark' : 'light');
|
|
45
|
+
window.location.reload();
|
|
46
|
+
}
|
|
47
|
+
updateLanguage(e) {
|
|
48
|
+
this.translateService.setLanguage(e.value);
|
|
49
|
+
window.location.reload();
|
|
50
|
+
}
|
|
51
|
+
goToLogin() {
|
|
52
|
+
this.evtToggleMenu.emit(false);
|
|
53
|
+
this.router.navigate(['login']);
|
|
54
|
+
}
|
|
55
|
+
logout() {
|
|
56
|
+
this.authService.logout$().subscribe(() => {
|
|
57
|
+
const firstItem = this.menuItems().find((item) => item.visible && !item.disabled);
|
|
58
|
+
this.evtToggleMenu.emit(false);
|
|
59
|
+
this.router.navigate([firstItem?.path ?? 'login']);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: UniSideMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
63
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: UniSideMenuComponent, isStandalone: true, selector: "uni-side-menu", inputs: { pathBrandLogo: { classPropertyName: "pathBrandLogo", publicName: "pathBrandLogo", isSignal: true, isRequired: true, transformFunction: null }, menuItems: { classPropertyName: "menuItems", publicName: "menuItems", isSignal: true, isRequired: false, transformFunction: null }, menuButtons: { classPropertyName: "menuButtons", publicName: "menuButtons", isSignal: true, isRequired: false, transformFunction: null }, user: { classPropertyName: "user", publicName: "user", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { evtToggleMenu: "evtToggleMenu" }, ngImport: i0, template: `
|
|
64
|
+
<aside id="side-menu">
|
|
65
|
+
<!-- user -->
|
|
66
|
+
<div id="side-menu-user">
|
|
67
|
+
<div class="side-menu-user-info">
|
|
68
|
+
@if (user(); as user) {
|
|
69
|
+
<fa-icon [icon]="ICON.USER"></fa-icon> {{ user.username }}
|
|
70
|
+
}
|
|
71
|
+
</div>
|
|
72
|
+
<dx-button [icon]="'close'" (onClick)="evtToggleMenu.emit(false)"></dx-button>
|
|
73
|
+
</div>
|
|
74
|
+
|
|
75
|
+
<!-- menu -->
|
|
76
|
+
@if (menuItems().length) {
|
|
77
|
+
<nav id="side-menu-menu" role="full-horizontal">
|
|
78
|
+
<ul>
|
|
79
|
+
@for (item of menuItems(); track item.id) {
|
|
80
|
+
@if (item.visible) {
|
|
81
|
+
<li>
|
|
82
|
+
<a
|
|
83
|
+
[routerLink]="item.disabled ? null : item.path"
|
|
84
|
+
routerLinkActive="item-active"
|
|
85
|
+
[ngClass]="{ 'item-disabled': item.disabled }"
|
|
86
|
+
(click)="evtToggleMenu.emit(false)">
|
|
87
|
+
<fa-icon [icon]="item.icon"></fa-icon>
|
|
88
|
+
<span>{{ item.label }}</span>
|
|
89
|
+
</a>
|
|
90
|
+
</li>
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
</ul>
|
|
94
|
+
</nav>
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
<!-- setting -->
|
|
98
|
+
<ul id="side-menu-setting">
|
|
99
|
+
@for (button of menuButtons(); track $index) {
|
|
100
|
+
<li class="item-setting-button">
|
|
101
|
+
<button
|
|
102
|
+
type="button"
|
|
103
|
+
class="dx-theme-material-typography"
|
|
104
|
+
[style]="button.style"
|
|
105
|
+
(click)="button.fun()">
|
|
106
|
+
<fa-icon [icon]="button.icon"></fa-icon>
|
|
107
|
+
<span>{{ button.label }}</span>
|
|
108
|
+
</button>
|
|
109
|
+
</li>
|
|
110
|
+
}
|
|
111
|
+
<li class="item-setting">
|
|
112
|
+
<fa-icon [icon]="darkMode() ? ICON.DARK_MODE : ICON.LIGHT_MODE"></fa-icon>
|
|
113
|
+
<span>{{ 'lblDarkMode' | translate }}</span>
|
|
114
|
+
<dx-switch [value]="darkMode()" (onValueChanged)="updateTheme($event)"></dx-switch>
|
|
115
|
+
</li>
|
|
116
|
+
<li class="item-setting">
|
|
117
|
+
<fa-icon [icon]="ICON.LANGUAGE"></fa-icon>
|
|
118
|
+
<span>{{ 'lblLanguage' | translate }}</span>
|
|
119
|
+
<dx-select-box
|
|
120
|
+
[items]="translateService.translateInfo().languagesSupported"
|
|
121
|
+
[value]="translateService.translateInfo().language"
|
|
122
|
+
stylingMode="underlined"
|
|
123
|
+
placeholder=""
|
|
124
|
+
(onValueChanged)="updateLanguage($event)"></dx-select-box>
|
|
125
|
+
</li>
|
|
126
|
+
<!-- User | null | undefined -->
|
|
127
|
+
@if (user() !== undefined) {
|
|
128
|
+
<li class="item-logout">
|
|
129
|
+
<button (click)="user() ? logout() : goToLogin()">
|
|
130
|
+
<fa-icon [icon]="user() ? ICON.LOGOUT : ICON.LOGIN"></fa-icon>
|
|
131
|
+
{{ (user() ? 'lblLogout' : 'lblLogin') | translate }}
|
|
132
|
+
</button>
|
|
133
|
+
</li>
|
|
134
|
+
}
|
|
135
|
+
</ul>
|
|
136
|
+
|
|
137
|
+
<!-- logo -->
|
|
138
|
+
<div id="side-menu-logo">
|
|
139
|
+
<img
|
|
140
|
+
id="img-brand"
|
|
141
|
+
[ngSrc]="pathBrandLogo()"
|
|
142
|
+
alt="Brand logo"
|
|
143
|
+
[height]="30"
|
|
144
|
+
[width]="125"
|
|
145
|
+
priority />
|
|
146
|
+
</div>
|
|
147
|
+
</aside>
|
|
148
|
+
`, isInline: true, styles: [":host{position:fixed;top:0;right:0;z-index:999}#side-menu{height:100vh;width:250px;display:grid;grid-template-rows:min-content min-content min-content 1fr 35px;grid-template-columns:1fr;grid-template-areas:\"user\" \"menu\" \"setting\" \".\" \"logo\";gap:2rem;padding:1rem;background-color:#27272a99;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:solid 1.5px #27272a;border-radius:.25rem;box-shadow:#00000059 0 5px 5px;overflow:hidden}#side-menu-user{width:100%;grid-area:user;display:grid;grid-template-rows:1fr;grid-template-columns:1fr min-content;align-items:center;gap:1rem}#side-menu-user .side-menu-user-info{display:grid;grid-template-rows:1fr;grid-template-columns:min-content 1fr;gap:.5rem}#side-menu-menu ul,#side-menu-setting{display:grid;grid-auto-rows:42px;grid-template-columns:1fr;gap:.5rem;overflow:hidden}#side-menu-menu ul a,#side-menu-setting a{display:grid;grid-template-rows:1fr;grid-template-columns:20px 1fr;gap:.75rem;padding:.75rem;color:#fff;border-radius:.25rem}#side-menu-menu{width:100%;grid-area:menu;overflow:hidden}#side-menu-menu a.item-active,#side-menu-menu a:not(.item-disabled):hover{cursor:pointer;background-color:#52525b99}#side-menu-setting{grid-area:setting;padding-top:2rem;border-top:solid 2px #52525b}#side-menu-logo{grid-area:logo;display:flex;justify-content:end;border-bottom:solid 1px #fff}img{width:auto}li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-active{background-color:#52525b99}.item-disabled{pointer-events:none;cursor:default;opacity:.25}.item-logout button{width:100%;display:grid;grid-template-rows:1fr;grid-template-columns:min-content 1fr;align-items:center;gap:.75rem;padding:.75rem;border-radius:.25rem;color:#fff;cursor:pointer}.item-setting{display:grid;grid-template-rows:1fr;grid-template-columns:20px 1fr 60px;align-items:center;gap:.75rem;padding:.75rem;border-radius:.25rem;color:#fff;background-color:#52525b99}.item-setting>*:last-child{margin-left:auto}.item-setting-button{border-radius:.25rem;overflow:hidden;cursor:pointer;transition:.1s ease-in-out}.item-setting-button:active{transform:scale(.9)}.item-setting-button button{height:100%;width:100%;display:grid;grid-template-rows:1fr;grid-template-columns:20px 1fr;align-items:center;gap:.75rem;padding:.75rem;box-shadow:inset 0 3px 6px #000c,inset 0 -3px 6px #00000080,inset 0 1px 3px #fff3;transition:box-shadow .2s ease-in-out}::ng-deep .theme-light #side-menu,::ng-deep .theme-light #side-menu a.item-active,::ng-deep .theme-light #side-menu a:not(.item-disabled):hover,::ng-deep .theme-light #side-menu .item-setting{background-color:#0284c799!important;border-color:#0284c7a6!important;color:#fff!important}::ng-deep .theme-light #side-menu #side-menu,::ng-deep .theme-light #side-menu #side-menu-setting{border-color:#0284c7}::ng-deep .theme-light #side-menu .dx-texteditor .dx-texteditor-input,::ng-deep .theme-light #side-menu .dx-texteditor .dx-dropdowneditor-icon,::ng-deep .theme-light #side-menu .dx-texteditor:after{color:#fff!important;border-color:#fff}:host ::ng-deep .dx-texteditor.dx-editor-underlined .dx-texteditor-input{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "ngmodule", type: DxButtonModule }, { kind: "component", type: i2.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "ngmodule", type: DxSwitchModule }, { kind: "component", type: i3.DxSwitchComponent, selector: "dx-switch", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "isDirty", "isValid", "name", "readOnly", "rtlEnabled", "switchedOffText", "switchedOnText", "tabIndex", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "isDirtyChange", "isValidChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "switchedOffTextChange", "switchedOnTextChange", "tabIndexChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "ngmodule", type: DxSelectBoxModule }, { kind: "component", type: i4.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "customItemCreateEvent", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isDirty", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "customItemCreateEventChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isDirtyChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "pipe", type: UNITranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
149
|
+
}
|
|
150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: UniSideMenuComponent, decorators: [{
|
|
151
|
+
type: Component,
|
|
152
|
+
args: [{ selector: 'uni-side-menu', standalone: true, imports: [
|
|
153
|
+
CommonModule,
|
|
154
|
+
RouterLink,
|
|
155
|
+
RouterLinkActive,
|
|
156
|
+
NgOptimizedImage,
|
|
157
|
+
DxButtonModule,
|
|
158
|
+
DxSwitchModule,
|
|
159
|
+
DxSelectBoxModule,
|
|
160
|
+
FaIconComponent,
|
|
161
|
+
UNITranslatePipe,
|
|
162
|
+
], template: `
|
|
163
|
+
<aside id="side-menu">
|
|
164
|
+
<!-- user -->
|
|
165
|
+
<div id="side-menu-user">
|
|
166
|
+
<div class="side-menu-user-info">
|
|
167
|
+
@if (user(); as user) {
|
|
168
|
+
<fa-icon [icon]="ICON.USER"></fa-icon> {{ user.username }}
|
|
169
|
+
}
|
|
170
|
+
</div>
|
|
171
|
+
<dx-button [icon]="'close'" (onClick)="evtToggleMenu.emit(false)"></dx-button>
|
|
172
|
+
</div>
|
|
173
|
+
|
|
174
|
+
<!-- menu -->
|
|
175
|
+
@if (menuItems().length) {
|
|
176
|
+
<nav id="side-menu-menu" role="full-horizontal">
|
|
177
|
+
<ul>
|
|
178
|
+
@for (item of menuItems(); track item.id) {
|
|
179
|
+
@if (item.visible) {
|
|
180
|
+
<li>
|
|
181
|
+
<a
|
|
182
|
+
[routerLink]="item.disabled ? null : item.path"
|
|
183
|
+
routerLinkActive="item-active"
|
|
184
|
+
[ngClass]="{ 'item-disabled': item.disabled }"
|
|
185
|
+
(click)="evtToggleMenu.emit(false)">
|
|
186
|
+
<fa-icon [icon]="item.icon"></fa-icon>
|
|
187
|
+
<span>{{ item.label }}</span>
|
|
188
|
+
</a>
|
|
189
|
+
</li>
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
</ul>
|
|
193
|
+
</nav>
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
<!-- setting -->
|
|
197
|
+
<ul id="side-menu-setting">
|
|
198
|
+
@for (button of menuButtons(); track $index) {
|
|
199
|
+
<li class="item-setting-button">
|
|
200
|
+
<button
|
|
201
|
+
type="button"
|
|
202
|
+
class="dx-theme-material-typography"
|
|
203
|
+
[style]="button.style"
|
|
204
|
+
(click)="button.fun()">
|
|
205
|
+
<fa-icon [icon]="button.icon"></fa-icon>
|
|
206
|
+
<span>{{ button.label }}</span>
|
|
207
|
+
</button>
|
|
208
|
+
</li>
|
|
209
|
+
}
|
|
210
|
+
<li class="item-setting">
|
|
211
|
+
<fa-icon [icon]="darkMode() ? ICON.DARK_MODE : ICON.LIGHT_MODE"></fa-icon>
|
|
212
|
+
<span>{{ 'lblDarkMode' | translate }}</span>
|
|
213
|
+
<dx-switch [value]="darkMode()" (onValueChanged)="updateTheme($event)"></dx-switch>
|
|
214
|
+
</li>
|
|
215
|
+
<li class="item-setting">
|
|
216
|
+
<fa-icon [icon]="ICON.LANGUAGE"></fa-icon>
|
|
217
|
+
<span>{{ 'lblLanguage' | translate }}</span>
|
|
218
|
+
<dx-select-box
|
|
219
|
+
[items]="translateService.translateInfo().languagesSupported"
|
|
220
|
+
[value]="translateService.translateInfo().language"
|
|
221
|
+
stylingMode="underlined"
|
|
222
|
+
placeholder=""
|
|
223
|
+
(onValueChanged)="updateLanguage($event)"></dx-select-box>
|
|
224
|
+
</li>
|
|
225
|
+
<!-- User | null | undefined -->
|
|
226
|
+
@if (user() !== undefined) {
|
|
227
|
+
<li class="item-logout">
|
|
228
|
+
<button (click)="user() ? logout() : goToLogin()">
|
|
229
|
+
<fa-icon [icon]="user() ? ICON.LOGOUT : ICON.LOGIN"></fa-icon>
|
|
230
|
+
{{ (user() ? 'lblLogout' : 'lblLogin') | translate }}
|
|
231
|
+
</button>
|
|
232
|
+
</li>
|
|
233
|
+
}
|
|
234
|
+
</ul>
|
|
235
|
+
|
|
236
|
+
<!-- logo -->
|
|
237
|
+
<div id="side-menu-logo">
|
|
238
|
+
<img
|
|
239
|
+
id="img-brand"
|
|
240
|
+
[ngSrc]="pathBrandLogo()"
|
|
241
|
+
alt="Brand logo"
|
|
242
|
+
[height]="30"
|
|
243
|
+
[width]="125"
|
|
244
|
+
priority />
|
|
245
|
+
</div>
|
|
246
|
+
</aside>
|
|
247
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{position:fixed;top:0;right:0;z-index:999}#side-menu{height:100vh;width:250px;display:grid;grid-template-rows:min-content min-content min-content 1fr 35px;grid-template-columns:1fr;grid-template-areas:\"user\" \"menu\" \"setting\" \".\" \"logo\";gap:2rem;padding:1rem;background-color:#27272a99;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:solid 1.5px #27272a;border-radius:.25rem;box-shadow:#00000059 0 5px 5px;overflow:hidden}#side-menu-user{width:100%;grid-area:user;display:grid;grid-template-rows:1fr;grid-template-columns:1fr min-content;align-items:center;gap:1rem}#side-menu-user .side-menu-user-info{display:grid;grid-template-rows:1fr;grid-template-columns:min-content 1fr;gap:.5rem}#side-menu-menu ul,#side-menu-setting{display:grid;grid-auto-rows:42px;grid-template-columns:1fr;gap:.5rem;overflow:hidden}#side-menu-menu ul a,#side-menu-setting a{display:grid;grid-template-rows:1fr;grid-template-columns:20px 1fr;gap:.75rem;padding:.75rem;color:#fff;border-radius:.25rem}#side-menu-menu{width:100%;grid-area:menu;overflow:hidden}#side-menu-menu a.item-active,#side-menu-menu a:not(.item-disabled):hover{cursor:pointer;background-color:#52525b99}#side-menu-setting{grid-area:setting;padding-top:2rem;border-top:solid 2px #52525b}#side-menu-logo{grid-area:logo;display:flex;justify-content:end;border-bottom:solid 1px #fff}img{width:auto}li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-active{background-color:#52525b99}.item-disabled{pointer-events:none;cursor:default;opacity:.25}.item-logout button{width:100%;display:grid;grid-template-rows:1fr;grid-template-columns:min-content 1fr;align-items:center;gap:.75rem;padding:.75rem;border-radius:.25rem;color:#fff;cursor:pointer}.item-setting{display:grid;grid-template-rows:1fr;grid-template-columns:20px 1fr 60px;align-items:center;gap:.75rem;padding:.75rem;border-radius:.25rem;color:#fff;background-color:#52525b99}.item-setting>*:last-child{margin-left:auto}.item-setting-button{border-radius:.25rem;overflow:hidden;cursor:pointer;transition:.1s ease-in-out}.item-setting-button:active{transform:scale(.9)}.item-setting-button button{height:100%;width:100%;display:grid;grid-template-rows:1fr;grid-template-columns:20px 1fr;align-items:center;gap:.75rem;padding:.75rem;box-shadow:inset 0 3px 6px #000c,inset 0 -3px 6px #00000080,inset 0 1px 3px #fff3;transition:box-shadow .2s ease-in-out}::ng-deep .theme-light #side-menu,::ng-deep .theme-light #side-menu a.item-active,::ng-deep .theme-light #side-menu a:not(.item-disabled):hover,::ng-deep .theme-light #side-menu .item-setting{background-color:#0284c799!important;border-color:#0284c7a6!important;color:#fff!important}::ng-deep .theme-light #side-menu #side-menu,::ng-deep .theme-light #side-menu #side-menu-setting{border-color:#0284c7}::ng-deep .theme-light #side-menu .dx-texteditor .dx-texteditor-input,::ng-deep .theme-light #side-menu .dx-texteditor .dx-dropdowneditor-icon,::ng-deep .theme-light #side-menu .dx-texteditor:after{color:#fff!important;border-color:#fff}:host ::ng-deep .dx-texteditor.dx-editor-underlined .dx-texteditor-input{padding:0}\n"] }]
|
|
248
|
+
}] });
|
|
249
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pLXNpZGUtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmktY29tcG9uZW50LXR3L3VuaS1zaWRlLW1lbnUvc3JjL3VuaS1zaWRlLW1lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBR3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUNyQixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFRLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQTRIeEQsTUFBTSxPQUFPLG9CQUFvQjtJQXZHakM7UUF3R0UsYUFBYTtRQUNKLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDckMscUJBQWdCLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFeEQsV0FBVztRQUNYLGtCQUFhLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ3pDLGNBQVMsR0FBRyxLQUFLLENBQWEsRUFBRSxDQUFDLENBQUM7UUFDbEMsZ0JBQVcsR0FBRyxLQUFLLENBQWUsRUFBRSxDQUFDLENBQUM7UUFDdEMsU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQTJCLENBQUM7UUFFakQsWUFBWTtRQUNaLGtCQUFhLEdBQUcsTUFBTSxFQUFTLENBQUM7UUFFaEMsZUFBZTtRQUNmLGFBQVEsR0FBRyxNQUFNLENBQVUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsS0FBSyxNQUFNLENBQUMsQ0FBQztRQUV6RSxXQUFXO1FBQ0YsU0FBSSxHQUFHO1lBQ2QsSUFBSSxFQUFFLE1BQU07WUFDWixLQUFLLEVBQUUscUJBQXFCO1lBQzVCLE1BQU0sRUFBRSx1QkFBdUI7WUFDL0IsVUFBVSxFQUFFLEtBQUs7WUFDakIsU0FBUyxFQUFFLE1BQU07WUFDakIsUUFBUSxFQUFFLFVBQVU7U0FDckIsQ0FBQztLQXlCSDtJQXZCQywyREFBMkQ7SUFDakQsV0FBVyxDQUFDLENBQTBCO1FBQzlDLFlBQVksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRVMsY0FBYyxDQUFDLENBQTZCO1FBQ3BELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVTLFNBQVM7UUFDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFUyxNQUFNO1FBQ2QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3hDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbEYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQWxEVSxvQkFBb0I7a0dBQXBCLG9CQUFvQixtcEJBekZyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFGVCxvb0dBL0ZDLFlBQVksNkhBQ1osVUFBVSxvT0FDVixnQkFBZ0IsOE1BQ2hCLGdCQUFnQiwrT0FDaEIsY0FBYyxxMEJBQ2QsY0FBYyxnbENBQ2QsaUJBQWlCLGlyRkFDakIsZUFBZSx1TUFDZixnQkFBZ0I7OzJGQTJGUCxvQkFBb0I7a0JBdkdoQyxTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixVQUFVO3dCQUNWLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGdCQUFnQjtxQkFDakIsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFGVCxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBOZ09wdGltaXplZEltYWdlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCwgb3V0cHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyLCBSb3V0ZXJMaW5rLCBSb3V0ZXJMaW5rQWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgRHhCdXR0b25Nb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvdWkvYnV0dG9uJztcclxuaW1wb3J0IHsgRHhTd2l0Y2hNb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvdWkvc3dpdGNoJztcclxuaW1wb3J0IHsgRHhTZWxlY3RCb3hNb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvdWkvc2VsZWN0LWJveCc7XHJcbmltcG9ydCB7IFZhbHVlQ2hhbmdlZEV2ZW50IGFzIFN3aXRjaFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnZGV2ZXh0cmVtZS91aS9zd2l0Y2hfdHlwZXMnO1xyXG5pbXBvcnQgeyBWYWx1ZUNoYW5nZWRFdmVudCBhcyBTZWxlY3RCb3hWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gJ2RldmV4dHJlbWUvdWkvc2VsZWN0X2JveF90eXBlcyc7XHJcbmltcG9ydCB7IEZhSWNvbkNvbXBvbmVudCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJztcclxuaW1wb3J0IHtcclxuICBJY29uRGVmaW5pdGlvbixcclxuICBmYUFycm93UmlnaHRGcm9tQnJhY2tldCxcclxuICBmYUFycm93UmlnaHRUb0JyYWNrZXQsXHJcbiAgZmFMYW5ndWFnZSxcclxuICBmYU1vb24sXHJcbiAgZmFTdW4sXHJcbiAgZmFVc2VyLFxyXG59IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XHJcbmltcG9ydCB7IFVOSVRyYW5zbGF0ZVBpcGUsIFVOSVRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICd1bmktc2VydmljZS90cmFuc2xhdGUnO1xyXG5pbXBvcnQgeyBVTklBdXRoU2VydmljZSwgVXNlciB9IGZyb20gJ3VuaS1zZXJ2aWNlL2F1dGgnO1xyXG5cclxuZXhwb3J0IHR5cGUgTWVudUl0ZW0gPSB7XHJcbiAgaWQ6IG51bWJlcjtcclxuICBpY29uOiBJY29uRGVmaW5pdGlvbjtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIHBhdGg6IHN0cmluZztcclxuICB2aXNpYmxlOiBib29sZWFuO1xyXG4gIGRpc2FibGVkOiBib29sZWFuO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgTWVudUJ1dHRvbiA9IHtcclxuICBpZDogbnVtYmVyO1xyXG4gIGljb246IEljb25EZWZpbml0aW9uO1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgc3R5bGU6IHN0cmluZztcclxuICBmdW46ICguLi5wYXJhbXM6IGFueSkgPT4gdm9pZDtcclxuICB2aXNpYmxlOiBib29sZWFuO1xyXG4gIGRpc2FibGVkOiBib29sZWFuO1xyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1bmktc2lkZS1tZW51JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJvdXRlckxpbmssXHJcbiAgICBSb3V0ZXJMaW5rQWN0aXZlLFxyXG4gICAgTmdPcHRpbWl6ZWRJbWFnZSxcclxuICAgIER4QnV0dG9uTW9kdWxlLFxyXG4gICAgRHhTd2l0Y2hNb2R1bGUsXHJcbiAgICBEeFNlbGVjdEJveE1vZHVsZSxcclxuICAgIEZhSWNvbkNvbXBvbmVudCxcclxuICAgIFVOSVRyYW5zbGF0ZVBpcGUsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGFzaWRlIGlkPVwic2lkZS1tZW51XCI+XHJcbiAgICAgIDwhLS0gdXNlciAgLS0+XHJcbiAgICAgIDxkaXYgaWQ9XCJzaWRlLW1lbnUtdXNlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaWRlLW1lbnUtdXNlci1pbmZvXCI+XHJcbiAgICAgICAgICBAaWYgKHVzZXIoKTsgYXMgdXNlcikge1xyXG4gICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJJQ09OLlVTRVJcIj48L2ZhLWljb24+IHt7IHVzZXIudXNlcm5hbWUgfX1cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZHgtYnV0dG9uIFtpY29uXT1cIidjbG9zZSdcIiAob25DbGljayk9XCJldnRUb2dnbGVNZW51LmVtaXQoZmFsc2UpXCI+PC9keC1idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLSBtZW51ICAtLT5cclxuICAgICAgQGlmIChtZW51SXRlbXMoKS5sZW5ndGgpIHtcclxuICAgICAgICA8bmF2IGlkPVwic2lkZS1tZW51LW1lbnVcIiByb2xlPVwiZnVsbC1ob3Jpem9udGFsXCI+XHJcbiAgICAgICAgICA8dWw+XHJcbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgbWVudUl0ZW1zKCk7IHRyYWNrIGl0ZW0uaWQpIHtcclxuICAgICAgICAgICAgICBAaWYgKGl0ZW0udmlzaWJsZSkge1xyXG4gICAgICAgICAgICAgICAgPGxpPlxyXG4gICAgICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0uZGlzYWJsZWQgPyBudWxsIDogaXRlbS5wYXRoXCJcclxuICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwiaXRlbS1hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2l0ZW0tZGlzYWJsZWQnOiBpdGVtLmRpc2FibGVkIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJldnRUb2dnbGVNZW51LmVtaXQoZmFsc2UpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiaXRlbS5pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvbmF2PlxyXG4gICAgICB9XHJcblxyXG4gICAgICA8IS0tIHNldHRpbmcgIC0tPlxyXG4gICAgICA8dWwgaWQ9XCJzaWRlLW1lbnUtc2V0dGluZ1wiPlxyXG4gICAgICAgIEBmb3IgKGJ1dHRvbiBvZiBtZW51QnV0dG9ucygpOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICAgIDxsaSBjbGFzcz1cIml0ZW0tc2V0dGluZy1idXR0b25cIj5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZHgtdGhlbWUtbWF0ZXJpYWwtdHlwb2dyYXBoeVwiXHJcbiAgICAgICAgICAgICAgW3N0eWxlXT1cImJ1dHRvbi5zdHlsZVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImJ1dHRvbi5mdW4oKVwiPlxyXG4gICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImJ1dHRvbi5pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICAgIDxzcGFuPnt7IGJ1dHRvbi5sYWJlbCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIH1cclxuICAgICAgICA8bGkgY2xhc3M9XCJpdGVtLXNldHRpbmdcIj5cclxuICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImRhcmtNb2RlKCkgPyBJQ09OLkRBUktfTU9ERSA6IElDT04uTElHSFRfTU9ERVwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgIDxzcGFuPnt7ICdsYmxEYXJrTW9kZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICA8ZHgtc3dpdGNoIFt2YWx1ZV09XCJkYXJrTW9kZSgpXCIgKG9uVmFsdWVDaGFuZ2VkKT1cInVwZGF0ZVRoZW1lKCRldmVudClcIj48L2R4LXN3aXRjaD5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICAgIDxsaSBjbGFzcz1cIml0ZW0tc2V0dGluZ1wiPlxyXG4gICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiSUNPTi5MQU5HVUFHRVwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgIDxzcGFuPnt7ICdsYmxMYW5ndWFnZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICA8ZHgtc2VsZWN0LWJveFxyXG4gICAgICAgICAgICBbaXRlbXNdPVwidHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVJbmZvKCkubGFuZ3VhZ2VzU3VwcG9ydGVkXCJcclxuICAgICAgICAgICAgW3ZhbHVlXT1cInRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlSW5mbygpLmxhbmd1YWdlXCJcclxuICAgICAgICAgICAgc3R5bGluZ01vZGU9XCJ1bmRlcmxpbmVkXCJcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJcIlxyXG4gICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwidXBkYXRlTGFuZ3VhZ2UoJGV2ZW50KVwiPjwvZHgtc2VsZWN0LWJveD5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICAgIDwhLS0gVXNlciB8IG51bGwgfCB1bmRlZmluZWQgLS0+XHJcbiAgICAgICAgQGlmICh1c2VyKCkgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgPGxpIGNsYXNzPVwiaXRlbS1sb2dvdXRcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwidXNlcigpID8gbG9nb3V0KCkgOiBnb1RvTG9naW4oKVwiPlxyXG4gICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cInVzZXIoKSA/IElDT04uTE9HT1VUIDogSUNPTi5MT0dJTlwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgICB7eyAodXNlcigpID8gJ2xibExvZ291dCcgOiAnbGJsTG9naW4nKSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L3VsPlxyXG5cclxuICAgICAgPCEtLSBsb2dvICAtLT5cclxuICAgICAgPGRpdiBpZD1cInNpZGUtbWVudS1sb2dvXCI+XHJcbiAgICAgICAgPGltZ1xyXG4gICAgICAgICAgaWQ9XCJpbWctYnJhbmRcIlxyXG4gICAgICAgICAgW25nU3JjXT1cInBhdGhCcmFuZExvZ28oKVwiXHJcbiAgICAgICAgICBhbHQ9XCJCcmFuZCBsb2dvXCJcclxuICAgICAgICAgIFtoZWlnaHRdPVwiMzBcIlxyXG4gICAgICAgICAgW3dpZHRoXT1cIjEyNVwiXHJcbiAgICAgICAgICBwcmlvcml0eSAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvYXNpZGU+XHJcbiAgYCxcclxuICBzdHlsZVVybDogJy4vdW5pLXNpZGUtbWVudS5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVbmlTaWRlTWVudUNvbXBvbmVudCB7XHJcbiAgLyogU2VydmljZSAqL1xyXG4gIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG4gIHJlYWRvbmx5IGF1dGhTZXJ2aWNlID0gaW5qZWN0KFVOSUF1dGhTZXJ2aWNlKTtcclxuICByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0KFVOSVRyYW5zbGF0ZVNlcnZpY2UpO1xyXG5cclxuICAvKiBJbnB1dCAqL1xyXG4gIHBhdGhCcmFuZExvZ28gPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XHJcbiAgbWVudUl0ZW1zID0gaW5wdXQ8TWVudUl0ZW1bXT4oW10pO1xyXG4gIG1lbnVCdXR0b25zID0gaW5wdXQ8TWVudUJ1dHRvbltdPihbXSk7XHJcbiAgdXNlciA9IGlucHV0LnJlcXVpcmVkPFVzZXIgfCBudWxsIHwgdW5kZWZpbmVkPigpO1xyXG5cclxuICAvKiBPdXRwdXQgKi9cclxuICBldnRUb2dnbGVNZW51ID0gb3V0cHV0PGZhbHNlPigpO1xyXG5cclxuICAvKiBWYXJpYWJsZXMgKi9cclxuICBkYXJrTW9kZSA9IHNpZ25hbDxib29sZWFuPihsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndW5pLXRoZW1lJykgPT09ICdkYXJrJyk7XHJcblxyXG4gIC8qIEljb25zICovXHJcbiAgcmVhZG9ubHkgSUNPTiA9IHtcclxuICAgIFVTRVI6IGZhVXNlcixcclxuICAgIExPR0lOOiBmYUFycm93UmlnaHRUb0JyYWNrZXQsXHJcbiAgICBMT0dPVVQ6IGZhQXJyb3dSaWdodEZyb21CcmFja2V0LFxyXG4gICAgTElHSFRfTU9ERTogZmFTdW4sXHJcbiAgICBEQVJLX01PREU6IGZhTW9vbixcclxuICAgIExBTkdVQUdFOiBmYUxhbmd1YWdlLFxyXG4gIH07XHJcblxyXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gTWV0aG9kcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbiAgcHJvdGVjdGVkIHVwZGF0ZVRoZW1lKGU6IFN3aXRjaFZhbHVlQ2hhbmdlZEV2ZW50KTogdm9pZCB7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndW5pLXRoZW1lJywgZS52YWx1ZSA/ICdkYXJrJyA6ICdsaWdodCcpO1xyXG4gICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHVwZGF0ZUxhbmd1YWdlKGU6IFNlbGVjdEJveFZhbHVlQ2hhbmdlZEV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc2V0TGFuZ3VhZ2UoZS52YWx1ZSk7XHJcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ29Ub0xvZ2luKCk6IHZvaWQge1xyXG4gICAgdGhpcy5ldnRUb2dnbGVNZW51LmVtaXQoZmFsc2UpO1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydsb2dpbiddKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBsb2dvdXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ291dCQoKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBjb25zdCBmaXJzdEl0ZW0gPSB0aGlzLm1lbnVJdGVtcygpLmZpbmQoKGl0ZW0pID0+IGl0ZW0udmlzaWJsZSAmJiAhaXRlbS5kaXNhYmxlZCk7XHJcbiAgICAgIHRoaXMuZXZ0VG9nZ2xlTWVudS5lbWl0KGZhbHNlKTtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2ZpcnN0SXRlbT8ucGF0aCA/PyAnbG9naW4nXSk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pLWNvbXBvbmVudC10dy11bmktc2lkZS1tZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pLWNvbXBvbmVudC10dy91bmktc2lkZS1tZW51L3VuaS1jb21wb25lbnQtdHctdW5pLXNpZGUtbWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './src/uni-wrapper-chart.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91bmktY29tcG9uZW50LXR3L3VuaS13cmFwcGVyLWNoYXJ0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy91bmktd3JhcHBlci1jaGFydC5jb21wb25lbnQnO1xyXG4iXX0=
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, effect, input, viewChild, } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class UniWrapperChartComponent {
|
|
5
|
+
/* ----------------------- Constructor & lifecycle --------------------------- */
|
|
6
|
+
constructor() {
|
|
7
|
+
/* Inputs & outputs */
|
|
8
|
+
this.title = input();
|
|
9
|
+
this.gridTemplateColumns = input('1fr');
|
|
10
|
+
this.gridTitle = input('1rem');
|
|
11
|
+
this.gridGap = input('1rem');
|
|
12
|
+
/* Ref */
|
|
13
|
+
this.containerDataSource = viewChild.required('container_datasource');
|
|
14
|
+
this.containerWithAside = viewChild('container_with_aside');
|
|
15
|
+
effect(() => {
|
|
16
|
+
this.containerDataSource().nativeElement.style.gridTemplateRows = this.title()
|
|
17
|
+
? 'min-content 1fr'
|
|
18
|
+
: '1fr';
|
|
19
|
+
this.containerDataSource().nativeElement.style.gap = this.title() ? this.gridTitle() : '0rem';
|
|
20
|
+
});
|
|
21
|
+
effect(() => {
|
|
22
|
+
if (this.containerWithAside()) {
|
|
23
|
+
this.containerWithAside().nativeElement.style.gridTemplateColumns =
|
|
24
|
+
this.gridTemplateColumns();
|
|
25
|
+
this.containerWithAside().nativeElement.style.gap = this.gridGap();
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: UniWrapperChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: UniWrapperChartComponent, isStandalone: true, selector: "uni-wrapper-chart", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, gridTemplateColumns: { classPropertyName: "gridTemplateColumns", publicName: "gridTemplateColumns", isSignal: true, isRequired: false, transformFunction: null }, gridTitle: { classPropertyName: "gridTitle", publicName: "gridTitle", isSignal: true, isRequired: false, transformFunction: null }, gridGap: { classPropertyName: "gridGap", publicName: "gridGap", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "containerDataSource", first: true, predicate: ["container_datasource"], descendants: true, isSignal: true }, { propertyName: "containerWithAside", first: true, predicate: ["container_with_aside"], descendants: true, isSignal: true }], ngImport: i0, template: "<div #container_datasource class=\"container-datasource\">\r\n @if (title(); as title) {\r\n <h5>{{ title }}</h5>\r\n }\r\n\r\n @if (gridTemplateColumns() !== '1fr') {\r\n <div #container_with_aside class=\"container-with-aside\">\r\n <ng-content select=\"[aside]\"></ng-content>\r\n <div class=\"container-chart\">\r\n <ng-content select=\"[chart]\"></ng-content>\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"container-chart\">\r\n <ng-content></ng-content>\r\n </div>\r\n }\r\n</div>\r\n\r\n", styles: [":host{display:block;height:100%;width:100%;overflow:hidden}.container-datasource{height:100%;display:grid;grid-template-columns:1fr;gap:.5rem;overflow:hidden}.container-with-aside{height:100%;width:100%;display:grid;grid-template-rows:1fr;overflow:hidden}.container-chart{overflow:hidden}:host ::ng-deep .container-chart>*{height:100%;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31
|
+
}
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: UniWrapperChartComponent, decorators: [{
|
|
33
|
+
type: Component,
|
|
34
|
+
args: [{ selector: 'uni-wrapper-chart', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #container_datasource class=\"container-datasource\">\r\n @if (title(); as title) {\r\n <h5>{{ title }}</h5>\r\n }\r\n\r\n @if (gridTemplateColumns() !== '1fr') {\r\n <div #container_with_aside class=\"container-with-aside\">\r\n <ng-content select=\"[aside]\"></ng-content>\r\n <div class=\"container-chart\">\r\n <ng-content select=\"[chart]\"></ng-content>\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"container-chart\">\r\n <ng-content></ng-content>\r\n </div>\r\n }\r\n</div>\r\n\r\n", styles: [":host{display:block;height:100%;width:100%;overflow:hidden}.container-datasource{height:100%;display:grid;grid-template-columns:1fr;gap:.5rem;overflow:hidden}.container-with-aside{height:100%;width:100%;display:grid;grid-template-rows:1fr;overflow:hidden}.container-chart{overflow:hidden}:host ::ng-deep .container-chart>*{height:100%;width:100%}\n"] }]
|
|
35
|
+
}], ctorParameters: () => [] });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pLXdyYXBwZXItY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pLWNvbXBvbmVudC10dy91bmktd3JhcHBlci1jaGFydC9zcmMvdW5pLXdyYXBwZXItY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pLWNvbXBvbmVudC10dy91bmktd3JhcHBlci1jaGFydC9zcmMvdW5pLXdyYXBwZXItY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOztBQVV2QixNQUFNLE9BQU8sd0JBQXdCO0lBYW5DLGlGQUFpRjtJQUNqRjtRQWJBLHNCQUFzQjtRQUNOLFVBQUssR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUN4Qix3QkFBbUIsR0FBRyxLQUFLLENBQVMsS0FBSyxDQUFDLENBQUM7UUFDM0MsY0FBUyxHQUFHLEtBQUssQ0FBUyxNQUFNLENBQUMsQ0FBQztRQUNsQyxZQUFPLEdBQUcsS0FBSyxDQUFTLE1BQU0sQ0FBQyxDQUFDO1FBRWhELFNBQVM7UUFDVSx3QkFBbUIsR0FDcEMsU0FBUyxDQUFDLFFBQVEsQ0FBNkIsc0JBQXNCLENBQUMsQ0FBQztRQUN0RCx1QkFBa0IsR0FDbkMsU0FBUyxDQUE2QixzQkFBc0IsQ0FBQyxDQUFDO1FBSTlELE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQzVFLENBQUMsQ0FBQyxpQkFBaUI7Z0JBQ25CLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDVixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2hHLENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLGtCQUFrQixFQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxtQkFBbUI7b0JBQ2hFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2dCQUM3QixJQUFJLENBQUMsa0JBQWtCLEVBQUcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdEUsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0E1QlUsd0JBQXdCO2tHQUF4Qix3QkFBd0IsKzNCQ2xCckMsc2lCQW1CQSxxWkROWSxZQUFZOzsyRkFLWCx3QkFBd0I7a0JBUnBDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBlZmZlY3QsXHJcbiAgaW5wdXQsXHJcbiAgdmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1bmktd3JhcHBlci1jaGFydCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdW5pLXdyYXBwZXItY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VuaS13cmFwcGVyLWNoYXJ0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVbmlXcmFwcGVyQ2hhcnRDb21wb25lbnQge1xyXG4gIC8qIElucHV0cyAmIG91dHB1dHMgKi9cclxuICBwdWJsaWMgcmVhZG9ubHkgdGl0bGUgPSBpbnB1dDxzdHJpbmc+KCk7XHJcbiAgcHVibGljIHJlYWRvbmx5IGdyaWRUZW1wbGF0ZUNvbHVtbnMgPSBpbnB1dDxzdHJpbmc+KCcxZnInKTtcclxuICBwdWJsaWMgcmVhZG9ubHkgZ3JpZFRpdGxlID0gaW5wdXQ8c3RyaW5nPignMXJlbScpO1xyXG4gIHB1YmxpYyByZWFkb25seSBncmlkR2FwID0gaW5wdXQ8c3RyaW5nPignMXJlbScpO1xyXG5cclxuICAvKiBSZWYgKi9cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udGFpbmVyRGF0YVNvdXJjZSA9XHJcbiAgICB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4+KCdjb250YWluZXJfZGF0YXNvdXJjZScpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBjb250YWluZXJXaXRoQXNpZGUgPVxyXG4gICAgdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+PignY29udGFpbmVyX3dpdGhfYXNpZGUnKTtcclxuXHJcbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ29uc3RydWN0b3IgJiBsaWZlY3ljbGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBlZmZlY3QoKCkgPT4ge1xyXG4gICAgICB0aGlzLmNvbnRhaW5lckRhdGFTb3VyY2UoKS5uYXRpdmVFbGVtZW50LnN0eWxlLmdyaWRUZW1wbGF0ZVJvd3MgPSB0aGlzLnRpdGxlKClcclxuICAgICAgICA/ICdtaW4tY29udGVudCAxZnInXHJcbiAgICAgICAgOiAnMWZyJztcclxuICAgICAgdGhpcy5jb250YWluZXJEYXRhU291cmNlKCkubmF0aXZlRWxlbWVudC5zdHlsZS5nYXAgPSB0aGlzLnRpdGxlKCkgPyB0aGlzLmdyaWRUaXRsZSgpIDogJzByZW0nO1xyXG4gICAgfSk7XHJcbiAgICBlZmZlY3QoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5jb250YWluZXJXaXRoQXNpZGUoKSkge1xyXG4gICAgICAgIHRoaXMuY29udGFpbmVyV2l0aEFzaWRlKCkhLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZ3JpZFRlbXBsYXRlQ29sdW1ucyA9XHJcbiAgICAgICAgICB0aGlzLmdyaWRUZW1wbGF0ZUNvbHVtbnMoKTtcclxuICAgICAgICB0aGlzLmNvbnRhaW5lcldpdGhBc2lkZSgpIS5uYXRpdmVFbGVtZW50LnN0eWxlLmdhcCA9IHRoaXMuZ3JpZEdhcCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAjY29udGFpbmVyX2RhdGFzb3VyY2UgY2xhc3M9XCJjb250YWluZXItZGF0YXNvdXJjZVwiPlxyXG4gIEBpZiAodGl0bGUoKTsgYXMgdGl0bGUpIHtcclxuICAgIDxoNT57eyB0aXRsZSB9fTwvaDU+XHJcbiAgfVxyXG5cclxuICBAaWYgKGdyaWRUZW1wbGF0ZUNvbHVtbnMoKSAhPT0gJzFmcicpIHtcclxuICAgIDxkaXYgI2NvbnRhaW5lcl93aXRoX2FzaWRlIGNsYXNzPVwiY29udGFpbmVyLXdpdGgtYXNpZGVcIj5cclxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2FzaWRlXVwiPjwvbmctY29udGVudD5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1jaGFydFwiPlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltjaGFydF1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWNoYXJ0XCI+XHJcbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcblxyXG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pLWNvbXBvbmVudC10dy11bmktd3JhcHBlci1jaGFydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaS1jb21wb25lbnQtdHcvdW5pLXdyYXBwZXItY2hhcnQvdW5pLWNvbXBvbmVudC10dy11bmktd3JhcHBlci1jaGFydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|