@codex-ts/core-lib 1.0.14 → 1.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/fesm2022/codex-ts-core-lib.mjs +110 -106
- package/fesm2022/codex-ts-core-lib.mjs.map +1 -1
- package/lib/keycloak/keycloak.guard.d.ts +4 -18
- package/lib/keycloak/keycloak.providers.d.ts +6 -0
- package/lib/keycloak/keycloak.service.d.ts +9 -11
- package/package.json +1 -1
- package/public-api.d.ts +2 -1
- package/src/lib/assets/keycloak/silent-check-sso.html +11 -0
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken,
|
|
3
|
-
import { map, retry, timeout, catchError, take, finalize as finalize$1, switchMap, takeUntil, mergeMap, tap, debounceTime, distinctUntilChanged } from 'rxjs/operators';
|
|
4
|
-
import { BehaviorSubject, finalize, Observable, forkJoin, throwError, of, isObservable, Subject, take as take$1, tap as tap$1, map as map$1, catchError as catchError$1, takeUntil as takeUntil$1, ReplaySubject, distinctUntilChanged as distinctUntilChanged$1 } from 'rxjs';
|
|
2
|
+
import { InjectionToken, inject, PLATFORM_ID, signal, computed, Injectable, importProvidersFrom, Component, NgModule, Directive, Input, ViewChild, Pipe } from '@angular/core';
|
|
5
3
|
import * as i1 from '@angular/common/http';
|
|
6
|
-
import { HttpParams } from '@angular/common/http';
|
|
7
|
-
import * as i1$
|
|
4
|
+
import { HttpClient, HttpClientModule, HttpParams } from '@angular/common/http';
|
|
5
|
+
import * as i1$2 from '@angular/common';
|
|
6
|
+
import { isPlatformBrowser, CommonModule, formatDate } from '@angular/common';
|
|
7
|
+
import * as i1$3 from '@angular/router';
|
|
8
|
+
import { Router } from '@angular/router';
|
|
9
|
+
import { toObservable } from '@angular/core/rxjs-interop';
|
|
10
|
+
import { map, BehaviorSubject, finalize, Observable, forkJoin, throwError, of, isObservable, Subject, take as take$1, tap as tap$1, catchError as catchError$1, takeUntil as takeUntil$1, ReplaySubject, distinctUntilChanged as distinctUntilChanged$1 } from 'rxjs';
|
|
11
|
+
import { retry, timeout, catchError, take, map as map$1, finalize as finalize$1, switchMap, takeUntil, mergeMap, tap, debounceTime, distinctUntilChanged } from 'rxjs/operators';
|
|
8
12
|
import * as i4 from 'primeng/api';
|
|
9
|
-
import * as i1$
|
|
13
|
+
import * as i1$1 from '@angular/forms';
|
|
10
14
|
import { FormGroup, ReactiveFormsModule } from '@angular/forms';
|
|
11
15
|
import * as i2 from '@ngx-formly/core';
|
|
12
16
|
import { FieldType, FormlyModule, FieldWrapper } from '@ngx-formly/core';
|
|
13
|
-
import * as i1$3 from '@angular/common';
|
|
14
|
-
import { CommonModule, formatDate } from '@angular/common';
|
|
15
17
|
import * as i3 from 'primeng/inputtext';
|
|
16
18
|
import { InputTextModule } from 'primeng/inputtext';
|
|
17
19
|
import * as i4$1 from 'primeng/select';
|
|
@@ -137,23 +139,46 @@ var TaskRole;
|
|
|
137
139
|
const KEYCLOAK_CONFIG = new InjectionToken('KEYCLOAK_CONFIG');
|
|
138
140
|
|
|
139
141
|
class KeycloakService {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
142
|
+
http = inject(HttpClient);
|
|
143
|
+
platformId = inject(PLATFORM_ID);
|
|
144
|
+
config = inject(KEYCLOAK_CONFIG);
|
|
145
|
+
isBrowser = isPlatformBrowser(this.platformId);
|
|
146
|
+
#keycloakInstance = signal(null);
|
|
147
|
+
#isAuthenticated = signal(false);
|
|
148
|
+
#userProfile = signal(null);
|
|
149
|
+
isAuthenticated$ = computed(() => this.#isAuthenticated());
|
|
150
|
+
userProfile$ = computed(() => this.#userProfile());
|
|
151
|
+
loadKeycloakScript() {
|
|
152
|
+
if (!this.isBrowser)
|
|
153
|
+
return Promise.resolve();
|
|
154
|
+
if (typeof Keycloak !== 'undefined')
|
|
155
|
+
return Promise.resolve();
|
|
156
|
+
return new Promise((resolve, reject) => {
|
|
157
|
+
const script = document.createElement('script');
|
|
158
|
+
script.src = `${this.config.authServerUrl}/js/keycloak.js`;
|
|
159
|
+
script.async = true;
|
|
160
|
+
script.onload = () => resolve();
|
|
161
|
+
script.onerror = () => reject(new Error('Failed to load Keycloak script'));
|
|
162
|
+
document.head.appendChild(script);
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
getSilentCheckUrl() {
|
|
166
|
+
if (!this.isBrowser)
|
|
167
|
+
return '';
|
|
168
|
+
return `${window.location.origin}/node_modules/@codex-ts/core-lib/assets/keycloak/silent-check-sso.html`;
|
|
148
169
|
}
|
|
149
170
|
async initialize() {
|
|
171
|
+
if (!this.isBrowser)
|
|
172
|
+
return false;
|
|
150
173
|
try {
|
|
151
|
-
this.
|
|
152
|
-
const
|
|
174
|
+
await this.loadKeycloakScript();
|
|
175
|
+
const keycloak = new Keycloak(this.config);
|
|
176
|
+
this.#keycloakInstance.set(keycloak);
|
|
177
|
+
const authenticated = await keycloak.init({
|
|
153
178
|
onLoad: 'check-sso',
|
|
154
|
-
silentCheckSsoRedirectUri: this.
|
|
179
|
+
silentCheckSsoRedirectUri: this.getSilentCheckUrl()
|
|
155
180
|
});
|
|
156
|
-
this.
|
|
181
|
+
this.#isAuthenticated.set(authenticated);
|
|
157
182
|
if (authenticated) {
|
|
158
183
|
await this.loadUserProfile();
|
|
159
184
|
}
|
|
@@ -169,18 +194,15 @@ class KeycloakService {
|
|
|
169
194
|
...this.config.loginOptions,
|
|
170
195
|
...options
|
|
171
196
|
};
|
|
172
|
-
return this
|
|
197
|
+
return this.#keycloakInstance()?.login(loginOptions);
|
|
173
198
|
}
|
|
174
199
|
logout() {
|
|
175
|
-
return this
|
|
176
|
-
}
|
|
177
|
-
isLoggedIn() {
|
|
178
|
-
return this.isAuthenticated$.asObservable();
|
|
200
|
+
return this.#keycloakInstance()?.logout();
|
|
179
201
|
}
|
|
180
202
|
async getToken() {
|
|
181
203
|
try {
|
|
182
204
|
await this.updateToken(this.config.tokenValidityInSeconds || 60);
|
|
183
|
-
return this
|
|
205
|
+
return this.#keycloakInstance()?.token;
|
|
184
206
|
}
|
|
185
207
|
catch (error) {
|
|
186
208
|
console.error('Failed to get token:', error);
|
|
@@ -188,24 +210,23 @@ class KeycloakService {
|
|
|
188
210
|
}
|
|
189
211
|
}
|
|
190
212
|
getRoles() {
|
|
191
|
-
|
|
213
|
+
const keycloak = this.#keycloakInstance();
|
|
214
|
+
if (!keycloak?.realmAccess?.roles) {
|
|
192
215
|
return [];
|
|
193
216
|
}
|
|
194
|
-
return
|
|
217
|
+
return keycloak.realmAccess.roles;
|
|
195
218
|
}
|
|
196
219
|
hasRole(role) {
|
|
197
220
|
return this.getRoles().includes(role);
|
|
198
221
|
}
|
|
199
|
-
getUserProfile() {
|
|
200
|
-
return this.userProfile$.asObservable();
|
|
201
|
-
}
|
|
202
222
|
updateToken(minValidity = 60) {
|
|
203
223
|
return new Promise((resolve, reject) => {
|
|
204
|
-
|
|
224
|
+
const keycloak = this.#keycloakInstance();
|
|
225
|
+
if (!keycloak?.token) {
|
|
205
226
|
resolve(false);
|
|
206
227
|
return;
|
|
207
228
|
}
|
|
208
|
-
|
|
229
|
+
keycloak.updateToken(minValidity)
|
|
209
230
|
.then((refreshed) => {
|
|
210
231
|
resolve(refreshed);
|
|
211
232
|
})
|
|
@@ -217,80 +238,63 @@ class KeycloakService {
|
|
|
217
238
|
}
|
|
218
239
|
async loadUserProfile() {
|
|
219
240
|
try {
|
|
220
|
-
const
|
|
221
|
-
|
|
241
|
+
const keycloak = this.#keycloakInstance();
|
|
242
|
+
if (!keycloak)
|
|
243
|
+
return;
|
|
244
|
+
const profile = await keycloak.loadUserProfile();
|
|
245
|
+
this.#userProfile.set(profile);
|
|
222
246
|
}
|
|
223
247
|
catch (error) {
|
|
224
248
|
console.error('Failed to load user profile:', error);
|
|
225
249
|
}
|
|
226
250
|
}
|
|
227
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: KeycloakService, deps: [
|
|
251
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: KeycloakService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
228
252
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: KeycloakService, providedIn: 'root' });
|
|
229
253
|
}
|
|
230
254
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: KeycloakService, decorators: [{
|
|
231
255
|
type: Injectable,
|
|
232
256
|
args: [{ providedIn: 'root' }]
|
|
233
|
-
}]
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
257
|
+
}] });
|
|
258
|
+
|
|
259
|
+
function provideKeycloak(config) {
|
|
260
|
+
return [
|
|
261
|
+
importProvidersFrom(HttpClientModule),
|
|
262
|
+
{
|
|
263
|
+
provide: KEYCLOAK_CONFIG,
|
|
264
|
+
useValue: config
|
|
265
|
+
},
|
|
266
|
+
KeycloakService
|
|
267
|
+
];
|
|
268
|
+
}
|
|
237
269
|
|
|
238
270
|
class KeycloakAuthGuard {
|
|
239
|
-
keycloakService;
|
|
240
|
-
router;
|
|
241
|
-
constructor(keycloakService, router) {
|
|
242
|
-
this.keycloakService = keycloakService;
|
|
243
|
-
this.router = router;
|
|
244
|
-
}
|
|
271
|
+
keycloakService = inject(KeycloakService);
|
|
272
|
+
router = inject(Router);
|
|
245
273
|
canActivate(route, state) {
|
|
246
|
-
return this.keycloakService.
|
|
247
|
-
// Handle authentication check
|
|
274
|
+
return toObservable(this.keycloakService.isAuthenticated$).pipe(map(authenticated => {
|
|
248
275
|
if (!authenticated) {
|
|
249
276
|
this.keycloakService.login({
|
|
250
277
|
redirectUri: window.location.origin + state.url
|
|
251
278
|
});
|
|
252
279
|
return false;
|
|
253
280
|
}
|
|
254
|
-
// Handle role-based access
|
|
255
281
|
const requiredRoles = route.data['roles'];
|
|
256
282
|
if (requiredRoles && !this.hasRequiredRoles(requiredRoles)) {
|
|
257
|
-
// Redirect to unauthorized page if roles don't match
|
|
258
283
|
return this.router.createUrlTree(['/unauthorized']);
|
|
259
284
|
}
|
|
260
285
|
return true;
|
|
261
286
|
}));
|
|
262
287
|
}
|
|
263
288
|
hasRequiredRoles(requiredRoles) {
|
|
264
|
-
|
|
265
|
-
return requiredRoles.every(role => userRoles.includes(role));
|
|
289
|
+
return requiredRoles.every(role => this.keycloakService.getRoles().includes(role));
|
|
266
290
|
}
|
|
267
|
-
|
|
268
|
-
* Checks if all required roles are present
|
|
269
|
-
* @param route Route being activated
|
|
270
|
-
* @returns true if no roles are required or if all required roles are present
|
|
271
|
-
*/
|
|
272
|
-
checkRoles(route) {
|
|
273
|
-
const requiredRoles = route.data['roles'];
|
|
274
|
-
if (!requiredRoles || requiredRoles.length === 0) {
|
|
275
|
-
return true;
|
|
276
|
-
}
|
|
277
|
-
return this.hasRequiredRoles(requiredRoles);
|
|
278
|
-
}
|
|
279
|
-
/**
|
|
280
|
-
* Gets redirect URL from route if present
|
|
281
|
-
* @param state Router state
|
|
282
|
-
* @returns URL to redirect to after login or undefined
|
|
283
|
-
*/
|
|
284
|
-
getLoginRedirectUrl(state) {
|
|
285
|
-
return window.location.origin + state.url;
|
|
286
|
-
}
|
|
287
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: KeycloakAuthGuard, deps: [{ token: KeycloakService }, { token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
291
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: KeycloakAuthGuard, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
288
292
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: KeycloakAuthGuard, providedIn: 'root' });
|
|
289
293
|
}
|
|
290
294
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: KeycloakAuthGuard, decorators: [{
|
|
291
295
|
type: Injectable,
|
|
292
296
|
args: [{ providedIn: 'root' }]
|
|
293
|
-
}]
|
|
297
|
+
}] });
|
|
294
298
|
|
|
295
299
|
/**
|
|
296
300
|
* A general-purpose HTTP utility service that provides enhanced HTTP operations
|
|
@@ -1044,7 +1048,7 @@ class FormService {
|
|
|
1044
1048
|
return of(void 0);
|
|
1045
1049
|
}
|
|
1046
1050
|
this.formState.loading = true;
|
|
1047
|
-
return this.entityService.getById(uuid).pipe(take(1), map(data => {
|
|
1051
|
+
return this.entityService.getById(uuid).pipe(take(1), map$1(data => {
|
|
1048
1052
|
this.updateFormState(data);
|
|
1049
1053
|
}), finalize$1(() => this.formState.loading = false));
|
|
1050
1054
|
}
|
|
@@ -1064,7 +1068,7 @@ class FormService {
|
|
|
1064
1068
|
}
|
|
1065
1069
|
this.formState.loading = true;
|
|
1066
1070
|
const operation$ = this.getSubmitOperation();
|
|
1067
|
-
return operation$.pipe(finalize$1(() => this.formState.loading = false), map(result => {
|
|
1071
|
+
return operation$.pipe(finalize$1(() => this.formState.loading = false), map$1(result => {
|
|
1068
1072
|
this.notificationService.showSuccess(`${this.entityName} ${AppMessages.FORM.SUCCESS.SAVE}`);
|
|
1069
1073
|
return result;
|
|
1070
1074
|
}));
|
|
@@ -1144,7 +1148,7 @@ class TextInputType extends FieldType {
|
|
|
1144
1148
|
[placeholder]="props['placeholder'] || ''"
|
|
1145
1149
|
[attr.aria-label]="props['label'] || props['placeholder'] || ''"
|
|
1146
1150
|
class="w-full"/>
|
|
1147
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$
|
|
1151
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }] });
|
|
1148
1152
|
}
|
|
1149
1153
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: TextInputType, decorators: [{
|
|
1150
1154
|
type: Component,
|
|
@@ -1198,7 +1202,7 @@ class SelectType extends FieldType {
|
|
|
1198
1202
|
styleClass="w-full">
|
|
1199
1203
|
</p-select>
|
|
1200
1204
|
</ng-container>
|
|
1201
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$
|
|
1205
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i4$1.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "size", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "fluid", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }] });
|
|
1202
1206
|
}
|
|
1203
1207
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: SelectType, decorators: [{
|
|
1204
1208
|
type: Component,
|
|
@@ -1251,7 +1255,7 @@ class RadioType extends FieldType {
|
|
|
1251
1255
|
</div>
|
|
1252
1256
|
</ng-container>
|
|
1253
1257
|
</div>
|
|
1254
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$
|
|
1258
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: RadioButtonModule }, { kind: "component", type: i4$2.RadioButton, selector: "p-radioButton, p-radiobutton, p-radio-button", inputs: ["value", "formControlName", "name", "disabled", "variant", "size", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "autofocus", "binary"], outputs: ["onClick", "onFocus", "onBlur"] }] });
|
|
1255
1259
|
}
|
|
1256
1260
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: RadioType, decorators: [{
|
|
1257
1261
|
type: Component,
|
|
@@ -1314,7 +1318,7 @@ class NumericInputType extends FieldType {
|
|
|
1314
1318
|
[showButtons]="true"
|
|
1315
1319
|
class="w-full">
|
|
1316
1320
|
</p-inputNumber>
|
|
1317
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$
|
|
1321
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: InputNumberModule }, { kind: "component", type: i3$1.InputNumber, selector: "p-inputNumber, p-inputnumber, p-input-number", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled", "fluid"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }] });
|
|
1318
1322
|
}
|
|
1319
1323
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NumericInputType, decorators: [{
|
|
1320
1324
|
type: Component,
|
|
@@ -1382,7 +1386,7 @@ class MultiselectType extends FieldType {
|
|
|
1382
1386
|
styleClass="w-full">
|
|
1383
1387
|
</p-multiSelect>
|
|
1384
1388
|
</ng-container>
|
|
1385
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$
|
|
1389
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i4$3.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "fluid", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "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", "size", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }] });
|
|
1386
1390
|
}
|
|
1387
1391
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: MultiselectType, decorators: [{
|
|
1388
1392
|
type: Component,
|
|
@@ -1483,7 +1487,7 @@ class DateType extends FieldType {
|
|
|
1483
1487
|
(onSelect)="onDateSelect($event)"
|
|
1484
1488
|
(onInput)="onDateInput($event)">
|
|
1485
1489
|
</p-datepicker>
|
|
1486
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$
|
|
1490
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: DatePickerModule }, { kind: "component", type: i3$2.DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "fluid", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "size", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }] });
|
|
1487
1491
|
}
|
|
1488
1492
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DateType, decorators: [{
|
|
1489
1493
|
type: Component,
|
|
@@ -1537,7 +1541,7 @@ class CheckboxType extends FieldType {
|
|
|
1537
1541
|
{{props['checkboxLabel'] || ''}}
|
|
1538
1542
|
</p-checkbox>
|
|
1539
1543
|
</div>
|
|
1540
|
-
`, isInline: true, styles: [".checkbox-container{display:flex;align-items:center;height:40px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$
|
|
1544
|
+
`, isInline: true, styles: [".checkbox-container{display:flex;align-items:center;height:40px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i3$3.Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["value", "name", "disabled", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "inputStyle", "styleClass", "inputClass", "indeterminate", "size", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }] });
|
|
1541
1545
|
}
|
|
1542
1546
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CheckboxType, decorators: [{
|
|
1543
1547
|
type: Component,
|
|
@@ -1580,7 +1584,7 @@ class TextareaType extends FieldType {
|
|
|
1580
1584
|
[placeholder]="props['placeholder'] || ''"
|
|
1581
1585
|
class="w-full">
|
|
1582
1586
|
</textarea>
|
|
1583
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$
|
|
1587
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: Textarea }, { kind: "directive", type: i3$4.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize", "variant", "fluid"], outputs: ["onResize"] }] });
|
|
1584
1588
|
}
|
|
1585
1589
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: TextareaType, decorators: [{
|
|
1586
1590
|
type: Component,
|
|
@@ -1647,7 +1651,7 @@ class FormFieldWrapper extends FieldWrapper {
|
|
|
1647
1651
|
{{ errorMessage }}
|
|
1648
1652
|
</small>
|
|
1649
1653
|
</div>
|
|
1650
|
-
`, isInline: true, styles: [":is() .required-star{color:var(--red-500);margin-left:.25rem}:is() .p-input-error :where(input,.p-inputtext){border-color:var(--red-500)}:is() .p-input-error :where(input:enabled:focus,.p-inputtext:enabled:focus){border-color:var(--red-500);box-shadow:0 0 0 1px var(--red-500)}:is() .p-error{color:var(--red-500);margin-top:.5rem}:is() small{color:var(--text-color-secondary)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$
|
|
1654
|
+
`, isInline: true, styles: [":is() .required-star{color:var(--red-500);margin-left:.25rem}:is() .p-input-error :where(input,.p-inputtext){border-color:var(--red-500)}:is() .p-input-error :where(input:enabled:focus,.p-inputtext:enabled:focus){border-color:var(--red-500);box-shadow:0 0 0 1px var(--red-500)}:is() .p-error{color:var(--red-500);margin-top:.5rem}:is() small{color:var(--text-color-secondary)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2$1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] });
|
|
1651
1655
|
}
|
|
1652
1656
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: FormFieldWrapper, decorators: [{
|
|
1653
1657
|
type: Component,
|
|
@@ -1803,7 +1807,7 @@ class BaseFormComponent extends BasePageComponent {
|
|
|
1803
1807
|
});
|
|
1804
1808
|
}
|
|
1805
1809
|
initializeForm() {
|
|
1806
|
-
return this.route.queryParams.pipe(take(1), map(params => {
|
|
1810
|
+
return this.route.queryParams.pipe(take(1), map$1(params => {
|
|
1807
1811
|
this.initializeFormMode(params[AppConstants.FORM.MODE]);
|
|
1808
1812
|
this.setupFormState();
|
|
1809
1813
|
this.initializeFormSubscriptions();
|
|
@@ -1824,7 +1828,7 @@ class BaseFormComponent extends BasePageComponent {
|
|
|
1824
1828
|
throw new Error(`UUID is required for ${this.state.mode} mode`);
|
|
1825
1829
|
}
|
|
1826
1830
|
return this.getEntityOperations().getById(uuid)
|
|
1827
|
-
.pipe(tap(data => this.updateFormState(data)), map(() => void 0));
|
|
1831
|
+
.pipe(tap(data => this.updateFormState(data)), map$1(() => void 0));
|
|
1828
1832
|
}));
|
|
1829
1833
|
}
|
|
1830
1834
|
getRouterState() {
|
|
@@ -2023,7 +2027,7 @@ class BaseFormComponent extends BasePageComponent {
|
|
|
2023
2027
|
isInContext(contextType) {
|
|
2024
2028
|
return this.state.context === contextType;
|
|
2025
2029
|
}
|
|
2026
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseFormComponent, deps: [{ token: i1$
|
|
2030
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseFormComponent, deps: [{ token: i1$3.ActivatedRoute }, { token: i1$3.Router }, { token: NotificationService }, { token: UtilsService }, { token: FormlyConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2027
2031
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: BaseFormComponent, isStandalone: true, selector: "ng-component", inputs: { formData: "formData" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
2028
2032
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseFormComponent });
|
|
2029
2033
|
}
|
|
@@ -2034,7 +2038,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
2034
2038
|
args: [{
|
|
2035
2039
|
template: ''
|
|
2036
2040
|
}]
|
|
2037
|
-
}], ctorParameters: () => [{ type: i1$
|
|
2041
|
+
}], ctorParameters: () => [{ type: i1$3.ActivatedRoute }, { type: i1$3.Router }, { type: NotificationService }, { type: UtilsService }, { type: FormlyConfigService }], propDecorators: { formData: [{
|
|
2038
2042
|
type: Input
|
|
2039
2043
|
}] } });
|
|
2040
2044
|
|
|
@@ -2326,12 +2330,12 @@ class BaseListPageComponent extends BaseTableComponent {
|
|
|
2326
2330
|
}
|
|
2327
2331
|
return true;
|
|
2328
2332
|
}
|
|
2329
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseListPageComponent, deps: [{ token: i1$
|
|
2333
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseListPageComponent, deps: [{ token: i1$3.Router }, { token: NotificationService }, { token: UtilsService }, { token: i4.ConfirmationService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2330
2334
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: BaseListPageComponent, isStandalone: true, usesInheritance: true, ngImport: i0 });
|
|
2331
2335
|
}
|
|
2332
2336
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseListPageComponent, decorators: [{
|
|
2333
2337
|
type: Directive
|
|
2334
|
-
}], ctorParameters: () => [{ type: i1$
|
|
2338
|
+
}], ctorParameters: () => [{ type: i1$3.Router }, { type: NotificationService }, { type: UtilsService }, { type: i4.ConfirmationService }] });
|
|
2335
2339
|
|
|
2336
2340
|
class BaseTabbedFormComponent extends BasePageComponent {
|
|
2337
2341
|
route;
|
|
@@ -2403,7 +2407,7 @@ class BaseTabbedFormComponent extends BasePageComponent {
|
|
|
2403
2407
|
activeTab: tabs[0]?.value || ''
|
|
2404
2408
|
};
|
|
2405
2409
|
// Then initialize form
|
|
2406
|
-
this.route.queryParams.pipe(take$1(1), tap$1(() => this.state = { ...this.state, loading: true }), tap$1(params => this.initializeForm(params)), map
|
|
2410
|
+
this.route.queryParams.pipe(take$1(1), tap$1(() => this.state = { ...this.state, loading: true }), tap$1(params => this.initializeForm(params)), map(() => void 0), catchError$1(error => {
|
|
2407
2411
|
console.error('Error initializing form:', error);
|
|
2408
2412
|
this.showError(AppMessages.FORM.ERROR.INIT);
|
|
2409
2413
|
return of(void 0);
|
|
@@ -2459,7 +2463,7 @@ class BaseTabbedFormComponent extends BasePageComponent {
|
|
|
2459
2463
|
}
|
|
2460
2464
|
}
|
|
2461
2465
|
loadFromUuid() {
|
|
2462
|
-
this.route.queryParams.pipe(take$1(1), map
|
|
2466
|
+
this.route.queryParams.pipe(take$1(1), map((params) => {
|
|
2463
2467
|
const uuid = params[AppConstants.FORM.UUID];
|
|
2464
2468
|
if (!uuid) {
|
|
2465
2469
|
throw new Error(`UUID is required for ${this.state.mode} mode when no formData is provided`);
|
|
@@ -2619,7 +2623,7 @@ class BaseTabbedFormComponent extends BasePageComponent {
|
|
|
2619
2623
|
getTabTitle(data) {
|
|
2620
2624
|
throw new Error('Method not implemented.');
|
|
2621
2625
|
}
|
|
2622
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseTabbedFormComponent, deps: [{ token: i1$
|
|
2626
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseTabbedFormComponent, deps: [{ token: i1$3.ActivatedRoute }, { token: i1$3.Router }, { token: NotificationService }, { token: UtilsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2623
2627
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: BaseTabbedFormComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
2624
2628
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseTabbedFormComponent });
|
|
2625
2629
|
}
|
|
@@ -2630,7 +2634,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
2630
2634
|
args: [{
|
|
2631
2635
|
template: ''
|
|
2632
2636
|
}]
|
|
2633
|
-
}], ctorParameters: () => [{ type: i1$
|
|
2637
|
+
}], ctorParameters: () => [{ type: i1$3.ActivatedRoute }, { type: i1$3.Router }, { type: NotificationService }, { type: UtilsService }] });
|
|
2634
2638
|
|
|
2635
2639
|
class BaseListTabbedFormComponent extends BasePageComponent {
|
|
2636
2640
|
route;
|
|
@@ -2802,7 +2806,7 @@ class BaseListTabbedFormComponent extends BasePageComponent {
|
|
|
2802
2806
|
isValidPageMode(mode) {
|
|
2803
2807
|
return Object.values(AppConstants.PAGE_MODE).includes(mode);
|
|
2804
2808
|
}
|
|
2805
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseListTabbedFormComponent, deps: [{ token: i1$
|
|
2809
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseListTabbedFormComponent, deps: [{ token: i1$3.ActivatedRoute }, { token: i1$3.Router }, { token: NotificationService }, { token: UtilsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2806
2810
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: BaseListTabbedFormComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
2807
2811
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseListTabbedFormComponent });
|
|
2808
2812
|
}
|
|
@@ -2813,7 +2817,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
2813
2817
|
args: [{
|
|
2814
2818
|
template: ''
|
|
2815
2819
|
}]
|
|
2816
|
-
}], ctorParameters: () => [{ type: i1$
|
|
2820
|
+
}], ctorParameters: () => [{ type: i1$3.ActivatedRoute }, { type: i1$3.Router }, { type: NotificationService }, { type: UtilsService }] });
|
|
2817
2821
|
|
|
2818
2822
|
/**
|
|
2819
2823
|
* Base component for all task detail components in the application.
|
|
@@ -2847,7 +2851,7 @@ class BaseTaskDetailsComponent extends BasePageComponent {
|
|
|
2847
2851
|
this.formlyConfigService = formlyConfigService;
|
|
2848
2852
|
}
|
|
2849
2853
|
initializeServices() {
|
|
2850
|
-
return of(void 0).pipe(map(() => {
|
|
2854
|
+
return of(void 0).pipe(map$1(() => {
|
|
2851
2855
|
this.formService = new FormService(this.getEntityService(), this.formlyConfigService, this.notificationService, this.getEntityName(), this.getJsonFields(), this.getDropdownOptions());
|
|
2852
2856
|
this.state = this.formService.getState();
|
|
2853
2857
|
this.loading = this.state.loading;
|
|
@@ -2862,7 +2866,7 @@ class BaseTaskDetailsComponent extends BasePageComponent {
|
|
|
2862
2866
|
});
|
|
2863
2867
|
}
|
|
2864
2868
|
initializeFromRoute() {
|
|
2865
|
-
return this.route.queryParams.pipe(map(params => {
|
|
2869
|
+
return this.route.queryParams.pipe(map$1(params => {
|
|
2866
2870
|
const mode = params[AppConstants.FORM.MODE];
|
|
2867
2871
|
if (mode) {
|
|
2868
2872
|
this.formService.setMode(mode);
|
|
@@ -2928,12 +2932,12 @@ class BaseTaskDetailsComponent extends BasePageComponent {
|
|
|
2928
2932
|
this.destroyed$.next();
|
|
2929
2933
|
this.destroyed$.complete();
|
|
2930
2934
|
}
|
|
2931
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseTaskDetailsComponent, deps: [{ token: i1$
|
|
2935
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseTaskDetailsComponent, deps: [{ token: i1$3.ActivatedRoute }, { token: i1$3.Router }, { token: NotificationService }, { token: UtilsService }, { token: FormlyConfigService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2932
2936
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: BaseTaskDetailsComponent, isStandalone: true, usesInheritance: true, ngImport: i0 });
|
|
2933
2937
|
}
|
|
2934
2938
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseTaskDetailsComponent, decorators: [{
|
|
2935
2939
|
type: Directive
|
|
2936
|
-
}], ctorParameters: () => [{ type: i1$
|
|
2940
|
+
}], ctorParameters: () => [{ type: i1$3.ActivatedRoute }, { type: i1$3.Router }, { type: NotificationService }, { type: UtilsService }, { type: FormlyConfigService }] });
|
|
2937
2941
|
|
|
2938
2942
|
/**
|
|
2939
2943
|
* Base component for all task dashboard components in the application.
|
|
@@ -3055,12 +3059,12 @@ class BaseTaskDashboardComponent extends BaseTableComponent {
|
|
|
3055
3059
|
}
|
|
3056
3060
|
return true;
|
|
3057
3061
|
}
|
|
3058
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseTaskDashboardComponent, deps: [{ token: i1$
|
|
3062
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseTaskDashboardComponent, deps: [{ token: i1$3.Router }, { token: NotificationService }, { token: UtilsService }, { token: i4.ConfirmationService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3059
3063
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: BaseTaskDashboardComponent, isStandalone: true, usesInheritance: true, ngImport: i0 });
|
|
3060
3064
|
}
|
|
3061
3065
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseTaskDashboardComponent, decorators: [{
|
|
3062
3066
|
type: Directive
|
|
3063
|
-
}], ctorParameters: () => [{ type: i1$
|
|
3067
|
+
}], ctorParameters: () => [{ type: i1$3.Router }, { type: NotificationService }, { type: UtilsService }, { type: i4.ConfirmationService }] });
|
|
3064
3068
|
|
|
3065
3069
|
class IndianDatePipe {
|
|
3066
3070
|
datePipe;
|
|
@@ -3096,7 +3100,7 @@ class IndianDatePipe {
|
|
|
3096
3100
|
return value; // original dd-MM-yyyy
|
|
3097
3101
|
}
|
|
3098
3102
|
}
|
|
3099
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: IndianDatePipe, deps: [{ token: i1$
|
|
3103
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: IndianDatePipe, deps: [{ token: i1$2.DatePipe }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
3100
3104
|
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: IndianDatePipe, isStandalone: true, name: "indianDate" });
|
|
3101
3105
|
}
|
|
3102
3106
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: IndianDatePipe, decorators: [{
|
|
@@ -3105,7 +3109,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
3105
3109
|
name: 'indianDate',
|
|
3106
3110
|
standalone: true
|
|
3107
3111
|
}]
|
|
3108
|
-
}], ctorParameters: () => [{ type: i1$
|
|
3112
|
+
}], ctorParameters: () => [{ type: i1$2.DatePipe }] });
|
|
3109
3113
|
|
|
3110
3114
|
/*
|
|
3111
3115
|
* Public API Surface of core-lib
|
|
@@ -3116,5 +3120,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
3116
3120
|
* Generated bundle index. Do not edit.
|
|
3117
3121
|
*/
|
|
3118
3122
|
|
|
3119
|
-
export { AppConstants, AppMessages, BaseCrudService, BaseFormComponent, BaseListPageComponent, BaseListTabbedFormComponent, BasePageComponent, BaseTabbedFormComponent, BaseTaskDashboardComponent, BaseTaskDetailsComponent, BaseTaskService, ComponentContext, CoreFormlyModule, FormService, FormlyConfigService, HttpUtilityService, IndianDatePipe, KEYCLOAK_CONFIG, KeycloakAuthGuard, KeycloakService, NotificationService, TabbedFormType, TaskRole, UtilsService };
|
|
3123
|
+
export { AppConstants, AppMessages, BaseCrudService, BaseFormComponent, BaseListPageComponent, BaseListTabbedFormComponent, BasePageComponent, BaseTabbedFormComponent, BaseTaskDashboardComponent, BaseTaskDetailsComponent, BaseTaskService, ComponentContext, CoreFormlyModule, FormService, FormlyConfigService, HttpUtilityService, IndianDatePipe, KEYCLOAK_CONFIG, KeycloakAuthGuard, KeycloakService, NotificationService, TabbedFormType, TaskRole, UtilsService, provideKeycloak };
|
|
3120
3124
|
//# sourceMappingURL=codex-ts-core-lib.mjs.map
|