valtech-components 2.0.587 → 2.0.588
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/esm2022/lib/components/molecules/links-accordion/links-accordion.component.mjs +26 -6
- package/esm2022/lib/components/molecules/links-accordion/types.mjs +1 -1
- package/fesm2022/valtech-components.mjs +23 -4
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/molecules/links-accordion/links-accordion.component.d.ts +10 -1
- package/lib/components/molecules/links-accordion/types.d.ts +10 -4
- package/package.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { Component, EventEmitter, inject, Input, Output, ViewChild } from '@angular/core';
|
|
3
3
|
import { IonAccordion, IonAccordionGroup, IonItem, IonLabel, IonList } from '@ionic/angular/standalone';
|
|
4
|
+
import { I18nService } from '../../../services/i18n';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "@angular/router";
|
|
6
7
|
import * as i2 from "@ionic/angular/standalone";
|
|
@@ -32,6 +33,7 @@ export class LinksAccordionComponent {
|
|
|
32
33
|
constructor(router, menuCtrl) {
|
|
33
34
|
this.router = router;
|
|
34
35
|
this.menuCtrl = menuCtrl;
|
|
36
|
+
this.i18n = inject(I18nService);
|
|
35
37
|
/**
|
|
36
38
|
* Accordion configuration.
|
|
37
39
|
*/
|
|
@@ -46,6 +48,24 @@ export class LinksAccordionComponent {
|
|
|
46
48
|
*/
|
|
47
49
|
this.navigate = new EventEmitter();
|
|
48
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Gets the section title, supporting i18n via titleKey.
|
|
53
|
+
*/
|
|
54
|
+
getSectionTitle(section) {
|
|
55
|
+
if (section.titleKey && this.props.i18nNamespace) {
|
|
56
|
+
return this.i18n.t(section.titleKey, this.props.i18nNamespace);
|
|
57
|
+
}
|
|
58
|
+
return section.title || '';
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Gets the link text, supporting i18n via textKey.
|
|
62
|
+
*/
|
|
63
|
+
getLinkText(link) {
|
|
64
|
+
if (link.textKey && this.props.i18nNamespace) {
|
|
65
|
+
return this.i18n.t(link.textKey, this.props.i18nNamespace);
|
|
66
|
+
}
|
|
67
|
+
return link.text || '';
|
|
68
|
+
}
|
|
49
69
|
/**
|
|
50
70
|
* Handles link click - closes accordion/menu and navigates.
|
|
51
71
|
*/
|
|
@@ -83,7 +103,7 @@ export class LinksAccordionComponent {
|
|
|
83
103
|
[button]="!!section.route"
|
|
84
104
|
lines="none"
|
|
85
105
|
>
|
|
86
|
-
<ion-label class="accordion-label">{{ section
|
|
106
|
+
<ion-label class="accordion-label">{{ getSectionTitle(section) }}</ion-label>
|
|
87
107
|
</ion-item>
|
|
88
108
|
<div
|
|
89
109
|
slot="content"
|
|
@@ -97,7 +117,7 @@ export class LinksAccordionComponent {
|
|
|
97
117
|
(click)="onLinkClick(link.route, $event)"
|
|
98
118
|
button
|
|
99
119
|
>
|
|
100
|
-
<ion-label class="accordion-item-label">{{ link
|
|
120
|
+
<ion-label class="accordion-item-label">{{ getLinkText(link) }}</ion-label>
|
|
101
121
|
</ion-item>
|
|
102
122
|
</ion-list>
|
|
103
123
|
</div>
|
|
@@ -124,7 +144,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
124
144
|
[button]="!!section.route"
|
|
125
145
|
lines="none"
|
|
126
146
|
>
|
|
127
|
-
<ion-label class="accordion-label">{{ section
|
|
147
|
+
<ion-label class="accordion-label">{{ getSectionTitle(section) }}</ion-label>
|
|
128
148
|
</ion-item>
|
|
129
149
|
<div
|
|
130
150
|
slot="content"
|
|
@@ -138,7 +158,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
138
158
|
(click)="onLinkClick(link.route, $event)"
|
|
139
159
|
button
|
|
140
160
|
>
|
|
141
|
-
<ion-label class="accordion-item-label">{{ link
|
|
161
|
+
<ion-label class="accordion-item-label">{{ getLinkText(link) }}</ion-label>
|
|
142
162
|
</ion-item>
|
|
143
163
|
</ion-list>
|
|
144
164
|
</div>
|
|
@@ -154,4 +174,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
154
174
|
type: ViewChild,
|
|
155
175
|
args: ['accordionGroup']
|
|
156
176
|
}] } });
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua3MtYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvbGlua3MtYWNjb3JkaW9uL2xpbmtzLWFjY29yZGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRixPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFrQixNQUFNLDJCQUEyQixDQUFDO0FBQ3hILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFHckQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUE2Q0gsTUFBTSxPQUFPLHVCQUF1QjtJQW9CbEMsWUFDVSxNQUFjLEVBQ2QsUUFBd0I7UUFEeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBckIxQixTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRW5DOztXQUVHO1FBQ00sVUFBSyxHQUEyQjtZQUN2QyxRQUFRLEVBQUUsRUFBRTtZQUNaLGVBQWUsRUFBRSw2QkFBNkI7WUFDOUMsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixxQkFBcUIsRUFBRSxJQUFJO1NBQzVCLENBQUM7UUFFRjs7V0FFRztRQUNPLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO0lBTy9DLENBQUM7SUFFSjs7T0FFRztJQUNILGVBQWUsQ0FBQyxPQUE4QjtRQUM1QyxJQUFJLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNqRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXLENBQUMsSUFBd0I7UUFDbEMsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDN0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFlLEVBQUUsS0FBYTtRQUM5QyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzFCLENBQUM7UUFFRCxvQ0FBb0M7UUFDcEMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ3hDLENBQUM7UUFFRCx3QkFBd0I7UUFDeEIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzFDLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QixDQUFDO1FBRUQsYUFBYTtRQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFCLFdBQVc7UUFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDOytHQXBFVSx1QkFBdUI7bUdBQXZCLHVCQUF1QixnUUF4Q3hCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUNULGdUQXRDUyxZQUFZLHFWQUFFLGlCQUFpQixxSkFBRSxZQUFZLDZJQUFFLE9BQU8sME5BQUUsUUFBUSw2RkFBRSxPQUFPOzs0RkF5Q3hFLHVCQUF1QjtrQkE1Q25DLFNBQVM7K0JBQ0UscUJBQXFCLGNBQ25CLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsWUFDMUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQ1Q7d0dBU1EsS0FBSztzQkFBYixLQUFLO2dCQVVJLFFBQVE7c0JBQWpCLE1BQU07Z0JBRXNCLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElvbkFjY29yZGlvbiwgSW9uQWNjb3JkaW9uR3JvdXAsIElvbkl0ZW0sIElvbkxhYmVsLCBJb25MaXN0LCBNZW51Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IExpbmtzQWNjb3JkaW9uTGluaywgTGlua3NBY2NvcmRpb25NZXRhZGF0YSwgTGlua3NBY2NvcmRpb25TZWN0aW9uIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogdmFsLWxpbmtzLWFjY29yZGlvblxuICpcbiAqIEEgaGllcmFyY2hpY2FsIG5hdmlnYXRpb24gY29tcG9uZW50IHVzaW5nIElvbmljIGFjY29yZGlvbnMuXG4gKiBTdXBwb3J0cyBzZWN0aW9ucyB3aXRoIG9wdGlvbmFsIHN1Yi1saW5rcyBhbmQgYXV0b21hdGljIG1lbnUgY2xvc2luZy5cbiAqXG4gKiBAZXhhbXBsZVxuICogPHZhbC1saW5rcy1hY2NvcmRpb25cbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBzZWN0aW9uczogW1xuICogICAgICAgeyB0aXRsZTogJ0hvbWUnLCByb3V0ZTogWycvJ10gfSxcbiAqICAgICAgIHsgdGl0bGU6ICdQcm9kdWN0cycsIGxpbmtzOiBbXG4gKiAgICAgICAgIHsgdGV4dDogJ0NhdGFsb2cnLCByb3V0ZTogWycvcHJvZHVjdHMnXSB9LFxuICogICAgICAgICB7IHRleHQ6ICdOZXcgQXJyaXZhbHMnLCByb3V0ZTogWycvcHJvZHVjdHMnLCAnbmV3J10gfVxuICogICAgICAgXX1cbiAqICAgICBdXG4gKiAgIH1cIlxuICogICAobmF2aWdhdGUpPVwib25OYXZpZ2F0ZSgkZXZlbnQpXCJcbiAqID48L3ZhbC1saW5rcy1hY2NvcmRpb24+XG4gKlxuICogQGlucHV0IHByb3BzIC0gQWNjb3JkaW9uIGNvbmZpZ3VyYXRpb25cbiAqIEBvdXRwdXQgbmF2aWdhdGUgLSBFbWl0cyByb3V0ZSB3aGVuIGEgbGluayBpcyBjbGlja2VkXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1saW5rcy1hY2NvcmRpb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25BY2NvcmRpb25Hcm91cCwgSW9uQWNjb3JkaW9uLCBJb25JdGVtLCBJb25MYWJlbCwgSW9uTGlzdF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImxpbmtzLWFjY29yZGlvblwiPlxuICAgICAgPGlvbi1hY2NvcmRpb24tZ3JvdXAgI2FjY29yZGlvbkdyb3VwPlxuICAgICAgICA8aW9uLWFjY29yZGlvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBzZWN0aW9uIG9mIHByb3BzLnNlY3Rpb25zXCJcbiAgICAgICAgICBbdmFsdWVdPVwic2VjdGlvbi50aXRsZVwiXG4gICAgICAgICAgW3RvZ2dsZUljb25dPVwic2VjdGlvbi5saW5rcz8ubGVuZ3RoID8gJ2NoZXZyb24tZG93bi1vdXRsaW5lJyA6ICdjaGV2cm9uLWZvcndhcmQtb3V0bGluZSdcIlxuICAgICAgICA+XG4gICAgICAgICAgPGlvbi1pdGVtXG4gICAgICAgICAgICBzbG90PVwiaGVhZGVyXCJcbiAgICAgICAgICAgIGNvbG9yPVwibGlnaHRcIlxuICAgICAgICAgICAgW25nU3R5bGVdPVwieyBiYWNrZ3JvdW5kOiBwcm9wcy5iYWNrZ3JvdW5kQ29sb3IgfHwgJ3ZhcigtLWlvbi1iYWNrZ3JvdW5kLWNvbG9yKScgfVwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2VjdGlvbi5yb3V0ZSA/IG9uTGlua0NsaWNrKHNlY3Rpb24ucm91dGUsICRldmVudCkgOiBudWxsXCJcbiAgICAgICAgICAgIFtidXR0b25dPVwiISFzZWN0aW9uLnJvdXRlXCJcbiAgICAgICAgICAgIGxpbmVzPVwibm9uZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cImFjY29yZGlvbi1sYWJlbFwiPnt7IGdldFNlY3Rpb25UaXRsZShzZWN0aW9uKSB9fTwvaW9uLWxhYmVsPlxuICAgICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgc2xvdD1cImNvbnRlbnRcIlxuICAgICAgICAgICAgW25nU3R5bGVdPVwieyBiYWNrZ3JvdW5kOiBwcm9wcy5iYWNrZ3JvdW5kQ29sb3IgfHwgJ3ZhcigtLWlvbi1iYWNrZ3JvdW5kLWNvbG9yKScgfVwiXG4gICAgICAgICAgICAqbmdJZj1cInNlY3Rpb24ubGlua3M/Lmxlbmd0aFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlvbi1saXN0IGxpbmVzPVwibm9uZVwiPlxuICAgICAgICAgICAgICA8aW9uLWl0ZW1cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgbGluayBvZiBzZWN0aW9uLmxpbmtzXCJcbiAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7IGJhY2tncm91bmQ6IHByb3BzLmJhY2tncm91bmRDb2xvciB8fCAndmFyKC0taW9uLWJhY2tncm91bmQtY29sb3IpJyB9XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25MaW5rQ2xpY2sobGluay5yb3V0ZSwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgYnV0dG9uXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8aW9uLWxhYmVsIGNsYXNzPVwiYWNjb3JkaW9uLWl0ZW0tbGFiZWxcIj57eyBnZXRMaW5rVGV4dChsaW5rKSB9fTwvaW9uLWxhYmVsPlxuICAgICAgICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICAgICAgPC9pb24tbGlzdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9pb24tYWNjb3JkaW9uPlxuICAgICAgPC9pb24tYWNjb3JkaW9uLWdyb3VwPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9saW5rcy1hY2NvcmRpb24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTGlua3NBY2NvcmRpb25Db21wb25lbnQge1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBBY2NvcmRpb24gY29uZmlndXJhdGlvbi5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBMaW5rc0FjY29yZGlvbk1ldGFkYXRhID0ge1xuICAgIHNlY3Rpb25zOiBbXSxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICd2YXIoLS1pb24tYmFja2dyb3VuZC1jb2xvciknLFxuICAgIGNsb3NlTWVudU9uQ2xpY2s6IHRydWUsXG4gICAgY2xvc2VBY2NvcmRpb25PbkNsaWNrOiB0cnVlLFxuICB9O1xuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgcm91dGUgd2hlbiBhIGxpbmsgaXMgY2xpY2tlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBuYXZpZ2F0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG5cbiAgQFZpZXdDaGlsZCgnYWNjb3JkaW9uR3JvdXAnKSBhY2NvcmRpb25Hcm91cCE6IElvbkFjY29yZGlvbkdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBtZW51Q3RybDogTWVudUNvbnRyb2xsZXJcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBzZWN0aW9uIHRpdGxlLCBzdXBwb3J0aW5nIGkxOG4gdmlhIHRpdGxlS2V5LlxuICAgKi9cbiAgZ2V0U2VjdGlvblRpdGxlKHNlY3Rpb246IExpbmtzQWNjb3JkaW9uU2VjdGlvbik6IHN0cmluZyB7XG4gICAgaWYgKHNlY3Rpb24udGl0bGVLZXkgJiYgdGhpcy5wcm9wcy5pMThuTmFtZXNwYWNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5pMThuLnQoc2VjdGlvbi50aXRsZUtleSwgdGhpcy5wcm9wcy5pMThuTmFtZXNwYWNlKTtcbiAgICB9XG4gICAgcmV0dXJuIHNlY3Rpb24udGl0bGUgfHwgJyc7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgbGluayB0ZXh0LCBzdXBwb3J0aW5nIGkxOG4gdmlhIHRleHRLZXkuXG4gICAqL1xuICBnZXRMaW5rVGV4dChsaW5rOiBMaW5rc0FjY29yZGlvbkxpbmspOiBzdHJpbmcge1xuICAgIGlmIChsaW5rLnRleHRLZXkgJiYgdGhpcy5wcm9wcy5pMThuTmFtZXNwYWNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5pMThuLnQobGluay50ZXh0S2V5LCB0aGlzLnByb3BzLmkxOG5OYW1lc3BhY2UpO1xuICAgIH1cbiAgICByZXR1cm4gbGluay50ZXh0IHx8ICcnO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgbGluayBjbGljayAtIGNsb3NlcyBhY2NvcmRpb24vbWVudSBhbmQgbmF2aWdhdGVzLlxuICAgKi9cbiAgYXN5bmMgb25MaW5rQ2xpY2socm91dGU6IHN0cmluZ1tdLCBldmVudD86IEV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICAvLyBDbG9zZSBhY2NvcmRpb24gYmVmb3JlIG5hdmlnYXRpbmdcbiAgICBpZiAodGhpcy5wcm9wcy5jbG9zZUFjY29yZGlvbk9uQ2xpY2sgIT09IGZhbHNlICYmIHRoaXMuYWNjb3JkaW9uR3JvdXApIHtcbiAgICAgIHRoaXMuYWNjb3JkaW9uR3JvdXAudmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLy8gQ2xvc2UgbWVudSBpZiBlbmFibGVkXG4gICAgaWYgKHRoaXMucHJvcHMuY2xvc2VNZW51T25DbGljayAhPT0gZmFsc2UpIHtcbiAgICAgIGF3YWl0IHRoaXMubWVudUN0cmwuY2xvc2UoKTtcbiAgICB9XG5cbiAgICAvLyBFbWl0IGV2ZW50XG4gICAgdGhpcy5uYXZpZ2F0ZS5lbWl0KHJvdXRlKTtcblxuICAgIC8vIE5hdmlnYXRlXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUocm91dGUpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2xpbmtzLWFjY29yZGlvbi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBIGxpbmsgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHNlY3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlua3NBY2NvcmRpb25MaW5rIHtcbiAgLyoqIERpc3BsYXkgdGV4dCBmb3IgdGhlIGxpbmsgKHN0YXRpYykgKi9cbiAgdGV4dD86IHN0cmluZztcbiAgLyoqIGkxOG4ga2V5IGZvciB0aGUgbGluayB0ZXh0ICh1c2Ugd2l0aCBuYW1lc3BhY2UgaW4gTGlua3NBY2NvcmRpb25NZXRhZGF0YSkgKi9cbiAgdGV4dEtleT86IHN0cmluZztcbiAgLyoqIFJvdXRlIHNlZ21lbnRzIGZvciBuYXZpZ2F0aW9uICovXG4gIHJvdXRlOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBBbiBhY2NvcmRpb24gc2VjdGlvbiB3aXRoIG9wdGlvbmFsIHN1Yi1saW5rcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaW5rc0FjY29yZGlvblNlY3Rpb24ge1xuICAvKiogU2VjdGlvbiB0aXRsZSAoc3RhdGljKSAqL1xuICB0aXRsZT86IHN0cmluZztcbiAgLyoqIGkxOG4ga2V5IGZvciB0aGUgc2VjdGlvbiB0aXRsZSAodXNlIHdpdGggbmFtZXNwYWNlIGluIExpbmtzQWNjb3JkaW9uTWV0YWRhdGEpICovXG4gIHRpdGxlS2V5Pzogc3RyaW5nO1xuICAvKiogT3B0aW9uYWwgcm91dGUgaWYgdGhlIHNlY3Rpb24gaXRzZWxmIGlzIGNsaWNrYWJsZSAqL1xuICByb3V0ZT86IHN0cmluZ1tdO1xuICAvKiogT3B0aW9uYWwgc3ViLWxpbmtzIHdpdGhpbiB0aGlzIHNlY3Rpb24gKi9cbiAgbGlua3M/OiBMaW5rc0FjY29yZGlvbkxpbmtbXTtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgbGlua3MgYWNjb3JkaW9uIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaW5rc0FjY29yZGlvbk1ldGFkYXRhIHtcbiAgLyoqIEFycmF5IG9mIGFjY29yZGlvbiBzZWN0aW9ucyAqL1xuICBzZWN0aW9uczogTGlua3NBY2NvcmRpb25TZWN0aW9uW107XG4gIC8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgYWNjb3JkaW9uLiBEZWZhdWx0OiAndmFyKC0taW9uLWJhY2tncm91bmQtY29sb3IpJyAqL1xuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gIC8qKiBXaGV0aGVyIHRvIGNsb3NlIHRoZSBtZW51IHdoZW4gYSBsaW5rIGlzIGNsaWNrZWQuIERlZmF1bHQ6IHRydWUgKi9cbiAgY2xvc2VNZW51T25DbGljaz86IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRvIGNsb3NlIHRoZSBhY2NvcmRpb24gd2hlbiBuYXZpZ2F0aW5nLiBEZWZhdWx0OiB0cnVlICovXG4gIGNsb3NlQWNjb3JkaW9uT25DbGljaz86IGJvb2xlYW47XG4gIC8qKiBpMThuIG5hbWVzcGFjZSBmb3IgdHJhbnNsYXRpbmcgdGl0bGVLZXkgYW5kIHRleHRLZXkgdmFsdWVzICovXG4gIGkxOG5OYW1lc3BhY2U/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -17220,6 +17220,7 @@ class LinksAccordionComponent {
|
|
|
17220
17220
|
constructor(router, menuCtrl) {
|
|
17221
17221
|
this.router = router;
|
|
17222
17222
|
this.menuCtrl = menuCtrl;
|
|
17223
|
+
this.i18n = inject(I18nService);
|
|
17223
17224
|
/**
|
|
17224
17225
|
* Accordion configuration.
|
|
17225
17226
|
*/
|
|
@@ -17234,6 +17235,24 @@ class LinksAccordionComponent {
|
|
|
17234
17235
|
*/
|
|
17235
17236
|
this.navigate = new EventEmitter();
|
|
17236
17237
|
}
|
|
17238
|
+
/**
|
|
17239
|
+
* Gets the section title, supporting i18n via titleKey.
|
|
17240
|
+
*/
|
|
17241
|
+
getSectionTitle(section) {
|
|
17242
|
+
if (section.titleKey && this.props.i18nNamespace) {
|
|
17243
|
+
return this.i18n.t(section.titleKey, this.props.i18nNamespace);
|
|
17244
|
+
}
|
|
17245
|
+
return section.title || '';
|
|
17246
|
+
}
|
|
17247
|
+
/**
|
|
17248
|
+
* Gets the link text, supporting i18n via textKey.
|
|
17249
|
+
*/
|
|
17250
|
+
getLinkText(link) {
|
|
17251
|
+
if (link.textKey && this.props.i18nNamespace) {
|
|
17252
|
+
return this.i18n.t(link.textKey, this.props.i18nNamespace);
|
|
17253
|
+
}
|
|
17254
|
+
return link.text || '';
|
|
17255
|
+
}
|
|
17237
17256
|
/**
|
|
17238
17257
|
* Handles link click - closes accordion/menu and navigates.
|
|
17239
17258
|
*/
|
|
@@ -17271,7 +17290,7 @@ class LinksAccordionComponent {
|
|
|
17271
17290
|
[button]="!!section.route"
|
|
17272
17291
|
lines="none"
|
|
17273
17292
|
>
|
|
17274
|
-
<ion-label class="accordion-label">{{ section
|
|
17293
|
+
<ion-label class="accordion-label">{{ getSectionTitle(section) }}</ion-label>
|
|
17275
17294
|
</ion-item>
|
|
17276
17295
|
<div
|
|
17277
17296
|
slot="content"
|
|
@@ -17285,7 +17304,7 @@ class LinksAccordionComponent {
|
|
|
17285
17304
|
(click)="onLinkClick(link.route, $event)"
|
|
17286
17305
|
button
|
|
17287
17306
|
>
|
|
17288
|
-
<ion-label class="accordion-item-label">{{ link
|
|
17307
|
+
<ion-label class="accordion-item-label">{{ getLinkText(link) }}</ion-label>
|
|
17289
17308
|
</ion-item>
|
|
17290
17309
|
</ion-list>
|
|
17291
17310
|
</div>
|
|
@@ -17312,7 +17331,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
17312
17331
|
[button]="!!section.route"
|
|
17313
17332
|
lines="none"
|
|
17314
17333
|
>
|
|
17315
|
-
<ion-label class="accordion-label">{{ section
|
|
17334
|
+
<ion-label class="accordion-label">{{ getSectionTitle(section) }}</ion-label>
|
|
17316
17335
|
</ion-item>
|
|
17317
17336
|
<div
|
|
17318
17337
|
slot="content"
|
|
@@ -17326,7 +17345,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
17326
17345
|
(click)="onLinkClick(link.route, $event)"
|
|
17327
17346
|
button
|
|
17328
17347
|
>
|
|
17329
|
-
<ion-label class="accordion-item-label">{{ link
|
|
17348
|
+
<ion-label class="accordion-item-label">{{ getLinkText(link) }}</ion-label>
|
|
17330
17349
|
</ion-item>
|
|
17331
17350
|
</ion-list>
|
|
17332
17351
|
</div>
|