oip-common 0.0.14 → 0.0.16
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 +24 -26
- package/assets/i18n/db-migration.en.json +19 -0
- package/assets/i18n/db-migration.ru.json +19 -0
- package/assets/i18n/en.json +74 -0
- package/assets/i18n/notfound.en.json +8 -0
- package/assets/i18n/notfound.ru.json +8 -0
- package/assets/i18n/ru.json +222 -0
- package/fesm2022/oip-common.mjs +380 -337
- package/fesm2022/oip-common.mjs.map +1 -1
- package/index.d.ts +40 -35
- package/package.json +1 -1
package/fesm2022/oip-common.mjs
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, inject, ChangeDetectorRef, signal, effect, Component, Input, computed, PLATFORM_ID, HostBinding, EventEmitter, Output, ViewChild, Renderer2, Pipe } from '@angular/core';
|
|
3
|
-
import * as i2$
|
|
3
|
+
import * as i2$4 from 'primeng/api';
|
|
4
4
|
import { MessageService, ConfirmationService, PrimeIcons, SharedModule } from 'primeng/api';
|
|
5
5
|
import { HttpErrorResponse, HttpClient as HttpClient$1, HttpHeaders } from '@angular/common/http';
|
|
6
|
-
import
|
|
6
|
+
import * as i2$2 from '@ngx-translate/core';
|
|
7
|
+
import { TranslateService, TranslatePipe, TranslateModule } from '@ngx-translate/core';
|
|
7
8
|
import * as i1$3 from '@angular/router';
|
|
8
9
|
import { ActivatedRoute, Router, RouterModule, NavigationEnd, RouterLinkActive, RouterLink } from '@angular/router';
|
|
9
10
|
import { lastValueFrom, BehaviorSubject, Subject, filter as filter$1, combineLatest, of, map as map$1, Observable } from 'rxjs';
|
|
@@ -18,7 +19,7 @@ import * as i5 from '@angular/forms';
|
|
|
18
19
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
19
20
|
import * as i1$2 from '@angular/common';
|
|
20
21
|
import { isPlatformBrowser, CommonModule, NgIf, NgClass, NgFor } from '@angular/common';
|
|
21
|
-
import * as
|
|
22
|
+
import * as i3$1 from 'primeng/styleclass';
|
|
22
23
|
import { StyleClassModule } from 'primeng/styleclass';
|
|
23
24
|
import { updatePreset, updateSurfacePalette, $t } from '@primeng/themes';
|
|
24
25
|
import Aura from '@primeng/themes/aura';
|
|
@@ -30,16 +31,16 @@ import { SelectButtonModule } from 'primeng/selectbutton';
|
|
|
30
31
|
import { OidcSecurityService, PublicEventsService, EventTypes, StsConfigHttpLoader } from 'angular-auth-oidc-client';
|
|
31
32
|
import { filter, map, switchMap, catchError } from 'rxjs/operators';
|
|
32
33
|
import { Tabs, TabList, Tab } from 'primeng/tabs';
|
|
33
|
-
import * as
|
|
34
|
+
import * as i4 from 'primeng/avatar';
|
|
34
35
|
import { AvatarModule } from 'primeng/avatar';
|
|
35
36
|
import * as i1$4 from 'primeng/contextmenu';
|
|
36
37
|
import { ContextMenuModule, ContextMenu } from 'primeng/contextmenu';
|
|
37
38
|
import * as i2$1 from 'primeng/dialog';
|
|
38
39
|
import { DialogModule } from 'primeng/dialog';
|
|
39
|
-
import * as i3$
|
|
40
|
+
import * as i3$3 from 'primeng/inputtext';
|
|
40
41
|
import { InputTextModule } from 'primeng/inputtext';
|
|
41
42
|
import { trigger, state, transition, style, animate } from '@angular/animations';
|
|
42
|
-
import * as i3$
|
|
43
|
+
import * as i3$2 from 'primeng/ripple';
|
|
43
44
|
import { RippleModule } from 'primeng/ripple';
|
|
44
45
|
import { ConfirmDialog } from 'primeng/confirmdialog';
|
|
45
46
|
import * as i4$1 from 'primeng/select';
|
|
@@ -50,7 +51,7 @@ import { ImageModule } from 'primeng/image';
|
|
|
50
51
|
import { Fluid } from 'primeng/fluid';
|
|
51
52
|
import * as i1$6 from 'primeng/table';
|
|
52
53
|
import { TableModule } from 'primeng/table';
|
|
53
|
-
import * as i2$
|
|
54
|
+
import * as i2$3 from 'primeng/toggleswitch';
|
|
54
55
|
import { ToggleSwitchModule } from 'primeng/toggleswitch';
|
|
55
56
|
import { TagModule, Tag } from 'primeng/tag';
|
|
56
57
|
import { TextareaModule } from 'primeng/textarea';
|
|
@@ -1226,7 +1227,7 @@ class AppConfiguratorComponent {
|
|
|
1226
1227
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: AppConfiguratorComponent, isStandalone: true, selector: "app-configurator", host: { classAttribute: "hidden absolute top-[3.25rem] right-0 w-72 p-4 bg-surface-0 dark:bg-surface-900 border border-surface rounded-border origin-top shadow-[0px_3px_5px_rgba(0,0,0,0.02),0px_0px_2px_rgba(0,0,0,0.05),0px_1px_4px_rgba(0,0,0,0.08)]" }, ngImport: i0, template: `
|
|
1227
1228
|
<div class="flex flex-col gap-4">
|
|
1228
1229
|
<div>
|
|
1229
|
-
<span class="text-sm text-muted-color font-semibold">
|
|
1230
|
+
<span class="text-sm text-muted-color font-semibold">{{ 'app-configurator.primary' | translate }}</span>
|
|
1230
1231
|
<div class="pt-2 flex gap-2 flex-wrap justify-start">
|
|
1231
1232
|
@for (primaryColor of primaryColors(); track primaryColor.name) {
|
|
1232
1233
|
<button
|
|
@@ -1245,7 +1246,7 @@ class AppConfiguratorComponent {
|
|
|
1245
1246
|
</div>
|
|
1246
1247
|
</div>
|
|
1247
1248
|
<div>
|
|
1248
|
-
<span class="text-sm text-muted-color font-semibold">
|
|
1249
|
+
<span class="text-sm text-muted-color font-semibold">{{ 'app-configurator.surface' | translate }}</span>
|
|
1249
1250
|
<div class="pt-2 flex gap-2 flex-wrap justify-start">
|
|
1250
1251
|
@for (surface of surfaces; track surface.name) {
|
|
1251
1252
|
<button
|
|
@@ -1268,7 +1269,7 @@ class AppConfiguratorComponent {
|
|
|
1268
1269
|
</div>
|
|
1269
1270
|
</div>
|
|
1270
1271
|
<div class="flex flex-col gap-2">
|
|
1271
|
-
<span class="text-sm text-muted-color font-semibold">
|
|
1272
|
+
<span class="text-sm text-muted-color font-semibold">{{ 'app-configurator.presets' | translate }}</span>
|
|
1272
1273
|
<p-selectButton
|
|
1273
1274
|
id="oip-app-configurator-preset-select-button"
|
|
1274
1275
|
size="small"
|
|
@@ -1279,7 +1280,7 @@ class AppConfiguratorComponent {
|
|
|
1279
1280
|
</div>
|
|
1280
1281
|
@if (showMenuModeButton()) {
|
|
1281
1282
|
<div class="flex flex-col gap-2">
|
|
1282
|
-
<span class="text-sm text-muted-color font-semibold">
|
|
1283
|
+
<span class="text-sm text-muted-color font-semibold">{{ 'app-configurator.menuMode' | translate }}</span>
|
|
1283
1284
|
<p-selectButton
|
|
1284
1285
|
id="oip-app-configurator-menu-mode-select-button"
|
|
1285
1286
|
size="small"
|
|
@@ -1290,18 +1291,18 @@ class AppConfiguratorComponent {
|
|
|
1290
1291
|
</div>
|
|
1291
1292
|
}
|
|
1292
1293
|
</div>
|
|
1293
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SelectButtonModule }, { kind: "component", type: i3.SelectButton, selector: "p-selectButton, p-selectbutton, p-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "unselectable", "tabindex", "multiple", "allowEmpty", "styleClass", "ariaLabelledBy", "dataKey", "autofocus", "size", "fluid"], outputs: ["onOptionClick", "onChange"] }] }); }
|
|
1294
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SelectButtonModule }, { kind: "component", type: i3.SelectButton, selector: "p-selectButton, p-selectbutton, p-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "unselectable", "tabindex", "multiple", "allowEmpty", "styleClass", "ariaLabelledBy", "dataKey", "autofocus", "size", "fluid"], outputs: ["onOptionClick", "onChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
1294
1295
|
}
|
|
1295
1296
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: AppConfiguratorComponent, decorators: [{
|
|
1296
1297
|
type: Component,
|
|
1297
1298
|
args: [{
|
|
1298
1299
|
selector: 'app-configurator',
|
|
1299
1300
|
standalone: true,
|
|
1300
|
-
imports: [CommonModule, FormsModule, SelectButtonModule],
|
|
1301
|
+
imports: [CommonModule, FormsModule, SelectButtonModule, TranslatePipe],
|
|
1301
1302
|
template: `
|
|
1302
1303
|
<div class="flex flex-col gap-4">
|
|
1303
1304
|
<div>
|
|
1304
|
-
<span class="text-sm text-muted-color font-semibold">
|
|
1305
|
+
<span class="text-sm text-muted-color font-semibold">{{ 'app-configurator.primary' | translate }}</span>
|
|
1305
1306
|
<div class="pt-2 flex gap-2 flex-wrap justify-start">
|
|
1306
1307
|
@for (primaryColor of primaryColors(); track primaryColor.name) {
|
|
1307
1308
|
<button
|
|
@@ -1320,7 +1321,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
|
|
|
1320
1321
|
</div>
|
|
1321
1322
|
</div>
|
|
1322
1323
|
<div>
|
|
1323
|
-
<span class="text-sm text-muted-color font-semibold">
|
|
1324
|
+
<span class="text-sm text-muted-color font-semibold">{{ 'app-configurator.surface' | translate }}</span>
|
|
1324
1325
|
<div class="pt-2 flex gap-2 flex-wrap justify-start">
|
|
1325
1326
|
@for (surface of surfaces; track surface.name) {
|
|
1326
1327
|
<button
|
|
@@ -1343,7 +1344,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
|
|
|
1343
1344
|
</div>
|
|
1344
1345
|
</div>
|
|
1345
1346
|
<div class="flex flex-col gap-2">
|
|
1346
|
-
<span class="text-sm text-muted-color font-semibold">
|
|
1347
|
+
<span class="text-sm text-muted-color font-semibold">{{ 'app-configurator.presets' | translate }}</span>
|
|
1347
1348
|
<p-selectButton
|
|
1348
1349
|
id="oip-app-configurator-preset-select-button"
|
|
1349
1350
|
size="small"
|
|
@@ -1354,7 +1355,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
|
|
|
1354
1355
|
</div>
|
|
1355
1356
|
@if (showMenuModeButton()) {
|
|
1356
1357
|
<div class="flex flex-col gap-2">
|
|
1357
|
-
<span class="text-sm text-muted-color font-semibold">
|
|
1358
|
+
<span class="text-sm text-muted-color font-semibold">{{ 'app-configurator.menuMode' | translate }}</span>
|
|
1358
1359
|
<p-selectButton
|
|
1359
1360
|
id="oip-app-configurator-menu-mode-select-button"
|
|
1360
1361
|
size="small"
|
|
@@ -1595,11 +1596,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
|
|
|
1595
1596
|
}], ctorParameters: () => [] });
|
|
1596
1597
|
|
|
1597
1598
|
class AppTopbar {
|
|
1598
|
-
constructor(
|
|
1599
|
-
this.layoutService = layoutService;
|
|
1599
|
+
constructor() {
|
|
1600
1600
|
this.securityService = inject(SecurityService);
|
|
1601
1601
|
this.topBarService = inject(TopBarService);
|
|
1602
1602
|
this.userService = inject(UserService);
|
|
1603
|
+
this.layoutService = inject(LayoutService);
|
|
1603
1604
|
}
|
|
1604
1605
|
toggleDarkMode() {
|
|
1605
1606
|
this.layoutService.layoutConfig.update((state) => ({
|
|
@@ -1612,7 +1613,7 @@ class AppTopbar {
|
|
|
1612
1613
|
this.securityService.logout();
|
|
1613
1614
|
}
|
|
1614
1615
|
}
|
|
1615
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: AppTopbar, deps: [
|
|
1616
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: AppTopbar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1616
1617
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: AppTopbar, isStandalone: true, selector: "app-topbar", ngImport: i0, template: `
|
|
1617
1618
|
<div class="layout-topbar">
|
|
1618
1619
|
<div class="layout-topbar-logo-container">
|
|
@@ -1621,7 +1622,7 @@ class AppTopbar {
|
|
|
1621
1622
|
</button>
|
|
1622
1623
|
<a class="layout-topbar-logo" id="oip-app-topbar-logo-link" routerLink="">
|
|
1623
1624
|
<logo [height]="36" [width]="36"></logo>
|
|
1624
|
-
<span>
|
|
1625
|
+
<span>{{ 'app-info.title' | translate }}</span>
|
|
1625
1626
|
</a>
|
|
1626
1627
|
</div>
|
|
1627
1628
|
|
|
@@ -1692,7 +1693,7 @@ class AppTopbar {
|
|
|
1692
1693
|
(click)="securityService.logout()"
|
|
1693
1694
|
(keydown)="logoutKeyDown($event)">
|
|
1694
1695
|
<i class="pi pi-sign-out"></i>
|
|
1695
|
-
<span>
|
|
1696
|
+
<span>{{ 'topbar.logout' | translate }}</span>
|
|
1696
1697
|
</button>
|
|
1697
1698
|
<button class="layout-topbar-action" routerLink="config">
|
|
1698
1699
|
<p-avatar
|
|
@@ -1703,16 +1704,19 @@ class AppTopbar {
|
|
|
1703
1704
|
[image]="userService.photoLoaded ? userService.photo : null"
|
|
1704
1705
|
>{{ !userService.photoLoaded ? userService.shortLabel : null }}
|
|
1705
1706
|
</p-avatar>
|
|
1706
|
-
<span class="ml-2">
|
|
1707
|
+
<span class="ml-2">{{ 'topbar.profile' | translate }}</span>
|
|
1707
1708
|
</button>
|
|
1708
1709
|
</div>
|
|
1709
1710
|
</div>
|
|
1710
1711
|
</div>
|
|
1711
|
-
</div>`, isInline: true,
|
|
1712
|
+
</div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: StyleClassModule }, { kind: "directive", type: i3$1.StyleClass, selector: "[pStyleClass]", inputs: ["pStyleClass", "enterFromClass", "enterActiveClass", "enterToClass", "leaveFromClass", "leaveActiveClass", "leaveToClass", "hideOnOutsideClick", "toggleClass", "hideOnEscape", "hideOnResize", "resizeSelector"] }, { kind: "component", type: AppConfiguratorComponent, selector: "app-configurator" }, { kind: "component", type: LogoComponent, selector: "logo", inputs: ["width", "height"] }, { kind: "component", type: Tabs, selector: "p-tabs", inputs: ["value", "scrollable", "lazy", "selectOnFocus", "showNavigators", "tabindex"], outputs: ["valueChange"] }, { kind: "component", type: TabList, selector: "p-tablist" }, { kind: "component", type: Tab, selector: "p-tab", inputs: ["value", "disabled"], outputs: ["valueChange"] }, { kind: "ngmodule", type: AvatarModule }, { kind: "component", type: i4.Avatar, selector: "p-avatar", inputs: ["label", "icon", "image", "size", "shape", "styleClass", "ariaLabel", "ariaLabelledBy"], outputs: ["onImageError"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
1712
1713
|
}
|
|
1713
1714
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: AppTopbar, decorators: [{
|
|
1714
1715
|
type: Component,
|
|
1715
|
-
args: [{
|
|
1716
|
+
args: [{
|
|
1717
|
+
selector: 'app-topbar',
|
|
1718
|
+
standalone: true,
|
|
1719
|
+
imports: [
|
|
1716
1720
|
RouterModule,
|
|
1717
1721
|
CommonModule,
|
|
1718
1722
|
StyleClassModule,
|
|
@@ -1722,8 +1726,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
|
|
|
1722
1726
|
TabList,
|
|
1723
1727
|
Tab,
|
|
1724
1728
|
AvatarModule,
|
|
1725
|
-
ButtonModule
|
|
1726
|
-
|
|
1729
|
+
ButtonModule,
|
|
1730
|
+
TranslatePipe
|
|
1731
|
+
],
|
|
1732
|
+
template: `
|
|
1727
1733
|
<div class="layout-topbar">
|
|
1728
1734
|
<div class="layout-topbar-logo-container">
|
|
1729
1735
|
<button class="layout-menu-button layout-topbar-action" (click)="layoutService.onMenuToggle()">
|
|
@@ -1731,7 +1737,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
|
|
|
1731
1737
|
</button>
|
|
1732
1738
|
<a class="layout-topbar-logo" id="oip-app-topbar-logo-link" routerLink="">
|
|
1733
1739
|
<logo [height]="36" [width]="36"></logo>
|
|
1734
|
-
<span>
|
|
1740
|
+
<span>{{ 'app-info.title' | translate }}</span>
|
|
1735
1741
|
</a>
|
|
1736
1742
|
</div>
|
|
1737
1743
|
|
|
@@ -1802,7 +1808,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
|
|
|
1802
1808
|
(click)="securityService.logout()"
|
|
1803
1809
|
(keydown)="logoutKeyDown($event)">
|
|
1804
1810
|
<i class="pi pi-sign-out"></i>
|
|
1805
|
-
<span>
|
|
1811
|
+
<span>{{ 'topbar.logout' | translate }}</span>
|
|
1806
1812
|
</button>
|
|
1807
1813
|
<button class="layout-topbar-action" routerLink="config">
|
|
1808
1814
|
<p-avatar
|
|
@@ -1813,23 +1819,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
|
|
|
1813
1819
|
[image]="userService.photoLoaded ? userService.photo : null"
|
|
1814
1820
|
>{{ !userService.photoLoaded ? userService.shortLabel : null }}
|
|
1815
1821
|
</p-avatar>
|
|
1816
|
-
<span class="ml-2">
|
|
1822
|
+
<span class="ml-2">{{ 'topbar.profile' | translate }}</span>
|
|
1817
1823
|
</button>
|
|
1818
1824
|
</div>
|
|
1819
1825
|
</div>
|
|
1820
1826
|
</div>
|
|
1821
|
-
</div>`
|
|
1822
|
-
|
|
1827
|
+
</div>`
|
|
1828
|
+
}]
|
|
1829
|
+
}] });
|
|
1823
1830
|
|
|
1824
1831
|
class FooterComponent {
|
|
1825
|
-
constructor() { }
|
|
1826
1832
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1827
1833
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.2", type: FooterComponent, isStandalone: true, selector: "app-footer", ngImport: i0, template: `
|
|
1828
1834
|
<div class="layout-footer">
|
|
1829
|
-
<
|
|
1830
|
-
|
|
1835
|
+
<div class="flex justify-center flex-1">
|
|
1836
|
+
<logo class="mr-2 -my-0.5" [height]="18" [width]="18"></logo>
|
|
1837
|
+
<span class="font-medium">{{ 'app-info.footer' | translate }}</span>
|
|
1838
|
+
</div>
|
|
1839
|
+
<p class="mr-auto">{{ 'app-info.version' | translate }}</p>
|
|
1831
1840
|
</div>
|
|
1832
|
-
`, isInline: true, dependencies: [{ kind: "component", type: LogoComponent, selector: "logo", inputs: ["width", "height"] }] }); }
|
|
1841
|
+
`, isInline: true, dependencies: [{ kind: "component", type: LogoComponent, selector: "logo", inputs: ["width", "height"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
1833
1842
|
}
|
|
1834
1843
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: FooterComponent, decorators: [{
|
|
1835
1844
|
type: Component,
|
|
@@ -1837,14 +1846,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
|
|
|
1837
1846
|
selector: 'app-footer',
|
|
1838
1847
|
template: `
|
|
1839
1848
|
<div class="layout-footer">
|
|
1840
|
-
<
|
|
1841
|
-
|
|
1849
|
+
<div class="flex justify-center flex-1">
|
|
1850
|
+
<logo class="mr-2 -my-0.5" [height]="18" [width]="18"></logo>
|
|
1851
|
+
<span class="font-medium">{{ 'app-info.footer' | translate }}</span>
|
|
1852
|
+
</div>
|
|
1853
|
+
<p class="mr-auto">{{ 'app-info.version' | translate }}</p>
|
|
1842
1854
|
</div>
|
|
1843
1855
|
`,
|
|
1844
1856
|
standalone: true,
|
|
1845
|
-
imports: [LogoComponent]
|
|
1857
|
+
imports: [LogoComponent, TranslatePipe]
|
|
1846
1858
|
}]
|
|
1847
|
-
}]
|
|
1859
|
+
}] });
|
|
1848
1860
|
|
|
1849
1861
|
/* eslint-disable */
|
|
1850
1862
|
/* tslint:disable */
|
|
@@ -2325,12 +2337,12 @@ class MenuItemComponent {
|
|
|
2325
2337
|
});
|
|
2326
2338
|
}
|
|
2327
2339
|
editClick(event) {
|
|
2328
|
-
this.menuItemEditDialogComponent.showDialog();
|
|
2340
|
+
this.menuItemEditDialogComponent.showDialog().then();
|
|
2329
2341
|
}
|
|
2330
2342
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MenuItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$3.Router }, { token: MenuService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2331
2343
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.2", type: MenuItemComponent, isStandalone: true, selector: "[app-menuitem]", inputs: { item: "item", index: "index", root: "root", parentKey: "parentKey", menuItemCreateDialogComponent: "menuItemCreateDialogComponent", menuItemEditDialogComponent: "menuItemEditDialogComponent", contextMenu: "contextMenu" }, host: { properties: { "class.layout-root-menuitem": "this.root", "class.active-menuitem": "this.activeClass" } }, providers: [ConfirmationService], ngImport: i0, template: `
|
|
2332
2344
|
<ng-container>
|
|
2333
|
-
<p-confirm-dialog
|
|
2345
|
+
<p-confirm-dialog/>
|
|
2334
2346
|
<div
|
|
2335
2347
|
*ngIf="root && item.visible !== false"
|
|
2336
2348
|
class="layout-menuitem-root-text"
|
|
@@ -2396,7 +2408,7 @@ class MenuItemComponent {
|
|
|
2396
2408
|
</ng-template>
|
|
2397
2409
|
</ul>
|
|
2398
2410
|
</ng-container>
|
|
2399
|
-
`, isInline: true, dependencies: [{ kind: "component", type: MenuItemComponent, selector: "[app-menuitem]", inputs: ["item", "index", "root", "parentKey", "menuItemCreateDialogComponent", "menuItemEditDialogComponent", "contextMenu"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i3$
|
|
2411
|
+
`, isInline: true, dependencies: [{ kind: "component", type: MenuItemComponent, selector: "[app-menuitem]", inputs: ["item", "index", "root", "parentKey", "menuItemCreateDialogComponent", "menuItemEditDialogComponent", "contextMenu"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i3$2.Ripple, selector: "[pRipple]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: ContextMenuModule }, { kind: "component", type: ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position", "draggable"], outputs: ["onHide"] }], animations: [
|
|
2400
2412
|
trigger('children', [
|
|
2401
2413
|
state('collapsed', style({
|
|
2402
2414
|
height: '0'
|
|
@@ -2415,7 +2427,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
|
|
|
2415
2427
|
selector: '[app-menuitem]',
|
|
2416
2428
|
template: `
|
|
2417
2429
|
<ng-container>
|
|
2418
|
-
<p-confirm-dialog
|
|
2430
|
+
<p-confirm-dialog/>
|
|
2419
2431
|
<div
|
|
2420
2432
|
*ngIf="root && item.visible !== false"
|
|
2421
2433
|
class="layout-menuitem-root-text"
|
|
@@ -2614,7 +2626,7 @@ class MenuItemCreateDialogComponent {
|
|
|
2614
2626
|
(keydown)="save()" />
|
|
2615
2627
|
</div>
|
|
2616
2628
|
</p-dialog>
|
|
2617
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i2$1.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "appendTo", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3$
|
|
2629
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i2$1.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "appendTo", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3$3.InputText, selector: "[pInputText]", inputs: ["pSize", "variant", "fluid", "invalid"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i4$1.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
2618
2630
|
}
|
|
2619
2631
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MenuItemCreateDialogComponent, decorators: [{
|
|
2620
2632
|
type: Component,
|
|
@@ -2791,7 +2803,7 @@ class MenuItemEditDialogComponent {
|
|
|
2791
2803
|
(keydown)="save()" />
|
|
2792
2804
|
</div>
|
|
2793
2805
|
</p-dialog>
|
|
2794
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i2$1.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "appendTo", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3$
|
|
2806
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i2$1.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "appendTo", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3$3.InputText, selector: "[pInputText]", inputs: ["pSize", "variant", "fluid", "invalid"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i1.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "styleClass", "panelStyle", "panelStyleClass", "inputId", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "dataKey", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "placeholder", "options", "filterValue", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus", "highlightOnSelect", "size", "variant", "fluid", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
2795
2807
|
}
|
|
2796
2808
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MenuItemEditDialogComponent, decorators: [{
|
|
2797
2809
|
type: Component,
|
|
@@ -2884,7 +2896,8 @@ class MenuComponent {
|
|
|
2884
2896
|
];
|
|
2885
2897
|
}
|
|
2886
2898
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2887
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: MenuComponent, isStandalone: true, selector: "app-menu", providers: [Menu], viewQueries: [{ propertyName: "menuItemCreateDialogComponent", first: true, predicate: MenuItemCreateDialogComponent, descendants: true }, { propertyName: "menuItemEditDialogComponent", first: true, predicate: MenuItemEditDialogComponent, descendants: true }, { propertyName: "contextMenu", first: true, predicate: ContextMenu, descendants: true }], ngImport: i0, template: `
|
|
2899
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: MenuComponent, isStandalone: true, selector: "app-menu", providers: [Menu], viewQueries: [{ propertyName: "menuItemCreateDialogComponent", first: true, predicate: MenuItemCreateDialogComponent, descendants: true }, { propertyName: "menuItemEditDialogComponent", first: true, predicate: MenuItemEditDialogComponent, descendants: true }, { propertyName: "contextMenu", first: true, predicate: ContextMenu, descendants: true }], ngImport: i0, template: `
|
|
2900
|
+
<div #empty class="layout-sidebar" (contextmenu)="onContextMenu($event)">
|
|
2888
2901
|
<ul class="layout-menu">
|
|
2889
2902
|
@for (item of menuService.menu; track item; let i = $index) {
|
|
2890
2903
|
<ng-container>
|
|
@@ -2904,10 +2917,10 @@ class MenuComponent {
|
|
|
2904
2917
|
}
|
|
2905
2918
|
</ul>
|
|
2906
2919
|
</div>
|
|
2907
|
-
<p-contextMenu [target]="empty"
|
|
2920
|
+
<p-contextMenu [target]="empty"/>
|
|
2908
2921
|
@if (securityService.isAdmin) {
|
|
2909
|
-
<menu-item-create-dialog
|
|
2910
|
-
<menu-item-edit-dialog
|
|
2922
|
+
<menu-item-create-dialog/>
|
|
2923
|
+
<menu-item-edit-dialog/>
|
|
2911
2924
|
}`, isInline: true, dependencies: [{ kind: "component", type: MenuItemComponent, selector: "[app-menuitem]", inputs: ["item", "index", "root", "parentKey", "menuItemCreateDialogComponent", "menuItemEditDialogComponent", "contextMenu"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: ContextMenuModule }, { kind: "component", type: i1$4.ContextMenu, selector: "p-contextMenu, p-contextmenu, p-context-menu", inputs: ["model", "triggerEvent", "target", "global", "style", "styleClass", "autoZIndex", "baseZIndex", "id", "breakpoint", "ariaLabel", "ariaLabelledBy", "pressDelay", "appendTo"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: DialogModule }, { kind: "ngmodule", type: InputTextModule }, { kind: "component", type: MenuItemCreateDialogComponent, selector: "menu-item-create-dialog", inputs: ["visible"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: MenuItemEditDialogComponent, selector: "menu-item-edit-dialog", inputs: ["visible"], outputs: ["visibleChange"] }] }); }
|
|
2912
2925
|
}
|
|
2913
2926
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MenuComponent, decorators: [{
|
|
@@ -2926,7 +2939,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
|
|
|
2926
2939
|
providers: [Menu],
|
|
2927
2940
|
selector: 'app-menu',
|
|
2928
2941
|
standalone: true,
|
|
2929
|
-
template: `
|
|
2942
|
+
template: `
|
|
2943
|
+
<div #empty class="layout-sidebar" (contextmenu)="onContextMenu($event)">
|
|
2930
2944
|
<ul class="layout-menu">
|
|
2931
2945
|
@for (item of menuService.menu; track item; let i = $index) {
|
|
2932
2946
|
<ng-container>
|
|
@@ -2946,10 +2960,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
|
|
|
2946
2960
|
}
|
|
2947
2961
|
</ul>
|
|
2948
2962
|
</div>
|
|
2949
|
-
<p-contextMenu [target]="empty"
|
|
2963
|
+
<p-contextMenu [target]="empty"/>
|
|
2950
2964
|
@if (securityService.isAdmin) {
|
|
2951
|
-
<menu-item-create-dialog
|
|
2952
|
-
<menu-item-edit-dialog
|
|
2965
|
+
<menu-item-create-dialog/>
|
|
2966
|
+
<menu-item-edit-dialog/>
|
|
2953
2967
|
}`
|
|
2954
2968
|
}]
|
|
2955
2969
|
}], propDecorators: { menuItemCreateDialogComponent: [{
|
|
@@ -3135,7 +3149,7 @@ class AppFloatingConfiguratorComponent {
|
|
|
3135
3149
|
<app-configurator />
|
|
3136
3150
|
</div>
|
|
3137
3151
|
</div>
|
|
3138
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: StyleClassModule }, { kind: "directive", type:
|
|
3152
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: StyleClassModule }, { kind: "directive", type: i3$1.StyleClass, selector: "[pStyleClass]", inputs: ["pStyleClass", "enterFromClass", "enterActiveClass", "enterToClass", "leaveFromClass", "leaveActiveClass", "leaveToClass", "hideOnOutsideClick", "toggleClass", "hideOnEscape", "hideOnResize", "resizeSelector"] }, { kind: "component", type: AppConfiguratorComponent, selector: "app-configurator" }] }); }
|
|
3139
3153
|
}
|
|
3140
3154
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: AppFloatingConfiguratorComponent, decorators: [{
|
|
3141
3155
|
type: Component,
|
|
@@ -3170,9 +3184,96 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
|
|
|
3170
3184
|
}]
|
|
3171
3185
|
}] });
|
|
3172
3186
|
|
|
3187
|
+
/**
|
|
3188
|
+
* Service for managing translation loading in the application
|
|
3189
|
+
*/
|
|
3190
|
+
class L10nService {
|
|
3191
|
+
constructor() {
|
|
3192
|
+
this.loadedTranslations = new Set();
|
|
3193
|
+
this.httpClient = inject(HttpClient$1);
|
|
3194
|
+
this.translateService = inject(TranslateService);
|
|
3195
|
+
this.primeNg = inject(PrimeNG);
|
|
3196
|
+
this.layoutService = inject(LayoutService);
|
|
3197
|
+
}
|
|
3198
|
+
/**
|
|
3199
|
+
* Loads translations for a specific component
|
|
3200
|
+
* @param component - Name of the component to load translations for
|
|
3201
|
+
*/
|
|
3202
|
+
loadComponentTranslations(component) {
|
|
3203
|
+
const lang = this.translateService.currentLang;
|
|
3204
|
+
this.loadTranslations(component, lang);
|
|
3205
|
+
}
|
|
3206
|
+
/**
|
|
3207
|
+
* Gets the translated value of a key (or an array of keys)
|
|
3208
|
+
* @returns the translated key, or an object of translated keys
|
|
3209
|
+
*/
|
|
3210
|
+
get(key) {
|
|
3211
|
+
this.loadComponentTranslations(key.split('.')[0]);
|
|
3212
|
+
return this.translateService.get(key);
|
|
3213
|
+
}
|
|
3214
|
+
/**
|
|
3215
|
+
* Internal method to load translations from JSON files
|
|
3216
|
+
* @param component - Component or translation namespace
|
|
3217
|
+
* @param lang - Language code to load translations for
|
|
3218
|
+
*/
|
|
3219
|
+
loadTranslations(component, lang) {
|
|
3220
|
+
// Create unique key for this component-language combination
|
|
3221
|
+
const key = `${component}.${lang}`;
|
|
3222
|
+
// Skip if translations are already loaded
|
|
3223
|
+
if (this.loadedTranslations.has(key)) {
|
|
3224
|
+
return;
|
|
3225
|
+
}
|
|
3226
|
+
try {
|
|
3227
|
+
// Load translation file from assets
|
|
3228
|
+
this.httpClient.get(`./assets/i18n/${component}.${lang}.json`).subscribe((translations) => {
|
|
3229
|
+
// Get existing translations for the language
|
|
3230
|
+
const current = this.translateService.translations[lang] || {};
|
|
3231
|
+
// Merge new translations with existing ones
|
|
3232
|
+
this.translateService.setTranslation(lang, { ...current, ...translations }, true);
|
|
3233
|
+
// Mark these translations as loaded
|
|
3234
|
+
this.loadedTranslations.add(key);
|
|
3235
|
+
});
|
|
3236
|
+
}
|
|
3237
|
+
catch (e) {
|
|
3238
|
+
console.warn(`No translations found for ${component}.${lang}.json`);
|
|
3239
|
+
console.error(e);
|
|
3240
|
+
}
|
|
3241
|
+
}
|
|
3242
|
+
/**
|
|
3243
|
+
* Changes the lang currently used
|
|
3244
|
+
*/
|
|
3245
|
+
use(selectedLanguage, key = null) {
|
|
3246
|
+
if (key) {
|
|
3247
|
+
this.get(key);
|
|
3248
|
+
}
|
|
3249
|
+
this.translateService.use(selectedLanguage);
|
|
3250
|
+
}
|
|
3251
|
+
init(langs) {
|
|
3252
|
+
this.translateService.addLangs(langs);
|
|
3253
|
+
const lang = /en|ru/.exec(this.layoutService.language()) ? this.layoutService.language() : 'en';
|
|
3254
|
+
this.translateService.setDefaultLang(lang);
|
|
3255
|
+
this.translateService.use(lang);
|
|
3256
|
+
this.loadComponentTranslations('app-info');
|
|
3257
|
+
this.translateService.get('primeng').subscribe((res) => this.primeNg.setTranslation(res));
|
|
3258
|
+
}
|
|
3259
|
+
instant(key, interpolateParams) {
|
|
3260
|
+
return this.translateService.instant(key, interpolateParams);
|
|
3261
|
+
}
|
|
3262
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: L10nService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3263
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: L10nService, providedIn: 'root' }); }
|
|
3264
|
+
}
|
|
3265
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: L10nService, decorators: [{
|
|
3266
|
+
type: Injectable,
|
|
3267
|
+
args: [{ providedIn: 'root' }]
|
|
3268
|
+
}] });
|
|
3269
|
+
|
|
3173
3270
|
class NotfoundComponent {
|
|
3174
|
-
|
|
3175
|
-
|
|
3271
|
+
constructor(l10nService) {
|
|
3272
|
+
l10nService.get('notfound');
|
|
3273
|
+
}
|
|
3274
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: NotfoundComponent, deps: [{ token: L10nService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3275
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.2", type: NotfoundComponent, isStandalone: true, selector: "app-notfound", ngImport: i0, template: `
|
|
3276
|
+
<app-floating-configurator/>
|
|
3176
3277
|
<div class="flex items-center justify-center min-h-screen overflow-hidden">
|
|
3177
3278
|
<div class="flex flex-col items-center justify-center">
|
|
3178
3279
|
<div
|
|
@@ -3181,22 +3282,23 @@ class NotfoundComponent {
|
|
|
3181
3282
|
class="w-full bg-surface-0 dark:bg-surface-900 py-20 px-8 sm:px-20 flex flex-col items-center"
|
|
3182
3283
|
style="border-radius: 53px">
|
|
3183
3284
|
<div class="flex flex-col items-center justify-center">
|
|
3184
|
-
<logo height="96" width="96"></logo>
|
|
3285
|
+
<logo [height]="96" [width]="96"></logo>
|
|
3185
3286
|
</div>
|
|
3186
|
-
<span class="text-primary font-bold text-3xl">
|
|
3187
|
-
<h1 class="text-surface-900 dark:text-surface-0 font-bold text-3xl lg:text-5xl mb-2">
|
|
3188
|
-
<div class="text-surface-600 dark:text-surface-200 mb-8">
|
|
3189
|
-
<p-button id="oip-app-notfound-go-to-home-button" label="
|
|
3287
|
+
<span class="text-primary font-bold text-3xl">{{ 'notfound.errorCode' | translate }}</span>
|
|
3288
|
+
<h1 class="text-surface-900 dark:text-surface-0 font-bold text-3xl lg:text-5xl mb-2">{{ 'notfound.title' | translate }}</h1>
|
|
3289
|
+
<div class="text-surface-600 dark:text-surface-200 mb-8">{{ 'notfound.description' | translate }}</div>
|
|
3290
|
+
<p-button id="oip-app-notfound-go-to-home-button" [label]="'notfound.button' | translate" routerLink="/"/>
|
|
3190
3291
|
</div>
|
|
3191
3292
|
</div>
|
|
3192
3293
|
</div>
|
|
3193
|
-
</div>`, isInline: true, dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: LogoComponent, selector: "logo", inputs: ["width", "height"] }, { kind: "component", type: Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: AppFloatingConfiguratorComponent, selector: "app-floating-configurator" }] }); }
|
|
3294
|
+
</div>`, isInline: true, dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: LogoComponent, selector: "logo", inputs: ["width", "height"] }, { kind: "component", type: Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: AppFloatingConfiguratorComponent, selector: "app-floating-configurator" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }] }); }
|
|
3194
3295
|
}
|
|
3195
3296
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: NotfoundComponent, decorators: [{
|
|
3196
3297
|
type: Component,
|
|
3197
3298
|
args: [{
|
|
3198
3299
|
selector: 'app-notfound',
|
|
3199
|
-
template: `
|
|
3300
|
+
template: `
|
|
3301
|
+
<app-floating-configurator/>
|
|
3200
3302
|
<div class="flex items-center justify-center min-h-screen overflow-hidden">
|
|
3201
3303
|
<div class="flex flex-col items-center justify-center">
|
|
3202
3304
|
<div
|
|
@@ -3205,20 +3307,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
|
|
|
3205
3307
|
class="w-full bg-surface-0 dark:bg-surface-900 py-20 px-8 sm:px-20 flex flex-col items-center"
|
|
3206
3308
|
style="border-radius: 53px">
|
|
3207
3309
|
<div class="flex flex-col items-center justify-center">
|
|
3208
|
-
<logo height="96" width="96"></logo>
|
|
3310
|
+
<logo [height]="96" [width]="96"></logo>
|
|
3209
3311
|
</div>
|
|
3210
|
-
<span class="text-primary font-bold text-3xl">
|
|
3211
|
-
<h1 class="text-surface-900 dark:text-surface-0 font-bold text-3xl lg:text-5xl mb-2">
|
|
3212
|
-
<div class="text-surface-600 dark:text-surface-200 mb-8">
|
|
3213
|
-
<p-button id="oip-app-notfound-go-to-home-button" label="
|
|
3312
|
+
<span class="text-primary font-bold text-3xl">{{ 'notfound.errorCode' | translate }}</span>
|
|
3313
|
+
<h1 class="text-surface-900 dark:text-surface-0 font-bold text-3xl lg:text-5xl mb-2">{{ 'notfound.title' | translate }}</h1>
|
|
3314
|
+
<div class="text-surface-600 dark:text-surface-200 mb-8">{{ 'notfound.description' | translate }}</div>
|
|
3315
|
+
<p-button id="oip-app-notfound-go-to-home-button" [label]="'notfound.button' | translate" routerLink="/"/>
|
|
3214
3316
|
</div>
|
|
3215
3317
|
</div>
|
|
3216
3318
|
</div>
|
|
3217
3319
|
</div>`,
|
|
3218
|
-
imports: [RouterLink, LogoComponent, Button, AppFloatingConfiguratorComponent],
|
|
3320
|
+
imports: [RouterLink, LogoComponent, Button, AppFloatingConfiguratorComponent, TranslateModule],
|
|
3219
3321
|
standalone: true
|
|
3220
3322
|
}]
|
|
3221
|
-
}] });
|
|
3323
|
+
}], ctorParameters: () => [{ type: L10nService }] });
|
|
3222
3324
|
|
|
3223
3325
|
class UnauthorizedComponent {
|
|
3224
3326
|
constructor() {
|
|
@@ -3330,7 +3432,7 @@ class ErrorComponent {
|
|
|
3330
3432
|
</div>
|
|
3331
3433
|
</div>
|
|
3332
3434
|
</div>
|
|
3333
|
-
</div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i1$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i3$
|
|
3435
|
+
</div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i1$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i3$2.Ripple, selector: "[pRipple]" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
|
|
3334
3436
|
}
|
|
3335
3437
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: ErrorComponent, decorators: [{
|
|
3336
3438
|
type: Component,
|
|
@@ -3403,7 +3505,7 @@ class ProfileComponent {
|
|
|
3403
3505
|
[auto]="true"
|
|
3404
3506
|
(onUpload)="onBasicUploadAuto($event)" />
|
|
3405
3507
|
</div>
|
|
3406
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FileUploadModule }, { kind: "component", type: i1$5.FileUpload, selector: "p-fileupload, p-fileUpload", inputs: ["name", "url", "method", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "style", "styleClass", "previewWidth", "chooseLabel", "uploadLabel", "cancelLabel", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "headers", "customUpload", "fileLimit", "uploadStyleClass", "cancelStyleClass", "removeStyleClass", "chooseStyleClass", "chooseButtonProps", "uploadButtonProps", "cancelButtonProps", "files"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler", "onImageError", "onRemoveUploadedFile"] }, { kind: "ngmodule", type: ImageModule }, { kind: "ngmodule", type: AvatarModule }, { kind: "component", type:
|
|
3508
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FileUploadModule }, { kind: "component", type: i1$5.FileUpload, selector: "p-fileupload, p-fileUpload", inputs: ["name", "url", "method", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "style", "styleClass", "previewWidth", "chooseLabel", "uploadLabel", "cancelLabel", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "headers", "customUpload", "fileLimit", "uploadStyleClass", "cancelStyleClass", "removeStyleClass", "chooseStyleClass", "chooseButtonProps", "uploadButtonProps", "cancelButtonProps", "files"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler", "onImageError", "onRemoveUploadedFile"] }, { kind: "ngmodule", type: ImageModule }, { kind: "ngmodule", type: AvatarModule }, { kind: "component", type: i4.Avatar, selector: "p-avatar", inputs: ["label", "icon", "image", "size", "shape", "styleClass", "ariaLabel", "ariaLabelledBy"], outputs: ["onImageError"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
3407
3509
|
}
|
|
3408
3510
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: ProfileComponent, decorators: [{
|
|
3409
3511
|
type: Component,
|
|
@@ -3436,72 +3538,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
|
|
|
3436
3538
|
}]
|
|
3437
3539
|
}] });
|
|
3438
3540
|
|
|
3439
|
-
/**
|
|
3440
|
-
* Service for managing translation loading in the application
|
|
3441
|
-
*/
|
|
3442
|
-
class L10nService {
|
|
3443
|
-
constructor() {
|
|
3444
|
-
this.loadedTranslations = new Set();
|
|
3445
|
-
this.httpClient = inject(HttpClient$1);
|
|
3446
|
-
this.translateService = inject(TranslateService);
|
|
3447
|
-
}
|
|
3448
|
-
/**
|
|
3449
|
-
* Loads translations for a specific component
|
|
3450
|
-
* @param component - Name of the component to load translations for
|
|
3451
|
-
*/
|
|
3452
|
-
async loadComponentTranslations(component) {
|
|
3453
|
-
const lang = this.translateService.currentLang;
|
|
3454
|
-
await this.loadTranslations(component, lang);
|
|
3455
|
-
}
|
|
3456
|
-
/**
|
|
3457
|
-
* Gets the translated value of a key (or an array of keys)
|
|
3458
|
-
* @returns the translated key, or an object of translated keys
|
|
3459
|
-
*/
|
|
3460
|
-
async get(key) {
|
|
3461
|
-
await this.loadComponentTranslations(key);
|
|
3462
|
-
return this.translateService.get(key);
|
|
3463
|
-
}
|
|
3464
|
-
/**
|
|
3465
|
-
* Internal method to load translations from JSON files
|
|
3466
|
-
* @param component - Component or translation namespace
|
|
3467
|
-
* @param lang - Language code to load translations for
|
|
3468
|
-
*/
|
|
3469
|
-
async loadTranslations(component, lang) {
|
|
3470
|
-
// Create unique key for this component-language combination
|
|
3471
|
-
const key = `${component}.${lang}`;
|
|
3472
|
-
// Skip if translations are already loaded
|
|
3473
|
-
if (this.loadedTranslations.has(key)) {
|
|
3474
|
-
return;
|
|
3475
|
-
}
|
|
3476
|
-
try {
|
|
3477
|
-
// Load translation file from assets
|
|
3478
|
-
const translations = await lastValueFrom(this.httpClient.get(`./assets/i18n/${component}.${lang}.json`));
|
|
3479
|
-
// Get existing translations for the language
|
|
3480
|
-
const current = this.translateService.translations[lang] || {};
|
|
3481
|
-
// Merge new translations with existing ones
|
|
3482
|
-
this.translateService.setTranslation(lang, { ...current, ...translations }, true);
|
|
3483
|
-
// Mark these translations as loaded
|
|
3484
|
-
this.loadedTranslations.add(key);
|
|
3485
|
-
}
|
|
3486
|
-
catch (e) {
|
|
3487
|
-
console.warn(`No translations found for ${component}.${lang}.json`);
|
|
3488
|
-
console.error(e);
|
|
3489
|
-
}
|
|
3490
|
-
}
|
|
3491
|
-
/**
|
|
3492
|
-
* Changes the lang currently used
|
|
3493
|
-
*/
|
|
3494
|
-
use(selectedLanguage) {
|
|
3495
|
-
this.translateService.use(selectedLanguage);
|
|
3496
|
-
}
|
|
3497
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: L10nService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3498
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: L10nService, providedIn: 'root' }); }
|
|
3499
|
-
}
|
|
3500
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: L10nService, decorators: [{
|
|
3501
|
-
type: Injectable,
|
|
3502
|
-
args: [{ providedIn: 'root' }]
|
|
3503
|
-
}] });
|
|
3504
|
-
|
|
3505
3541
|
class ConfigComponent {
|
|
3506
3542
|
constructor() {
|
|
3507
3543
|
this.layoutService = inject(LayoutService);
|
|
@@ -3514,12 +3550,10 @@ class ConfigComponent {
|
|
|
3514
3550
|
{ value: 'en', label: 'English' },
|
|
3515
3551
|
{ value: 'ru', label: 'Русский' }
|
|
3516
3552
|
];
|
|
3553
|
+
this.l10nService.loadComponentTranslations('config');
|
|
3517
3554
|
this.selectedLanguage = this.layoutService.language();
|
|
3518
3555
|
}
|
|
3519
3556
|
async ngOnInit() {
|
|
3520
|
-
(await this.l10nService.get('config')).subscribe((l10n) => {
|
|
3521
|
-
this.l10n = l10n;
|
|
3522
|
-
});
|
|
3523
3557
|
}
|
|
3524
3558
|
/**
|
|
3525
3559
|
* Changes the application's language.
|
|
@@ -3530,7 +3564,7 @@ class ConfigComponent {
|
|
|
3530
3564
|
...config,
|
|
3531
3565
|
language: this.selectedLanguage
|
|
3532
3566
|
}));
|
|
3533
|
-
this.l10nService.use(this.selectedLanguage);
|
|
3567
|
+
this.l10nService.use(this.selectedLanguage, 'config');
|
|
3534
3568
|
}
|
|
3535
3569
|
async onSwitchChange() {
|
|
3536
3570
|
await this.menuService.loadMenu();
|
|
@@ -3541,15 +3575,15 @@ class ConfigComponent {
|
|
|
3541
3575
|
<div class="flex flex-col md:flex-row gap-4">
|
|
3542
3576
|
<div class="md:w-1/2">
|
|
3543
3577
|
<div class="card flex flex-col gap-4">
|
|
3544
|
-
<div class="font-semibold text-xl">{{
|
|
3578
|
+
<div class="font-semibold text-xl">{{ 'config.profile' | translate }}</div>
|
|
3545
3579
|
<div class="flex justify-content-end flex-wrap">
|
|
3546
3580
|
{{ userService.userName }}
|
|
3547
3581
|
</div>
|
|
3548
3582
|
<label>
|
|
3549
|
-
{{
|
|
3583
|
+
{{ 'config.photo' | translate }}
|
|
3550
3584
|
<span
|
|
3551
3585
|
class="pi pi-question-circle"
|
|
3552
|
-
pTooltip="{{
|
|
3586
|
+
pTooltip="{{ 'config.usePhoto256x256Pixel' | translate }}"
|
|
3553
3587
|
tooltipPosition="right"></span>
|
|
3554
3588
|
</label>
|
|
3555
3589
|
<div class="flex justify-content-end flex-wrap">
|
|
@@ -3559,8 +3593,8 @@ class ConfigComponent {
|
|
|
3559
3593
|
</div>
|
|
3560
3594
|
<div class="md:w-1/2">
|
|
3561
3595
|
<div class="card flex flex-col gap-4">
|
|
3562
|
-
<div class="font-semibold text-xl">{{
|
|
3563
|
-
<label> {{
|
|
3596
|
+
<div class="font-semibold text-xl">{{ 'config.localization' | translate }}</div>
|
|
3597
|
+
<label> {{ 'config.selectLanguage' | translate }} </label>
|
|
3564
3598
|
<div class="flex justify-content-end flex-wrap">
|
|
3565
3599
|
<p-select
|
|
3566
3600
|
class="w-full md:w-56"
|
|
@@ -3569,31 +3603,31 @@ class ConfigComponent {
|
|
|
3569
3603
|
optionValue="value"
|
|
3570
3604
|
[options]="languages"
|
|
3571
3605
|
[(ngModel)]="selectedLanguage"
|
|
3572
|
-
(onChange)="changeLanguage()"
|
|
3606
|
+
(onChange)="changeLanguage()"/>
|
|
3573
3607
|
</div>
|
|
3574
3608
|
</div>
|
|
3575
3609
|
</div>
|
|
3576
3610
|
@if (securityService.isAdmin()) {
|
|
3577
3611
|
<div class="md:w-1/2">
|
|
3578
3612
|
<div class="card flex flex-col gap-4">
|
|
3579
|
-
<div class="font-semibold text-xl">{{
|
|
3613
|
+
<div class="font-semibold text-xl">{{ 'config.menu' | translate }}</div>
|
|
3580
3614
|
<div class="flex items-center gap-2">
|
|
3581
|
-
<label for="oip-app-config-admin-mode">{{
|
|
3615
|
+
<label for="oip-app-config-admin-mode">{{ 'config.all' | translate }}</label>
|
|
3582
3616
|
<p-toggle-switch
|
|
3583
3617
|
id="oip-app-config-admin-mode"
|
|
3584
3618
|
[(ngModel)]="menuService.adminMode"
|
|
3585
3619
|
(onChange)="onSwitchChange()"></p-toggle-switch>
|
|
3586
3620
|
</div>
|
|
3587
3621
|
<div class="flex items-center gap-2">
|
|
3588
|
-
<label for="oip-app-config-admin-mode">{{
|
|
3589
|
-
<p-button icon="pi pi-cog" label="{{
|
|
3622
|
+
<label for="oip-app-config-admin-mode">{{ 'config.moduleManagement' | translate }}</label>
|
|
3623
|
+
<p-button icon="pi pi-cog" label="{{ 'config.goTo' | translate }}" routerLink="/modules"/>
|
|
3590
3624
|
</div>
|
|
3591
3625
|
</div>
|
|
3592
3626
|
</div>
|
|
3593
3627
|
}
|
|
3594
3628
|
</div>
|
|
3595
3629
|
</p-fluid>
|
|
3596
|
-
`, isInline: true, dependencies: [{ kind: "component", type: ProfileComponent, selector: "user-profile" }, { kind: "component", type: Fluid, selector: "p-fluid" }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: TableModule }, { kind: "ngmodule", type: ToggleSwitchModule }, { kind: "component", type: i2$
|
|
3630
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ProfileComponent, selector: "user-profile" }, { kind: "component", type: Fluid, selector: "p-fluid" }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: TableModule }, { kind: "ngmodule", type: ToggleSwitchModule }, { kind: "component", type: i2$3.ToggleSwitch, selector: "p-toggleswitch, p-toggleSwitch, p-toggle-switch", inputs: ["styleClass", "tabindex", "inputId", "readonly", "trueValue", "falseValue", "ariaLabel", "size", "ariaLabelledBy", "autofocus"], outputs: ["onChange"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
3597
3631
|
}
|
|
3598
3632
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: ConfigComponent, decorators: [{
|
|
3599
3633
|
type: Component,
|
|
@@ -3604,15 +3638,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
|
|
|
3604
3638
|
<div class="flex flex-col md:flex-row gap-4">
|
|
3605
3639
|
<div class="md:w-1/2">
|
|
3606
3640
|
<div class="card flex flex-col gap-4">
|
|
3607
|
-
<div class="font-semibold text-xl">{{
|
|
3641
|
+
<div class="font-semibold text-xl">{{ 'config.profile' | translate }}</div>
|
|
3608
3642
|
<div class="flex justify-content-end flex-wrap">
|
|
3609
3643
|
{{ userService.userName }}
|
|
3610
3644
|
</div>
|
|
3611
3645
|
<label>
|
|
3612
|
-
{{
|
|
3646
|
+
{{ 'config.photo' | translate }}
|
|
3613
3647
|
<span
|
|
3614
3648
|
class="pi pi-question-circle"
|
|
3615
|
-
pTooltip="{{
|
|
3649
|
+
pTooltip="{{ 'config.usePhoto256x256Pixel' | translate }}"
|
|
3616
3650
|
tooltipPosition="right"></span>
|
|
3617
3651
|
</label>
|
|
3618
3652
|
<div class="flex justify-content-end flex-wrap">
|
|
@@ -3622,8 +3656,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
|
|
|
3622
3656
|
</div>
|
|
3623
3657
|
<div class="md:w-1/2">
|
|
3624
3658
|
<div class="card flex flex-col gap-4">
|
|
3625
|
-
<div class="font-semibold text-xl">{{
|
|
3626
|
-
<label> {{
|
|
3659
|
+
<div class="font-semibold text-xl">{{ 'config.localization' | translate }}</div>
|
|
3660
|
+
<label> {{ 'config.selectLanguage' | translate }} </label>
|
|
3627
3661
|
<div class="flex justify-content-end flex-wrap">
|
|
3628
3662
|
<p-select
|
|
3629
3663
|
class="w-full md:w-56"
|
|
@@ -3632,24 +3666,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
|
|
|
3632
3666
|
optionValue="value"
|
|
3633
3667
|
[options]="languages"
|
|
3634
3668
|
[(ngModel)]="selectedLanguage"
|
|
3635
|
-
(onChange)="changeLanguage()"
|
|
3669
|
+
(onChange)="changeLanguage()"/>
|
|
3636
3670
|
</div>
|
|
3637
3671
|
</div>
|
|
3638
3672
|
</div>
|
|
3639
3673
|
@if (securityService.isAdmin()) {
|
|
3640
3674
|
<div class="md:w-1/2">
|
|
3641
3675
|
<div class="card flex flex-col gap-4">
|
|
3642
|
-
<div class="font-semibold text-xl">{{
|
|
3676
|
+
<div class="font-semibold text-xl">{{ 'config.menu' | translate }}</div>
|
|
3643
3677
|
<div class="flex items-center gap-2">
|
|
3644
|
-
<label for="oip-app-config-admin-mode">{{
|
|
3678
|
+
<label for="oip-app-config-admin-mode">{{ 'config.all' | translate }}</label>
|
|
3645
3679
|
<p-toggle-switch
|
|
3646
3680
|
id="oip-app-config-admin-mode"
|
|
3647
3681
|
[(ngModel)]="menuService.adminMode"
|
|
3648
3682
|
(onChange)="onSwitchChange()"></p-toggle-switch>
|
|
3649
3683
|
</div>
|
|
3650
3684
|
<div class="flex items-center gap-2">
|
|
3651
|
-
<label for="oip-app-config-admin-mode">{{
|
|
3652
|
-
<p-button icon="pi pi-cog" label="{{
|
|
3685
|
+
<label for="oip-app-config-admin-mode">{{ 'config.moduleManagement' | translate }}</label>
|
|
3686
|
+
<p-button icon="pi pi-cog" label="{{ 'config.goTo' | translate }}" routerLink="/modules"/>
|
|
3653
3687
|
</div>
|
|
3654
3688
|
</div>
|
|
3655
3689
|
</div>
|
|
@@ -3657,11 +3691,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
|
|
|
3657
3691
|
</div>
|
|
3658
3692
|
</p-fluid>
|
|
3659
3693
|
`,
|
|
3660
|
-
imports: [ProfileComponent, Fluid, Tooltip, FormsModule, Select, TableModule, ToggleSwitchModule, RouterLink, Button]
|
|
3694
|
+
imports: [ProfileComponent, Fluid, Tooltip, FormsModule, Select, TableModule, ToggleSwitchModule, RouterLink, Button, TranslatePipe]
|
|
3661
3695
|
}]
|
|
3662
3696
|
}], ctorParameters: () => [] });
|
|
3663
3697
|
|
|
3664
3698
|
class DbMigrationComponent extends BaseModuleComponent {
|
|
3699
|
+
constructor() {
|
|
3700
|
+
super();
|
|
3701
|
+
this.l10nService = inject(L10nService);
|
|
3702
|
+
this.l10nService.loadComponentTranslations('db-migration');
|
|
3703
|
+
}
|
|
3665
3704
|
async ngOnInit() {
|
|
3666
3705
|
await super.ngOnInit();
|
|
3667
3706
|
await this.refreshAction();
|
|
@@ -3673,7 +3712,7 @@ class DbMigrationComponent extends BaseModuleComponent {
|
|
|
3673
3712
|
})
|
|
3674
3713
|
.catch((error) => {
|
|
3675
3714
|
console.log(error);
|
|
3676
|
-
this.msgService.error('
|
|
3715
|
+
this.msgService.error(this.l10nService.instant('db-migration.messages.errorRefreshing'));
|
|
3677
3716
|
});
|
|
3678
3717
|
}
|
|
3679
3718
|
async getData() {
|
|
@@ -3683,89 +3722,91 @@ class DbMigrationComponent extends BaseModuleComponent {
|
|
|
3683
3722
|
const request = { name: rowData.name };
|
|
3684
3723
|
return this.baseDataService.sendRequest(`api/${this.controller}/apply-migration`, 'POST', request);
|
|
3685
3724
|
}
|
|
3686
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: DbMigrationComponent, deps:
|
|
3725
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: DbMigrationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3687
3726
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: DbMigrationComponent, isStandalone: true, selector: "db-migration", providers: [ConfirmationService], usesInheritance: true, ngImport: i0, template: `
|
|
3688
|
-
|
|
3689
|
-
<
|
|
3690
|
-
|
|
3691
|
-
<h5>Migration manager</h5>
|
|
3692
|
-
<div class="flex flex-row gap-2">
|
|
3693
|
-
<p-button
|
|
3694
|
-
icon="pi pi-refresh"
|
|
3695
|
-
pTooltip="Refresh"
|
|
3696
|
-
severity="secondary"
|
|
3697
|
-
tooltipPosition="bottom"
|
|
3698
|
-
[outlined]="true"
|
|
3699
|
-
(click)="refreshAction()" />
|
|
3700
|
-
<p-button
|
|
3701
|
-
icon="pi pi-filter-slash"
|
|
3702
|
-
pTooltip="Clean filter"
|
|
3703
|
-
severity="secondary"
|
|
3704
|
-
tooltipPosition="bottom"
|
|
3705
|
-
[outlined]="true"
|
|
3706
|
-
(click)="dt.clear()" />
|
|
3707
|
-
</div>
|
|
3727
|
+
@if (isContent) {
|
|
3728
|
+
<div class="card" style="height: 100%">
|
|
3729
|
+
<p-confirmDialog/>
|
|
3708
3730
|
<div>
|
|
3709
|
-
<
|
|
3710
|
-
|
|
3711
|
-
|
|
3712
|
-
|
|
3713
|
-
|
|
3714
|
-
|
|
3715
|
-
|
|
3716
|
-
|
|
3717
|
-
|
|
3718
|
-
|
|
3719
|
-
|
|
3720
|
-
|
|
3721
|
-
|
|
3731
|
+
<h5>{{ 'db-migration.migrationManager' | translate }}</h5>
|
|
3732
|
+
<div class="flex flex-row gap-2">
|
|
3733
|
+
<p-button
|
|
3734
|
+
icon="pi pi-refresh"
|
|
3735
|
+
[pTooltip]="'db-migration.actions.refresh' | translate"
|
|
3736
|
+
severity="secondary"
|
|
3737
|
+
tooltipPosition="bottom"
|
|
3738
|
+
[outlined]="true"
|
|
3739
|
+
(click)="refreshAction()"/>
|
|
3740
|
+
<p-button
|
|
3741
|
+
icon="pi pi-filter-slash"
|
|
3742
|
+
[pTooltip]="'db-migration.actions.cleanFilter' | translate"
|
|
3743
|
+
severity="secondary"
|
|
3744
|
+
tooltipPosition="bottom"
|
|
3745
|
+
[outlined]="true"
|
|
3746
|
+
(click)="dt.clear()"/>
|
|
3747
|
+
</div>
|
|
3748
|
+
<div>
|
|
3749
|
+
<p-table #dt dataKey="name" editMode="row" size="small" [scrollable]="true" [value]="data">
|
|
3750
|
+
<ng-template let-columns pTemplate="header">
|
|
3751
|
+
<tr>
|
|
3752
|
+
<th pSortableColumn="name" scope="col">
|
|
3753
|
+
{{ 'db-migration.columns.name' | translate }}
|
|
3754
|
+
<p-columnFilter display="menu" field="name" type="text"/>
|
|
3755
|
+
</th>
|
|
3756
|
+
<th scope="col">{{ 'db-migration.columns.applied' | translate }}</th>
|
|
3757
|
+
<th scope="col">{{ 'db-migration.columns.exist' | translate }}</th>
|
|
3758
|
+
<th scope="col">{{ 'db-migration.columns.pending' | translate }}</th>
|
|
3759
|
+
<th scope="col"></th>
|
|
3760
|
+
</tr>
|
|
3761
|
+
</ng-template>
|
|
3722
3762
|
|
|
3723
|
-
|
|
3724
|
-
|
|
3725
|
-
|
|
3726
|
-
|
|
3727
|
-
|
|
3728
|
-
|
|
3729
|
-
|
|
3730
|
-
|
|
3731
|
-
|
|
3732
|
-
|
|
3733
|
-
|
|
3734
|
-
|
|
3735
|
-
|
|
3736
|
-
|
|
3737
|
-
|
|
3738
|
-
|
|
3739
|
-
|
|
3740
|
-
|
|
3741
|
-
|
|
3742
|
-
|
|
3743
|
-
|
|
3744
|
-
|
|
3745
|
-
|
|
3746
|
-
|
|
3747
|
-
|
|
3748
|
-
<
|
|
3749
|
-
|
|
3750
|
-
|
|
3751
|
-
|
|
3752
|
-
|
|
3753
|
-
|
|
3754
|
-
|
|
3755
|
-
|
|
3756
|
-
|
|
3757
|
-
|
|
3758
|
-
|
|
3759
|
-
|
|
3760
|
-
|
|
3761
|
-
|
|
3763
|
+
<ng-template #body let-columns="columns" let-editing="editing" let-ri="rowIndex" let-rowData>
|
|
3764
|
+
<tr [pEditableRow]="rowData">
|
|
3765
|
+
<td>
|
|
3766
|
+
{{ rowData.name }}
|
|
3767
|
+
</td>
|
|
3768
|
+
<td>
|
|
3769
|
+
@if (rowData.applied) {
|
|
3770
|
+
<p-button
|
|
3771
|
+
icon="pi pi-check"
|
|
3772
|
+
severity="success"
|
|
3773
|
+
[rounded]="true"
|
|
3774
|
+
[text]="true">
|
|
3775
|
+
</p-button>
|
|
3776
|
+
}
|
|
3777
|
+
</td>
|
|
3778
|
+
<td>
|
|
3779
|
+
@if (rowData.exist) {
|
|
3780
|
+
<p-button icon="pi pi-check" severity="success" [rounded]="true" [text]="true"/>
|
|
3781
|
+
}
|
|
3782
|
+
</td>
|
|
3783
|
+
<td>
|
|
3784
|
+
@if (rowData.pending) {
|
|
3785
|
+
<p-button icon="pi pi-check" severity="success" [rounded]="true" [text]="true"></p-button>
|
|
3786
|
+
}
|
|
3787
|
+
</td>
|
|
3788
|
+
<td>
|
|
3789
|
+
<p-button
|
|
3790
|
+
icon="pi pi-bolt"
|
|
3791
|
+
pCancelEditableRow
|
|
3792
|
+
pTooltip="{{'db-migration.actions.applyMigration' | translate}}"
|
|
3793
|
+
severity="secondary"
|
|
3794
|
+
tooltipPosition="left"
|
|
3795
|
+
[rounded]="true"
|
|
3796
|
+
[text]="true"
|
|
3797
|
+
(click)="applyMigration(rowData)">
|
|
3798
|
+
</p-button>
|
|
3799
|
+
</td>
|
|
3800
|
+
</tr>
|
|
3801
|
+
</ng-template>
|
|
3802
|
+
</p-table>
|
|
3803
|
+
</div>
|
|
3762
3804
|
</div>
|
|
3763
3805
|
</div>
|
|
3764
|
-
|
|
3765
|
-
|
|
3766
|
-
<security [controller]="controller" [id]="id" />
|
|
3806
|
+
} @else if (isSecurity) {
|
|
3807
|
+
<security [controller]="controller" [id]="id"/>
|
|
3767
3808
|
}
|
|
3768
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: TableModule }, { kind: "component", type: i1$6.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i2$
|
|
3809
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: TableModule }, { kind: "component", type: i1$6.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i2$4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i1$6.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: i1$6.EditableRow, selector: "[pEditableRow]", inputs: ["pEditableRow", "pEditableRowDisabled"] }, { kind: "directive", type: i1$6.CancelEditableRow, selector: "[pCancelEditableRow]" }, { kind: "component", type: i1$6.ColumnFilter, selector: "p-columnFilter, p-column-filter, p-columnfilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "filterOn", "useGrouping", "showButtons", "ariaLabel", "filterButtonProps"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: TagModule }, { kind: "ngmodule", type: InputTextModule }, { kind: "ngmodule", type: TextareaModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position", "draggable"], outputs: ["onHide"] }, { kind: "component", type: SecurityComponent, selector: "security", inputs: ["id", "controller"] }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
3769
3810
|
}
|
|
3770
3811
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: DbMigrationComponent, decorators: [{
|
|
3771
3812
|
type: Component,
|
|
@@ -3779,96 +3820,98 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
|
|
|
3779
3820
|
ButtonModule,
|
|
3780
3821
|
FormsModule,
|
|
3781
3822
|
ConfirmDialog,
|
|
3782
|
-
NgIf,
|
|
3783
3823
|
SecurityComponent,
|
|
3784
|
-
Tooltip
|
|
3824
|
+
Tooltip,
|
|
3825
|
+
TranslatePipe
|
|
3785
3826
|
],
|
|
3786
3827
|
selector: 'db-migration',
|
|
3787
3828
|
template: `
|
|
3788
|
-
|
|
3789
|
-
<
|
|
3790
|
-
|
|
3791
|
-
<h5>Migration manager</h5>
|
|
3792
|
-
<div class="flex flex-row gap-2">
|
|
3793
|
-
<p-button
|
|
3794
|
-
icon="pi pi-refresh"
|
|
3795
|
-
pTooltip="Refresh"
|
|
3796
|
-
severity="secondary"
|
|
3797
|
-
tooltipPosition="bottom"
|
|
3798
|
-
[outlined]="true"
|
|
3799
|
-
(click)="refreshAction()" />
|
|
3800
|
-
<p-button
|
|
3801
|
-
icon="pi pi-filter-slash"
|
|
3802
|
-
pTooltip="Clean filter"
|
|
3803
|
-
severity="secondary"
|
|
3804
|
-
tooltipPosition="bottom"
|
|
3805
|
-
[outlined]="true"
|
|
3806
|
-
(click)="dt.clear()" />
|
|
3807
|
-
</div>
|
|
3829
|
+
@if (isContent) {
|
|
3830
|
+
<div class="card" style="height: 100%">
|
|
3831
|
+
<p-confirmDialog/>
|
|
3808
3832
|
<div>
|
|
3809
|
-
<
|
|
3810
|
-
|
|
3811
|
-
|
|
3812
|
-
|
|
3813
|
-
|
|
3814
|
-
|
|
3815
|
-
|
|
3816
|
-
|
|
3817
|
-
|
|
3818
|
-
|
|
3819
|
-
|
|
3820
|
-
|
|
3821
|
-
|
|
3833
|
+
<h5>{{ 'db-migration.migrationManager' | translate }}</h5>
|
|
3834
|
+
<div class="flex flex-row gap-2">
|
|
3835
|
+
<p-button
|
|
3836
|
+
icon="pi pi-refresh"
|
|
3837
|
+
[pTooltip]="'db-migration.actions.refresh' | translate"
|
|
3838
|
+
severity="secondary"
|
|
3839
|
+
tooltipPosition="bottom"
|
|
3840
|
+
[outlined]="true"
|
|
3841
|
+
(click)="refreshAction()"/>
|
|
3842
|
+
<p-button
|
|
3843
|
+
icon="pi pi-filter-slash"
|
|
3844
|
+
[pTooltip]="'db-migration.actions.cleanFilter' | translate"
|
|
3845
|
+
severity="secondary"
|
|
3846
|
+
tooltipPosition="bottom"
|
|
3847
|
+
[outlined]="true"
|
|
3848
|
+
(click)="dt.clear()"/>
|
|
3849
|
+
</div>
|
|
3850
|
+
<div>
|
|
3851
|
+
<p-table #dt dataKey="name" editMode="row" size="small" [scrollable]="true" [value]="data">
|
|
3852
|
+
<ng-template let-columns pTemplate="header">
|
|
3853
|
+
<tr>
|
|
3854
|
+
<th pSortableColumn="name" scope="col">
|
|
3855
|
+
{{ 'db-migration.columns.name' | translate }}
|
|
3856
|
+
<p-columnFilter display="menu" field="name" type="text"/>
|
|
3857
|
+
</th>
|
|
3858
|
+
<th scope="col">{{ 'db-migration.columns.applied' | translate }}</th>
|
|
3859
|
+
<th scope="col">{{ 'db-migration.columns.exist' | translate }}</th>
|
|
3860
|
+
<th scope="col">{{ 'db-migration.columns.pending' | translate }}</th>
|
|
3861
|
+
<th scope="col"></th>
|
|
3862
|
+
</tr>
|
|
3863
|
+
</ng-template>
|
|
3822
3864
|
|
|
3823
|
-
|
|
3824
|
-
|
|
3825
|
-
|
|
3826
|
-
|
|
3827
|
-
|
|
3828
|
-
|
|
3829
|
-
|
|
3830
|
-
|
|
3831
|
-
|
|
3832
|
-
|
|
3833
|
-
|
|
3834
|
-
|
|
3835
|
-
|
|
3836
|
-
|
|
3837
|
-
|
|
3838
|
-
|
|
3839
|
-
|
|
3840
|
-
|
|
3841
|
-
|
|
3842
|
-
|
|
3843
|
-
|
|
3844
|
-
|
|
3845
|
-
|
|
3846
|
-
|
|
3847
|
-
|
|
3848
|
-
<
|
|
3849
|
-
|
|
3850
|
-
|
|
3851
|
-
|
|
3852
|
-
|
|
3853
|
-
|
|
3854
|
-
|
|
3855
|
-
|
|
3856
|
-
|
|
3857
|
-
|
|
3858
|
-
|
|
3859
|
-
|
|
3860
|
-
|
|
3861
|
-
|
|
3865
|
+
<ng-template #body let-columns="columns" let-editing="editing" let-ri="rowIndex" let-rowData>
|
|
3866
|
+
<tr [pEditableRow]="rowData">
|
|
3867
|
+
<td>
|
|
3868
|
+
{{ rowData.name }}
|
|
3869
|
+
</td>
|
|
3870
|
+
<td>
|
|
3871
|
+
@if (rowData.applied) {
|
|
3872
|
+
<p-button
|
|
3873
|
+
icon="pi pi-check"
|
|
3874
|
+
severity="success"
|
|
3875
|
+
[rounded]="true"
|
|
3876
|
+
[text]="true">
|
|
3877
|
+
</p-button>
|
|
3878
|
+
}
|
|
3879
|
+
</td>
|
|
3880
|
+
<td>
|
|
3881
|
+
@if (rowData.exist) {
|
|
3882
|
+
<p-button icon="pi pi-check" severity="success" [rounded]="true" [text]="true"/>
|
|
3883
|
+
}
|
|
3884
|
+
</td>
|
|
3885
|
+
<td>
|
|
3886
|
+
@if (rowData.pending) {
|
|
3887
|
+
<p-button icon="pi pi-check" severity="success" [rounded]="true" [text]="true"></p-button>
|
|
3888
|
+
}
|
|
3889
|
+
</td>
|
|
3890
|
+
<td>
|
|
3891
|
+
<p-button
|
|
3892
|
+
icon="pi pi-bolt"
|
|
3893
|
+
pCancelEditableRow
|
|
3894
|
+
pTooltip="{{'db-migration.actions.applyMigration' | translate}}"
|
|
3895
|
+
severity="secondary"
|
|
3896
|
+
tooltipPosition="left"
|
|
3897
|
+
[rounded]="true"
|
|
3898
|
+
[text]="true"
|
|
3899
|
+
(click)="applyMigration(rowData)">
|
|
3900
|
+
</p-button>
|
|
3901
|
+
</td>
|
|
3902
|
+
</tr>
|
|
3903
|
+
</ng-template>
|
|
3904
|
+
</p-table>
|
|
3905
|
+
</div>
|
|
3862
3906
|
</div>
|
|
3863
3907
|
</div>
|
|
3864
|
-
|
|
3865
|
-
|
|
3866
|
-
<security [controller]="controller" [id]="id" />
|
|
3908
|
+
} @else if (isSecurity) {
|
|
3909
|
+
<security [controller]="controller" [id]="id"/>
|
|
3867
3910
|
}
|
|
3868
3911
|
`,
|
|
3869
3912
|
providers: [ConfirmationService]
|
|
3870
3913
|
}]
|
|
3871
|
-
}] });
|
|
3914
|
+
}], ctorParameters: () => [] });
|
|
3872
3915
|
|
|
3873
3916
|
/* eslint-disable */
|
|
3874
3917
|
/* tslint:disable */
|
|
@@ -3966,8 +4009,8 @@ class AppModulesComponent {
|
|
|
3966
4009
|
this.moduleService = inject(Module);
|
|
3967
4010
|
}
|
|
3968
4011
|
async ngOnInit() {
|
|
3969
|
-
|
|
3970
|
-
this.l10n =
|
|
4012
|
+
this.l10nService.get('app-modules').subscribe((l10n) => {
|
|
4013
|
+
this.l10n = l10n;
|
|
3971
4014
|
});
|
|
3972
4015
|
this.titleService.setTitle(this.l10n.title);
|
|
3973
4016
|
await this.refreshAction();
|
|
@@ -4016,16 +4059,16 @@ class AppModulesComponent {
|
|
|
4016
4059
|
severity="secondary"
|
|
4017
4060
|
text="true"
|
|
4018
4061
|
tooltipPosition="bottom"
|
|
4019
|
-
[pTooltip]="
|
|
4062
|
+
[pTooltip]="'app-modules.refreshTooltip' | translate"
|
|
4020
4063
|
(onClick)="refreshAction()"></p-button>
|
|
4021
4064
|
</p-toolbar>
|
|
4022
4065
|
</div>
|
|
4023
4066
|
<p-table class="mt-4" [paginator]="true" [rows]="100" [value]="modules">
|
|
4024
4067
|
<ng-template pTemplate="header">
|
|
4025
4068
|
<tr>
|
|
4026
|
-
<th>{{
|
|
4027
|
-
<th>{{
|
|
4028
|
-
<th>{{
|
|
4069
|
+
<th>{{ 'app-modules.table.moduleId' | translate }}</th>
|
|
4070
|
+
<th>{{ 'app-modules.table.name' | translate }}</th>
|
|
4071
|
+
<th>{{ 'app-modules.table.currentlyLoaded' | translate }}</th>
|
|
4029
4072
|
<th style="width: 4rem"></th>
|
|
4030
4073
|
</tr>
|
|
4031
4074
|
</ng-template>
|
|
@@ -4036,7 +4079,7 @@ class AppModulesComponent {
|
|
|
4036
4079
|
<td>
|
|
4037
4080
|
<p-tag
|
|
4038
4081
|
[severity]="module.currentlyLoaded ? 'success' : 'danger'"
|
|
4039
|
-
[value]="module.currentlyLoaded ?
|
|
4082
|
+
[value]="(module.currentlyLoaded ? 'app-modules.table.yes' : 'app-modules.table.no') | translate"></p-tag>
|
|
4040
4083
|
</td>
|
|
4041
4084
|
<td>
|
|
4042
4085
|
<p-button
|
|
@@ -4045,7 +4088,7 @@ class AppModulesComponent {
|
|
|
4045
4088
|
severity="danger"
|
|
4046
4089
|
text="true"
|
|
4047
4090
|
tooltipPosition="bottom"
|
|
4048
|
-
[pTooltip]="
|
|
4091
|
+
[pTooltip]="'app-modules.table.deleteTooltip' | translate"
|
|
4049
4092
|
(onClick)="deleteModule(module)"></p-button>
|
|
4050
4093
|
</td>
|
|
4051
4094
|
</tr>
|
|
@@ -4053,12 +4096,12 @@ class AppModulesComponent {
|
|
|
4053
4096
|
</p-table>
|
|
4054
4097
|
</div>
|
|
4055
4098
|
</div>
|
|
4056
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i1$6.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i2$
|
|
4099
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i1$6.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i2$4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: Tag, selector: "p-tag", inputs: ["styleClass", "severity", "value", "icon", "rounded"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ToolbarModule }, { kind: "component", type: i4$2.Toolbar, selector: "p-toolbar", inputs: ["styleClass", "ariaLabelledBy"] }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position", "draggable"], outputs: ["onHide"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
4057
4100
|
}
|
|
4058
4101
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: AppModulesComponent, decorators: [{
|
|
4059
4102
|
type: Component,
|
|
4060
4103
|
args: [{
|
|
4061
|
-
imports: [FormsModule, TableModule, Tag, ButtonModule, ToolbarModule, Tooltip, ConfirmDialog],
|
|
4104
|
+
imports: [FormsModule, TableModule, Tag, ButtonModule, ToolbarModule, Tooltip, ConfirmDialog, TranslatePipe],
|
|
4062
4105
|
providers: [ConfirmationService, Module],
|
|
4063
4106
|
selector: 'app-modules',
|
|
4064
4107
|
template: `
|
|
@@ -4076,16 +4119,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
|
|
|
4076
4119
|
severity="secondary"
|
|
4077
4120
|
text="true"
|
|
4078
4121
|
tooltipPosition="bottom"
|
|
4079
|
-
[pTooltip]="
|
|
4122
|
+
[pTooltip]="'app-modules.refreshTooltip' | translate"
|
|
4080
4123
|
(onClick)="refreshAction()"></p-button>
|
|
4081
4124
|
</p-toolbar>
|
|
4082
4125
|
</div>
|
|
4083
4126
|
<p-table class="mt-4" [paginator]="true" [rows]="100" [value]="modules">
|
|
4084
4127
|
<ng-template pTemplate="header">
|
|
4085
4128
|
<tr>
|
|
4086
|
-
<th>{{
|
|
4087
|
-
<th>{{
|
|
4088
|
-
<th>{{
|
|
4129
|
+
<th>{{ 'app-modules.table.moduleId' | translate }}</th>
|
|
4130
|
+
<th>{{ 'app-modules.table.name' | translate }}</th>
|
|
4131
|
+
<th>{{ 'app-modules.table.currentlyLoaded' | translate }}</th>
|
|
4089
4132
|
<th style="width: 4rem"></th>
|
|
4090
4133
|
</tr>
|
|
4091
4134
|
</ng-template>
|
|
@@ -4096,7 +4139,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
|
|
|
4096
4139
|
<td>
|
|
4097
4140
|
<p-tag
|
|
4098
4141
|
[severity]="module.currentlyLoaded ? 'success' : 'danger'"
|
|
4099
|
-
[value]="module.currentlyLoaded ?
|
|
4142
|
+
[value]="(module.currentlyLoaded ? 'app-modules.table.yes' : 'app-modules.table.no') | translate"></p-tag>
|
|
4100
4143
|
</td>
|
|
4101
4144
|
<td>
|
|
4102
4145
|
<p-button
|
|
@@ -4105,7 +4148,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
|
|
|
4105
4148
|
severity="danger"
|
|
4106
4149
|
text="true"
|
|
4107
4150
|
tooltipPosition="bottom"
|
|
4108
|
-
[pTooltip]="
|
|
4151
|
+
[pTooltip]="'app-modules.table.deleteTooltip' | translate"
|
|
4109
4152
|
(onClick)="deleteModule(module)"></p-button>
|
|
4110
4153
|
</td>
|
|
4111
4154
|
</tr>
|