@alfresco/adf-core 8.2.0-17234132289 → 8.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/lib/adf-http-client.service.d.ts +12 -8
- package/api/lib/alfresco-api/alfresco-api.utils.d.ts +1 -1
- package/fesm2022/adf-core.mjs +22 -125
- package/fesm2022/adf-core.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-api.mjs +40 -27
- package/fesm2022/alfresco-adf-core-api.mjs.map +1 -1
- package/lib/auth/basic-auth/basic-alfresco-auth.service.d.ts +2 -24
- package/lib/auth/interfaces/authentication-service.interface.d.ts +7 -13
- package/lib/auth/oidc/oidc-authentication.service.d.ts +0 -20
- package/lib/auth/services/authentication.service.d.ts +10 -28
- package/lib/auth/services/base-authentication.service.d.ts +8 -14
- package/lib/form/components/widgets/core/form-field-validator.d.ts +4 -0
- package/lib/snackbar-content/snackbar-content.component.scss +4 -1
- package/package.json +3 -3
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import { Emitters as JsApiEmitters, HttpClient as JsApiHttpClient } from '@alfresco/js-api';
|
|
2
2
|
import { HttpClient } from '@angular/common/http';
|
|
3
3
|
import { RequestOptions, SecurityOptions } from './interfaces';
|
|
4
|
-
import
|
|
4
|
+
import { EventEmitter } from 'eventemitter3';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
+
type EventEmitterInstance = InstanceType<typeof EventEmitter>;
|
|
7
|
+
type EventEmitterEvents = 'progress' | 'success' | 'error' | 'forbidden' | 'abort' | 'unauthorized' | string;
|
|
6
8
|
export interface Emitters {
|
|
7
|
-
readonly eventEmitter:
|
|
8
|
-
readonly apiClientEmitter:
|
|
9
|
+
readonly eventEmitter: EventEmitterInstance;
|
|
10
|
+
readonly apiClientEmitter: EventEmitterInstance;
|
|
9
11
|
}
|
|
10
|
-
export declare class AdfHttpClient implements
|
|
12
|
+
export declare class AdfHttpClient implements JsApiHttpClient {
|
|
11
13
|
private httpClient;
|
|
12
|
-
|
|
13
|
-
off: ee.EmitterMethod;
|
|
14
|
-
once: ee.EmitterMethod;
|
|
14
|
+
private eventEmitter;
|
|
15
15
|
_disableCsrf: boolean;
|
|
16
|
-
emit: (type: string, ...args: any[]) => void;
|
|
17
16
|
get disableCsrf(): boolean;
|
|
18
17
|
set disableCsrf(disableCsrf: boolean);
|
|
19
18
|
private defaultSecurityOptions;
|
|
20
19
|
constructor(httpClient: HttpClient);
|
|
20
|
+
on(event: EventEmitterEvents, fn: (...args: any[]) => void, context?: any): this;
|
|
21
|
+
off(event: EventEmitterEvents, fn?: (...args: any[]) => void, context?: any): this;
|
|
22
|
+
once(event: EventEmitterEvents, fn: (...args: any[]) => void, context?: any): this;
|
|
23
|
+
emit(event: EventEmitterEvents, ...args: any[]): boolean;
|
|
21
24
|
setDefaultSecurityOption(options: any): void;
|
|
22
25
|
merge(...objects: any[]): any;
|
|
23
26
|
request<T = any>(url: string, options?: RequestOptions, sc?: SecurityOptions, emitters?: JsApiEmitters): Promise<T>;
|
|
@@ -66,3 +69,4 @@ export declare class AdfHttpClient implements ee.Emitter, JsApiHttpClient {
|
|
|
66
69
|
static ɵfac: i0.ɵɵFactoryDeclaration<AdfHttpClient, never>;
|
|
67
70
|
static ɵprov: i0.ɵɵInjectableDeclaration<AdfHttpClient>;
|
|
68
71
|
}
|
|
72
|
+
export {};
|
|
@@ -30,4 +30,4 @@ export declare const getQueryParamsWithCustomEncoder: (obj: Record<string | numb
|
|
|
30
30
|
* @returns object with updated values
|
|
31
31
|
*/
|
|
32
32
|
export declare const removeNilValues: (obj: Record<string | number, unknown>) => {};
|
|
33
|
-
export declare const convertObjectToFormData: (formParams: Record<string | number, string | Blob
|
|
33
|
+
export declare const convertObjectToFormData: (formParams: Record<string | number, string | Blob | Array<string | Blob>>) => FormData;
|
package/fesm2022/adf-core.mjs
CHANGED
|
@@ -8,7 +8,7 @@ import * as i1$1 from '@ngx-translate/core';
|
|
|
8
8
|
import { TranslatePipe, provideTranslateService, TranslateLoader, TranslateModule } from '@ngx-translate/core';
|
|
9
9
|
import * as i1$8 from '@angular/common/http';
|
|
10
10
|
import { HttpClient, HttpHeaders, HttpResponse, provideHttpClient, HTTP_INTERCEPTORS, withInterceptorsFromDi, withXsrfConfiguration } from '@angular/common/http';
|
|
11
|
-
import { ReplaySubject, BehaviorSubject, of, Subject, switchMap as switchMap$1, from, fromEvent, Observable, throwError, combineLatest, defer, EMPTY, race, forkJoin, merge } from 'rxjs';
|
|
11
|
+
import { ReplaySubject, BehaviorSubject, of, Subject, switchMap as switchMap$1, from, fromEvent, Observable, throwError, firstValueFrom, combineLatest, defer, EMPTY, race, forkJoin, merge } from 'rxjs';
|
|
12
12
|
import { map, distinctUntilChanged, take, switchMap, delay, catchError, skipWhile, filter, first, timeout, shareReplay, mergeMap, tap, retry, takeUntil, debounceTime, share, pairwise, buffer } from 'rxjs/operators';
|
|
13
13
|
import * as i1$4 from '@alfresco/adf-extensions';
|
|
14
14
|
import { ExtensionService, mergeObjects, ExtensionsModule, PreviewExtensionComponent } from '@alfresco/adf-extensions';
|
|
@@ -62,7 +62,6 @@ import * as i2$6 from '@angular/material/checkbox';
|
|
|
62
62
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
63
63
|
import * as i1$a from 'angular-oauth2-oidc';
|
|
64
64
|
import { OAuthStorage, AuthConfig, OAuthService, OAuthErrorEvent, OAuthLogger, OAuthSuccessEvent, AUTH_CONFIG, provideOAuthClient } from 'angular-oauth2-oidc';
|
|
65
|
-
import ee from 'event-emitter';
|
|
66
65
|
import { Minimatch } from 'minimatch';
|
|
67
66
|
import { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';
|
|
68
67
|
import { AuthenticationInterceptor, Authentication } from '@alfresco/adf-core/auth';
|
|
@@ -7231,7 +7230,6 @@ class BaseAuthenticationService {
|
|
|
7231
7230
|
this.onError = new ReplaySubject(1);
|
|
7232
7231
|
this.onLogin = new ReplaySubject(1);
|
|
7233
7232
|
this.onLogout = new ReplaySubject(1);
|
|
7234
|
-
ee(this);
|
|
7235
7233
|
}
|
|
7236
7234
|
/**
|
|
7237
7235
|
* Adds the auth token to an HTTP header using the 'bearer' scheme.
|
|
@@ -7552,7 +7550,7 @@ class AuthConfigService {
|
|
|
7552
7550
|
return this._authConfig;
|
|
7553
7551
|
}
|
|
7554
7552
|
loadConfig() {
|
|
7555
|
-
return this.appConfigService.onLoad.pipe(take(1))
|
|
7553
|
+
return firstValueFrom(this.appConfigService.onLoad.pipe(take(1))).then(this.loadAppConfig.bind(this));
|
|
7556
7554
|
}
|
|
7557
7555
|
loadAppConfig() {
|
|
7558
7556
|
const oauth2 = this.appConfigService.oauth2;
|
|
@@ -7676,26 +7674,6 @@ class OidcAuthenticationService extends BaseAuthenticationService {
|
|
|
7676
7674
|
*/
|
|
7677
7675
|
this.shouldPerformSsoLogin$ = combineLatest([this.auth.authenticated$, this.auth.isDiscoveryDocumentLoaded$]).pipe(map(([authenticated, isDiscoveryDocumentLoaded]) => !authenticated && isDiscoveryDocumentLoaded));
|
|
7678
7676
|
}
|
|
7679
|
-
/**
|
|
7680
|
-
* @deprecated use `isLoggedIn` instead
|
|
7681
|
-
* @returns true if the ECM provider is logged in
|
|
7682
|
-
*/
|
|
7683
|
-
isEcmLoggedIn() {
|
|
7684
|
-
if (this.isECMProvider() || this.isALLProvider()) {
|
|
7685
|
-
return this.isLoggedIn();
|
|
7686
|
-
}
|
|
7687
|
-
return false;
|
|
7688
|
-
}
|
|
7689
|
-
/**
|
|
7690
|
-
* @deprecated use `isLoggedIn` instead
|
|
7691
|
-
* @returns true if the BPM provider is logged in
|
|
7692
|
-
*/
|
|
7693
|
-
isBpmLoggedIn() {
|
|
7694
|
-
if (this.isBPMProvider() || this.isALLProvider()) {
|
|
7695
|
-
return this.isLoggedIn();
|
|
7696
|
-
}
|
|
7697
|
-
return false;
|
|
7698
|
-
}
|
|
7699
7677
|
isLoggedIn() {
|
|
7700
7678
|
return this.oauthService.hasValidAccessToken() && this.oauthService.hasValidIdToken();
|
|
7701
7679
|
}
|
|
@@ -7741,20 +7719,6 @@ class OidcAuthenticationService extends BaseAuthenticationService {
|
|
|
7741
7719
|
getUsername() {
|
|
7742
7720
|
return this.jwtHelperService.getValueFromLocalToken(JwtHelperService.USER_PREFERRED_USERNAME);
|
|
7743
7721
|
}
|
|
7744
|
-
/**
|
|
7745
|
-
* @deprecated use `getUsername` instead
|
|
7746
|
-
* @returns the logged username
|
|
7747
|
-
*/
|
|
7748
|
-
getEcmUsername() {
|
|
7749
|
-
return this.getUsername();
|
|
7750
|
-
}
|
|
7751
|
-
/**
|
|
7752
|
-
* @deprecated use `getUsername` instead
|
|
7753
|
-
* @returns the logged username
|
|
7754
|
-
*/
|
|
7755
|
-
getBpmUsername() {
|
|
7756
|
-
return this.getUsername();
|
|
7757
|
-
}
|
|
7758
7722
|
ssoLogin(redirectUrl) {
|
|
7759
7723
|
this.auth.login(redirectUrl);
|
|
7760
7724
|
}
|
|
@@ -8367,26 +8331,6 @@ class BasicAlfrescoAuthService extends BaseAuthenticationService {
|
|
|
8367
8331
|
return '';
|
|
8368
8332
|
}
|
|
8369
8333
|
}
|
|
8370
|
-
/**
|
|
8371
|
-
* @deprecated
|
|
8372
|
-
* @returns content auth token
|
|
8373
|
-
*/
|
|
8374
|
-
getTicketEcm() {
|
|
8375
|
-
return this.contentAuth.getToken();
|
|
8376
|
-
}
|
|
8377
|
-
/**
|
|
8378
|
-
* @deprecated
|
|
8379
|
-
* @returns process auth token
|
|
8380
|
-
*/
|
|
8381
|
-
getTicketBpm() {
|
|
8382
|
-
return this.processAuth.getToken();
|
|
8383
|
-
}
|
|
8384
|
-
isBpmLoggedIn() {
|
|
8385
|
-
return this.processAuth.isLoggedIn();
|
|
8386
|
-
}
|
|
8387
|
-
isEcmLoggedIn() {
|
|
8388
|
-
return this.contentAuth.isLoggedIn();
|
|
8389
|
-
}
|
|
8390
8334
|
isLoggedIn() {
|
|
8391
8335
|
const authWithCredentials = this.isKerberosEnabled();
|
|
8392
8336
|
if (this.isBPMProvider()) {
|
|
@@ -8458,20 +8402,6 @@ class BasicAlfrescoAuthService extends BaseAuthenticationService {
|
|
|
8458
8402
|
hasSelectedProviderAll(provider) {
|
|
8459
8403
|
return this.redirectUrl && (this.redirectUrl.provider === 'ALL' || provider === 'ALL');
|
|
8460
8404
|
}
|
|
8461
|
-
/**
|
|
8462
|
-
* @deprecated use `getUsername()` instead
|
|
8463
|
-
* @returns the username of the authenticated user
|
|
8464
|
-
*/
|
|
8465
|
-
getBpmUsername() {
|
|
8466
|
-
return this.processAuth.getUsername();
|
|
8467
|
-
}
|
|
8468
|
-
/**
|
|
8469
|
-
* @deprecated use `getUsername()` instead
|
|
8470
|
-
* @returns the username of the authenticated user
|
|
8471
|
-
*/
|
|
8472
|
-
getEcmUsername() {
|
|
8473
|
-
return this.contentAuth.getUsername();
|
|
8474
|
-
}
|
|
8475
8405
|
/**
|
|
8476
8406
|
* Gets the username of the authenticated user.
|
|
8477
8407
|
*
|
|
@@ -9036,30 +8966,6 @@ class AuthenticationService {
|
|
|
9036
8966
|
return from(this.basicAlfrescoAuthService.logout());
|
|
9037
8967
|
}
|
|
9038
8968
|
}
|
|
9039
|
-
/**
|
|
9040
|
-
* @deprecated use `isLoggedIn` instead
|
|
9041
|
-
* @returns true if the ECM provider is logged in
|
|
9042
|
-
*/
|
|
9043
|
-
isEcmLoggedIn() {
|
|
9044
|
-
if (this.isOauth()) {
|
|
9045
|
-
return this.oidcAuthenticationService.isLoggedIn();
|
|
9046
|
-
}
|
|
9047
|
-
else {
|
|
9048
|
-
return this.basicAlfrescoAuthService.isEcmLoggedIn();
|
|
9049
|
-
}
|
|
9050
|
-
}
|
|
9051
|
-
/**
|
|
9052
|
-
* @deprecated use `isLoggedIn` instead
|
|
9053
|
-
* @returns true if the BPM provider is logged in
|
|
9054
|
-
*/
|
|
9055
|
-
isBpmLoggedIn() {
|
|
9056
|
-
if (this.isOauth()) {
|
|
9057
|
-
return this.oidcAuthenticationService.isLoggedIn();
|
|
9058
|
-
}
|
|
9059
|
-
else {
|
|
9060
|
-
return this.basicAlfrescoAuthService.isBpmLoggedIn();
|
|
9061
|
-
}
|
|
9062
|
-
}
|
|
9063
8969
|
reset() {
|
|
9064
8970
|
if (this.isOauth()) {
|
|
9065
8971
|
return this.oidcAuthenticationService.reset();
|
|
@@ -9089,20 +8995,6 @@ class AuthenticationService {
|
|
|
9089
8995
|
return this.basicAlfrescoAuthService.getUsername();
|
|
9090
8996
|
}
|
|
9091
8997
|
}
|
|
9092
|
-
/**
|
|
9093
|
-
* @deprecated use `getUsername` instead
|
|
9094
|
-
* @returns the logged username
|
|
9095
|
-
*/
|
|
9096
|
-
getEcmUsername() {
|
|
9097
|
-
return this.getUsername();
|
|
9098
|
-
}
|
|
9099
|
-
/**
|
|
9100
|
-
* @deprecated use `getUsername` instead
|
|
9101
|
-
* @returns the logged username
|
|
9102
|
-
*/
|
|
9103
|
-
getBpmUsername() {
|
|
9104
|
-
return this.getUsername();
|
|
9105
|
-
}
|
|
9106
8998
|
getAuthHeaders(requestUrl, headers) {
|
|
9107
8999
|
if (this.isOauth()) {
|
|
9108
9000
|
return this.oidcAuthenticationService.getAuthHeaders(requestUrl, headers);
|
|
@@ -9355,7 +9247,7 @@ const AuthGuardEcm = async (_, state) => {
|
|
|
9355
9247
|
if (authenticationService.isLoggedIn() && authenticationService.isOauth() && authGuardBaseService.isLoginFragmentPresent()) {
|
|
9356
9248
|
return authGuardBaseService.redirectSSOSuccessURL();
|
|
9357
9249
|
}
|
|
9358
|
-
if (authenticationService.
|
|
9250
|
+
if (authenticationService.isLoggedIn() || authGuardBaseService.withCredentials) {
|
|
9359
9251
|
return true;
|
|
9360
9252
|
}
|
|
9361
9253
|
return authGuardBaseService.redirectToUrl(state.url);
|
|
@@ -9900,7 +9792,7 @@ class IdentityUserService {
|
|
|
9900
9792
|
async getUsersByRolesWithCurrentUser(roleNames) {
|
|
9901
9793
|
const filteredUsers = [];
|
|
9902
9794
|
if (roleNames && roleNames.length > 0) {
|
|
9903
|
-
const users = await this.getUsers()
|
|
9795
|
+
const users = await firstValueFrom(this.getUsers());
|
|
9904
9796
|
for (let i = 0; i < users.length; i++) {
|
|
9905
9797
|
const hasAnyRole = await this.userHasAnyRole(users[i].id, roleNames);
|
|
9906
9798
|
if (hasAnyRole) {
|
|
@@ -9920,7 +9812,7 @@ class IdentityUserService {
|
|
|
9920
9812
|
const filteredUsers = [];
|
|
9921
9813
|
if (roleNames && roleNames.length > 0) {
|
|
9922
9814
|
const currentUser = this.getCurrentUserInfo();
|
|
9923
|
-
let users = await this.getUsers()
|
|
9815
|
+
let users = await firstValueFrom(this.getUsers());
|
|
9924
9816
|
users = users.filter(({ username }) => username !== currentUser.username);
|
|
9925
9817
|
for (let i = 0; i < users.length; i++) {
|
|
9926
9818
|
const hasAnyRole = await this.userHasAnyRole(users[i].id, roleNames);
|
|
@@ -9932,7 +9824,7 @@ class IdentityUserService {
|
|
|
9932
9824
|
return filteredUsers;
|
|
9933
9825
|
}
|
|
9934
9826
|
async userHasAnyRole(userId, roleNames) {
|
|
9935
|
-
const userRoles = await this.getUserRoles(userId)
|
|
9827
|
+
const userRoles = await firstValueFrom(this.getUserRoles(userId));
|
|
9936
9828
|
const hasAnyRole = roleNames.some((roleName) => {
|
|
9937
9829
|
const filteredRoles = userRoles.filter((userRole) => userRole.name.toLocaleLowerCase() === roleName.toLocaleLowerCase());
|
|
9938
9830
|
return filteredRoles.length > 0;
|
|
@@ -13418,13 +13310,13 @@ class SnackbarContentComponent {
|
|
|
13418
13310
|
this.data.callActionOnIconClick ? this.snackBarRef.dismissWithAction() : this.snackBarRef.dismiss();
|
|
13419
13311
|
}
|
|
13420
13312
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: SnackbarContentComponent, deps: [{ token: i1$b.MatSnackBarRef }, { token: MAT_SNACK_BAR_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13421
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: SnackbarContentComponent, isStandalone: true, selector: "adf-snackbar-content", host: { classAttribute: "mat-simple-snackbar" }, ngImport: i0, template: "<p class=\"adf-snackbar-message-content\" data-automation-id=\"adf-snackbar-message-content\" aria-hidden=\"true\">\n @if (data.decorativeIcon) {\n <mat-icon data-automation-id=\"adf-snackbar-decorative-icon\">{{ data.decorativeIcon }}</mat-icon>\n }\n {{ data.message }}\n</p>\n\n@if (data.showAction) {\n <div class=\"adf-snackbar-message-content-action\" aria-hidden=\"true\">\n @if (data.actionLabel) {\n <button mat-button (click)=\"snackBarRef.dismissWithAction()\" class=\"adf-snackbar-message-content-action-button\"\n data-automation-id=\"adf-snackbar-message-content-action-button\">\n {{data.actionLabel}}\n </button>\n }\n @if (data.actionIcon) {\n <button mat-button (click)=\"onIconClicked()\" class=\"adf-snackbar-message-content-action-icon\"\n [attr.aria-label]=\"data.actionIconAriaLabel | translate\">\n <mat-icon>{{ data.actionIcon }}</mat-icon>\n </button>\n }\n </div>\n}\n", styles: [":host{display:flex;align-items:center;justify-content:space-between}:host .adf-snackbar-message-content{display:flex;align-items:center;margin:0}:host .adf-snackbar-message-content mat-icon{
|
|
13313
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: SnackbarContentComponent, isStandalone: true, selector: "adf-snackbar-content", host: { classAttribute: "mat-simple-snackbar" }, ngImport: i0, template: "<p class=\"adf-snackbar-message-content\" data-automation-id=\"adf-snackbar-message-content\" aria-hidden=\"true\">\n @if (data.decorativeIcon) {\n <mat-icon data-automation-id=\"adf-snackbar-decorative-icon\">{{ data.decorativeIcon }}</mat-icon>\n }\n {{ data.message }}\n</p>\n\n@if (data.showAction) {\n <div class=\"adf-snackbar-message-content-action\" aria-hidden=\"true\">\n @if (data.actionLabel) {\n <button mat-button (click)=\"snackBarRef.dismissWithAction()\" class=\"adf-snackbar-message-content-action-button\"\n data-automation-id=\"adf-snackbar-message-content-action-button\">\n {{data.actionLabel}}\n </button>\n }\n @if (data.actionIcon) {\n <button mat-button (click)=\"onIconClicked()\" class=\"adf-snackbar-message-content-action-icon\"\n [attr.aria-label]=\"data.actionIconAriaLabel | translate\">\n <mat-icon>{{ data.actionIcon }}</mat-icon>\n </button>\n }\n </div>\n}\n", styles: [":host{display:flex;align-items:center;justify-content:space-between}:host .adf-snackbar-message-content{display:flex;align-items:center;margin:0;overflow-wrap:anywhere;gap:8px}:host .adf-snackbar-message-content mat-icon{flex:0 0 auto;align-self:flex-start}:host .adf-snackbar-message-content-action{margin-left:24px;display:flex;flex-direction:row}:host .adf-snackbar-message-content-action .mat-mdc-button{min-width:0;margin:-8px;height:unset}:host .adf-snackbar-message-content-action .mat-mdc-button.adf-snackbar-message-content-action-button{margin-right:8px;padding-left:16px;padding-right:16px;width:auto;-webkit-font-smoothing:subpixel-antialiased}:host .adf-snackbar-message-content-action .mat-mdc-button.adf-snackbar-message-content-action-icon{padding:0;width:auto}:host .adf-snackbar-message-content-action .mat-mdc-button.adf-snackbar-message-content-action-icon mat-icon{height:24px;width:24px;font-size:24px;margin-right:0;margin-top:4px}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
|
|
13422
13314
|
}
|
|
13423
13315
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: SnackbarContentComponent, decorators: [{
|
|
13424
13316
|
type: Component,
|
|
13425
13317
|
args: [{ selector: 'adf-snackbar-content', imports: [MatIconModule, TranslatePipe, MatButtonModule], host: {
|
|
13426
13318
|
class: 'mat-simple-snackbar'
|
|
13427
|
-
}, template: "<p class=\"adf-snackbar-message-content\" data-automation-id=\"adf-snackbar-message-content\" aria-hidden=\"true\">\n @if (data.decorativeIcon) {\n <mat-icon data-automation-id=\"adf-snackbar-decorative-icon\">{{ data.decorativeIcon }}</mat-icon>\n }\n {{ data.message }}\n</p>\n\n@if (data.showAction) {\n <div class=\"adf-snackbar-message-content-action\" aria-hidden=\"true\">\n @if (data.actionLabel) {\n <button mat-button (click)=\"snackBarRef.dismissWithAction()\" class=\"adf-snackbar-message-content-action-button\"\n data-automation-id=\"adf-snackbar-message-content-action-button\">\n {{data.actionLabel}}\n </button>\n }\n @if (data.actionIcon) {\n <button mat-button (click)=\"onIconClicked()\" class=\"adf-snackbar-message-content-action-icon\"\n [attr.aria-label]=\"data.actionIconAriaLabel | translate\">\n <mat-icon>{{ data.actionIcon }}</mat-icon>\n </button>\n }\n </div>\n}\n", styles: [":host{display:flex;align-items:center;justify-content:space-between}:host .adf-snackbar-message-content{display:flex;align-items:center;margin:0}:host .adf-snackbar-message-content mat-icon{
|
|
13319
|
+
}, template: "<p class=\"adf-snackbar-message-content\" data-automation-id=\"adf-snackbar-message-content\" aria-hidden=\"true\">\n @if (data.decorativeIcon) {\n <mat-icon data-automation-id=\"adf-snackbar-decorative-icon\">{{ data.decorativeIcon }}</mat-icon>\n }\n {{ data.message }}\n</p>\n\n@if (data.showAction) {\n <div class=\"adf-snackbar-message-content-action\" aria-hidden=\"true\">\n @if (data.actionLabel) {\n <button mat-button (click)=\"snackBarRef.dismissWithAction()\" class=\"adf-snackbar-message-content-action-button\"\n data-automation-id=\"adf-snackbar-message-content-action-button\">\n {{data.actionLabel}}\n </button>\n }\n @if (data.actionIcon) {\n <button mat-button (click)=\"onIconClicked()\" class=\"adf-snackbar-message-content-action-icon\"\n [attr.aria-label]=\"data.actionIconAriaLabel | translate\">\n <mat-icon>{{ data.actionIcon }}</mat-icon>\n </button>\n }\n </div>\n}\n", styles: [":host{display:flex;align-items:center;justify-content:space-between}:host .adf-snackbar-message-content{display:flex;align-items:center;margin:0;overflow-wrap:anywhere;gap:8px}:host .adf-snackbar-message-content mat-icon{flex:0 0 auto;align-self:flex-start}:host .adf-snackbar-message-content-action{margin-left:24px;display:flex;flex-direction:row}:host .adf-snackbar-message-content-action .mat-mdc-button{min-width:0;margin:-8px;height:unset}:host .adf-snackbar-message-content-action .mat-mdc-button.adf-snackbar-message-content-action-button{margin-right:8px;padding-left:16px;padding-right:16px;width:auto;-webkit-font-smoothing:subpixel-antialiased}:host .adf-snackbar-message-content-action .mat-mdc-button.adf-snackbar-message-content-action-icon{padding:0;width:auto}:host .adf-snackbar-message-content-action .mat-mdc-button.adf-snackbar-message-content-action-icon mat-icon{height:24px;width:24px;font-size:24px;margin-right:0;margin-top:4px}\n"] }]
|
|
13428
13320
|
}], ctorParameters: () => [{ type: i1$b.MatSnackBarRef }, { type: undefined, decorators: [{
|
|
13429
13321
|
type: Inject,
|
|
13430
13322
|
args: [MAT_SNACK_BAR_DATA]
|
|
@@ -18311,7 +18203,7 @@ class CardViewTextItemComponent extends BaseCardView {
|
|
|
18311
18203
|
return String(Math.trunc(Number(value)));
|
|
18312
18204
|
}
|
|
18313
18205
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CardViewTextItemComponent, deps: [{ token: ClipboardService }, { token: TranslationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18314
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: CardViewTextItemComponent, isStandalone: true, selector: "adf-card-view-textitem", inputs: { displayEmpty: "displayEmpty", copyToClipboardAction: "copyToClipboardAction", useChipsForMultiValueProperty: "useChipsForMultiValueProperty", multiValueSeparator: "multiValueSeparator", displayLabelForChips: "displayLabelForChips" }, host: { classAttribute: "adf-card-view-textitem" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div [ngSwitch]=\"templateType\">\n <div *ngSwitchDefault>\n <mat-form-field\n subscriptSizing=\"dynamic\"\n [floatLabel]=\"'always'\"\n class=\"adf-property-field adf-card-textitem-field\"\n [ngClass]=\"{\n 'adf-property-read-only': !isEditable\n }\"\n >\n <mat-label\n *ngIf=\"showProperty || isEditable\"\n [attr.data-automation-id]=\"'card-textitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >\n {{ property.label | translate }}\n </mat-label>\n\n <input\n matInput\n *ngIf=\"!property.multiline\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty,\n 'adf-property-value-has-error': isEditable && hasErrors,\n 'adf-property-value-not-editable': !editable\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"textInput\"\n (dblclick)=\"copyToClipboard(property.displayValue)\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n [attr.data-automation-id]=\"'card-textitem-value-' + property.key\"\n (keydown)=\"undoText($event)\"\n />\n <textarea\n matInput\n *ngIf=\"property.multiline\"\n title=\"{{ property.label | translate }}\"\n [cdkTextareaAutosize]=\"true\"\n [cdkAutosizeMinRows]=\"1\"\n [cdkAutosizeMaxRows]=\"5\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"textInput\"\n [attr.data-automation-id]=\"'card-textitem-value-' + property.key\"\n >\n </textarea>\n </mat-form-field>\n </div>\n\n <div\n *ngSwitchCase=\"'chipsTemplate'\"\n class=\"adf-property-field adf-textitem-chip-list-container\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n >\n <mat-label\n *ngIf=\"showLabelForChips\"\n [attr.data-automation-id]=\"'card-textitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{ 'adf-property-value-editable': editable }\"\n >\n {{ property.label | translate }}\n </mat-label>\n <mat-chip-grid #chipElement class=\"adf-textitem-chip-list\">\n <mat-chip-row *ngFor=\"let propertyValue of editedValue; let idx = index\" [removable]=\"isEditable\" (removed)=\"removeValueFromList(idx)\">\n {{ propertyValue }}\n <mat-icon *ngIf=\"isEditable\" matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n </mat-chip-grid>\n\n <mat-form-field\n *ngIf=\"isEditable\"\n class=\"adf-property-field adf-textitem-chip-list-input\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n >\n <input\n matInput\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"editedValue ? '' : (property.default | translate)\"\n [attr.aria-label]=\"property.label | translate\"\n [matChipInputFor]=\"chipElement\"\n [matChipInputAddOnBlur]=\"true\"\n (matChipInputTokenEnd)=\"addValueToList($event)\"\n [attr.data-automation-id]=\"'card-textitem-editchipinput-' + property.key\"\n />\n </mat-form-field>\n </div>\n\n <div\n *ngSwitchCase=\"'clickableTemplate'\"\n role=\"button\"\n class=\"adf-textitem-clickable\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n [attr.data-automation-id]=\"'card-textitem-toggle-' + property.key\"\n tabindex=\"0\"\n (keyup.enter)=\"clicked()\"\n (click)=\"clicked()\"\n >\n <mat-form-field class=\"adf-property-field adf-card-textitem-field \" [floatLabel]=\"property.default ? 'always' : null\">\n <mat-label\n *ngIf=\"showProperty || isEditable\"\n [attr.data-automation-id]=\"'card-textitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{ 'adf-property-value-editable': editable }\"\n >\n {{ property.label | translate }}\n </mat-label>\n <input\n matInput\n [type]=\"property.inputType\"\n class=\"adf-property-value\"\n title=\"{{ property.label | translate }}\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-textitem-clickable-value': isClickable,\n 'adf-property-readonly-value': isReadonlyProperty,\n 'adf-property-value-has-error': isEditable && hasErrors,\n 'adf-property-value-has-icon-suffix': showClickableIcon\n }\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [(ngModel)]=\"editedValue\"\n (blur)=\"update()\"\n (keydown.enter)=\"update()\"\n [readonly]=\"!isEditable\"\n [attr.data-automation-id]=\"'card-textitem-value-' + property.key\"\n />\n <button\n mat-icon-button\n matSuffix\n *ngIf=\"showClickableIcon\"\n class=\"adf-textitem-action\"\n [attr.title]=\"'CORE.METADATA.ACTIONS.EDIT' | translate\"\n [attr.data-automation-id]=\"'card-textitem-clickable-icon-' + property.key\"\n >\n <mat-icon class=\"adf-textitem-icon\">{{ property?.icon }}</mat-icon>\n </button>\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'emptyTemplate'\">\n <span class=\"adf-textitem-default-value\">{{ property.default | translate }}</span>\n </div>\n\n <mat-error *ngIf=\"isEditable && hasErrors\" class=\"adf-textitem-error\" [attr.data-automation-id]=\"'card-textitem-error-' + property.key\">\n <ul>\n <li *ngFor=\"let error of errors\">{{ error.message | translate : error }}</li>\n </ul>\n </mat-error>\n</div>\n", styles: [".adf-card-view-textitem .adf-textitem-error{font-size:var(--theme-caption-font-size);padding-top:6px}.adf-card-view-textitem .adf-textitem-error:before{display:none}.adf-card-view-textitem .adf-textitem-error ul{margin:0;padding:0;list-style-type:none}.adf-card-view-textitem .adf-textitem-error ul li{margin:0;padding:0}.adf-card-view-textitem .adf-textitem-action{width:30px;height:30px;padding:0;line-height:20px;color:var(--adf-theme-foreground-text-color-025)}.adf-card-view-textitem .adf-textitem-action:hover,.adf-card-view-textitem .adf-textitem-action:focus{color:var(--adf-theme-foreground-text-color)}.adf-card-view-textitem .adf-textitem-action .mat-mdc-button-touch-target{width:30px;height:30px}.adf-card-view-textitem .mat-mdc-form-field-icon-suffix{position:absolute;right:1px;bottom:7px}.adf-card-view-textitem .adf-textitem-chip-list-container .mat-mdc-floating-label{margin-top:6px}.adf-card-view-textitem .adf-textitem-clickable{cursor:pointer;padding-top:3px}.adf-card-view-textitem .adf-textitem-clickable .adf-textitem-action:hover{color:var(--adf-theme-foreground-text-color)}.adf-card-view-textitem .adf-textitem-clickable .adf-property-field .mat-mdc-input-element{color:var(--theme-primary-color);cursor:pointer}.adf-card-view-textitem .adf-textitem-default-value{color:var(--adf-theme-foreground-text-color-054)}.adf-card-view-textitem .adf-property-read-only:not(:has(.adf-property-readonly-value)){border-bottom:1px solid var(--adf-metadata-property-panel-border-color)}.adf-card-view-textitem .adf-property-value-not-editable{color:var(--adf-metadata-property-panel-title-color)}.adf-card-view-textitem .adf-property-value-has-icon-suffix{padding-right:34px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adf-card-view-textitem .mdc-line-ripple:before,.adf-card-view-textitem .mdc-line-ripple:after{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2$4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i6.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i8.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i8.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i8.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i8.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatSnackBarModule }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
18206
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: CardViewTextItemComponent, isStandalone: true, selector: "adf-card-view-textitem", inputs: { displayEmpty: "displayEmpty", copyToClipboardAction: "copyToClipboardAction", useChipsForMultiValueProperty: "useChipsForMultiValueProperty", multiValueSeparator: "multiValueSeparator", displayLabelForChips: "displayLabelForChips" }, host: { classAttribute: "adf-card-view-textitem" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div [ngSwitch]=\"templateType\">\n <div *ngSwitchDefault>\n <mat-form-field\n subscriptSizing=\"dynamic\"\n [floatLabel]=\"'always'\"\n class=\"adf-property-field adf-card-textitem-field\"\n [ngClass]=\"{\n 'adf-property-read-only': !isEditable\n }\"\n >\n <mat-label\n *ngIf=\"showProperty || isEditable\"\n [attr.data-automation-id]=\"'card-textitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >\n {{ property.label | translate }}\n </mat-label>\n\n <input\n matInput\n *ngIf=\"!property.multiline\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty,\n 'adf-property-value-has-error': isEditable && hasErrors,\n 'adf-property-value-not-editable': !editable\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"textInput\"\n (dblclick)=\"copyToClipboard(property.displayValue)\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n [attr.data-automation-id]=\"'card-textitem-value-' + property.key\"\n (keydown)=\"undoText($event)\"\n />\n <textarea\n matInput\n *ngIf=\"property.multiline\"\n title=\"{{ property.label | translate }}\"\n [cdkTextareaAutosize]=\"true\"\n [cdkAutosizeMinRows]=\"1\"\n [cdkAutosizeMaxRows]=\"5\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"textInput\"\n [attr.data-automation-id]=\"'card-textitem-value-' + property.key\"\n >\n </textarea>\n </mat-form-field>\n </div>\n\n <div\n *ngSwitchCase=\"'chipsTemplate'\"\n class=\"adf-property-field adf-textitem-chip-list-container\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n >\n <mat-label\n *ngIf=\"showLabelForChips\"\n [attr.data-automation-id]=\"'card-textitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{ 'adf-property-value-editable': editable }\"\n >\n {{ property.label | translate }}\n </mat-label>\n <mat-chip-grid #chipElement class=\"adf-textitem-chip-list\">\n <mat-chip-row *ngFor=\"let propertyValue of editedValue; let idx = index\" [removable]=\"isEditable\" (removed)=\"removeValueFromList(idx)\">\n {{ propertyValue }}\n <mat-icon *ngIf=\"isEditable\" matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n </mat-chip-grid>\n\n <mat-form-field\n *ngIf=\"isEditable\"\n [floatLabel]=\"'always'\"\n class=\"adf-property-field adf-textitem-chip-list-input\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n >\n <input\n matInput\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"editedValue ? '' : (property.default | translate)\"\n [attr.aria-label]=\"property.label | translate\"\n [matChipInputFor]=\"chipElement\"\n [matChipInputAddOnBlur]=\"true\"\n (matChipInputTokenEnd)=\"addValueToList($event)\"\n [attr.data-automation-id]=\"'card-textitem-editchipinput-' + property.key\"\n />\n </mat-form-field>\n </div>\n\n <div\n *ngSwitchCase=\"'clickableTemplate'\"\n role=\"button\"\n class=\"adf-textitem-clickable\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n [attr.data-automation-id]=\"'card-textitem-toggle-' + property.key\"\n tabindex=\"0\"\n (keyup.enter)=\"clicked()\"\n (click)=\"clicked()\"\n >\n <mat-form-field class=\"adf-property-field adf-card-textitem-field\" [floatLabel]=\"'always'\">\n <mat-label\n *ngIf=\"showProperty || isEditable\"\n [attr.data-automation-id]=\"'card-textitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{ 'adf-property-value-editable': editable }\"\n >\n {{ property.label | translate }}\n </mat-label>\n <input\n matInput\n [type]=\"property.inputType\"\n class=\"adf-property-value\"\n title=\"{{ property.label | translate }}\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-textitem-clickable-value': isClickable,\n 'adf-property-readonly-value': isReadonlyProperty,\n 'adf-property-value-has-error': isEditable && hasErrors,\n 'adf-property-value-has-icon-suffix': showClickableIcon\n }\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [(ngModel)]=\"editedValue\"\n (blur)=\"update()\"\n (keydown.enter)=\"update()\"\n [readonly]=\"!isEditable\"\n [attr.data-automation-id]=\"'card-textitem-value-' + property.key\"\n />\n <button\n mat-icon-button\n matSuffix\n *ngIf=\"showClickableIcon\"\n class=\"adf-textitem-action\"\n [attr.title]=\"'CORE.METADATA.ACTIONS.EDIT' | translate\"\n [attr.data-automation-id]=\"'card-textitem-clickable-icon-' + property.key\"\n >\n <mat-icon class=\"adf-textitem-icon\">{{ property?.icon }}</mat-icon>\n </button>\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'emptyTemplate'\">\n <span class=\"adf-textitem-default-value\">{{ property.default | translate }}</span>\n </div>\n\n <mat-error *ngIf=\"isEditable && hasErrors\" class=\"adf-textitem-error\" [attr.data-automation-id]=\"'card-textitem-error-' + property.key\">\n <ul>\n <li *ngFor=\"let error of errors\">{{ error.message | translate : error }}</li>\n </ul>\n </mat-error>\n</div>\n", styles: [".adf-card-view-textitem .adf-textitem-error{font-size:var(--theme-caption-font-size);padding-top:6px}.adf-card-view-textitem .adf-textitem-error:before{display:none}.adf-card-view-textitem .adf-textitem-error ul{margin:0;padding:0;list-style-type:none}.adf-card-view-textitem .adf-textitem-error ul li{margin:0;padding:0}.adf-card-view-textitem .adf-textitem-action{width:30px;height:30px;padding:0;line-height:20px;color:var(--adf-theme-foreground-text-color-025)}.adf-card-view-textitem .adf-textitem-action:hover,.adf-card-view-textitem .adf-textitem-action:focus{color:var(--adf-theme-foreground-text-color)}.adf-card-view-textitem .adf-textitem-action .mat-mdc-button-touch-target{width:30px;height:30px}.adf-card-view-textitem .mat-mdc-form-field-icon-suffix{position:absolute;right:1px;bottom:7px}.adf-card-view-textitem .adf-textitem-chip-list-container .mat-mdc-floating-label{margin-top:6px}.adf-card-view-textitem .adf-textitem-clickable{cursor:pointer;padding-top:3px}.adf-card-view-textitem .adf-textitem-clickable .adf-textitem-action:hover{color:var(--adf-theme-foreground-text-color)}.adf-card-view-textitem .adf-textitem-clickable .adf-property-field .mat-mdc-input-element{color:var(--theme-primary-color);cursor:pointer}.adf-card-view-textitem .adf-textitem-default-value{color:var(--adf-theme-foreground-text-color-054)}.adf-card-view-textitem .adf-property-read-only:not(:has(.adf-property-readonly-value)){border-bottom:1px solid var(--adf-metadata-property-panel-border-color)}.adf-card-view-textitem .adf-property-value-not-editable{color:var(--adf-metadata-property-panel-title-color)}.adf-card-view-textitem .adf-property-value-has-icon-suffix{padding-right:34px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adf-card-view-textitem .mdc-line-ripple:before,.adf-card-view-textitem .mdc-line-ripple:after{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2$4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i6.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i8.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i8.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i8.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i8.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatSnackBarModule }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
18315
18207
|
}
|
|
18316
18208
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CardViewTextItemComponent, decorators: [{
|
|
18317
18209
|
type: Component,
|
|
@@ -18326,7 +18218,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
18326
18218
|
FormsModule,
|
|
18327
18219
|
MatButtonModule,
|
|
18328
18220
|
MatSnackBarModule
|
|
18329
|
-
], encapsulation: ViewEncapsulation.None, host: { class: 'adf-card-view-textitem' }, template: "<div [ngSwitch]=\"templateType\">\n <div *ngSwitchDefault>\n <mat-form-field\n subscriptSizing=\"dynamic\"\n [floatLabel]=\"'always'\"\n class=\"adf-property-field adf-card-textitem-field\"\n [ngClass]=\"{\n 'adf-property-read-only': !isEditable\n }\"\n >\n <mat-label\n *ngIf=\"showProperty || isEditable\"\n [attr.data-automation-id]=\"'card-textitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >\n {{ property.label | translate }}\n </mat-label>\n\n <input\n matInput\n *ngIf=\"!property.multiline\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty,\n 'adf-property-value-has-error': isEditable && hasErrors,\n 'adf-property-value-not-editable': !editable\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"textInput\"\n (dblclick)=\"copyToClipboard(property.displayValue)\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n [attr.data-automation-id]=\"'card-textitem-value-' + property.key\"\n (keydown)=\"undoText($event)\"\n />\n <textarea\n matInput\n *ngIf=\"property.multiline\"\n title=\"{{ property.label | translate }}\"\n [cdkTextareaAutosize]=\"true\"\n [cdkAutosizeMinRows]=\"1\"\n [cdkAutosizeMaxRows]=\"5\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"textInput\"\n [attr.data-automation-id]=\"'card-textitem-value-' + property.key\"\n >\n </textarea>\n </mat-form-field>\n </div>\n\n <div\n *ngSwitchCase=\"'chipsTemplate'\"\n class=\"adf-property-field adf-textitem-chip-list-container\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n >\n <mat-label\n *ngIf=\"showLabelForChips\"\n [attr.data-automation-id]=\"'card-textitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{ 'adf-property-value-editable': editable }\"\n >\n {{ property.label | translate }}\n </mat-label>\n <mat-chip-grid #chipElement class=\"adf-textitem-chip-list\">\n <mat-chip-row *ngFor=\"let propertyValue of editedValue; let idx = index\" [removable]=\"isEditable\" (removed)=\"removeValueFromList(idx)\">\n {{ propertyValue }}\n <mat-icon *ngIf=\"isEditable\" matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n </mat-chip-grid>\n\n <mat-form-field\n *ngIf=\"isEditable\"\n class=\"adf-property-field adf-textitem-chip-list-input\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n >\n <input\n matInput\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"editedValue ? '' : (property.default | translate)\"\n [attr.aria-label]=\"property.label | translate\"\n [matChipInputFor]=\"chipElement\"\n [matChipInputAddOnBlur]=\"true\"\n (matChipInputTokenEnd)=\"addValueToList($event)\"\n [attr.data-automation-id]=\"'card-textitem-editchipinput-' + property.key\"\n />\n </mat-form-field>\n </div>\n\n <div\n *ngSwitchCase=\"'clickableTemplate'\"\n role=\"button\"\n class=\"adf-textitem-clickable\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n [attr.data-automation-id]=\"'card-textitem-toggle-' + property.key\"\n tabindex=\"0\"\n (keyup.enter)=\"clicked()\"\n (click)=\"clicked()\"\n >\n <mat-form-field class=\"adf-property-field adf-card-textitem-field
|
|
18221
|
+
], encapsulation: ViewEncapsulation.None, host: { class: 'adf-card-view-textitem' }, template: "<div [ngSwitch]=\"templateType\">\n <div *ngSwitchDefault>\n <mat-form-field\n subscriptSizing=\"dynamic\"\n [floatLabel]=\"'always'\"\n class=\"adf-property-field adf-card-textitem-field\"\n [ngClass]=\"{\n 'adf-property-read-only': !isEditable\n }\"\n >\n <mat-label\n *ngIf=\"showProperty || isEditable\"\n [attr.data-automation-id]=\"'card-textitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >\n {{ property.label | translate }}\n </mat-label>\n\n <input\n matInput\n *ngIf=\"!property.multiline\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty,\n 'adf-property-value-has-error': isEditable && hasErrors,\n 'adf-property-value-not-editable': !editable\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"textInput\"\n (dblclick)=\"copyToClipboard(property.displayValue)\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n [attr.data-automation-id]=\"'card-textitem-value-' + property.key\"\n (keydown)=\"undoText($event)\"\n />\n <textarea\n matInput\n *ngIf=\"property.multiline\"\n title=\"{{ property.label | translate }}\"\n [cdkTextareaAutosize]=\"true\"\n [cdkAutosizeMinRows]=\"1\"\n [cdkAutosizeMaxRows]=\"5\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"textInput\"\n [attr.data-automation-id]=\"'card-textitem-value-' + property.key\"\n >\n </textarea>\n </mat-form-field>\n </div>\n\n <div\n *ngSwitchCase=\"'chipsTemplate'\"\n class=\"adf-property-field adf-textitem-chip-list-container\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n >\n <mat-label\n *ngIf=\"showLabelForChips\"\n [attr.data-automation-id]=\"'card-textitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{ 'adf-property-value-editable': editable }\"\n >\n {{ property.label | translate }}\n </mat-label>\n <mat-chip-grid #chipElement class=\"adf-textitem-chip-list\">\n <mat-chip-row *ngFor=\"let propertyValue of editedValue; let idx = index\" [removable]=\"isEditable\" (removed)=\"removeValueFromList(idx)\">\n {{ propertyValue }}\n <mat-icon *ngIf=\"isEditable\" matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n </mat-chip-grid>\n\n <mat-form-field\n *ngIf=\"isEditable\"\n [floatLabel]=\"'always'\"\n class=\"adf-property-field adf-textitem-chip-list-input\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n >\n <input\n matInput\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"editedValue ? '' : (property.default | translate)\"\n [attr.aria-label]=\"property.label | translate\"\n [matChipInputFor]=\"chipElement\"\n [matChipInputAddOnBlur]=\"true\"\n (matChipInputTokenEnd)=\"addValueToList($event)\"\n [attr.data-automation-id]=\"'card-textitem-editchipinput-' + property.key\"\n />\n </mat-form-field>\n </div>\n\n <div\n *ngSwitchCase=\"'clickableTemplate'\"\n role=\"button\"\n class=\"adf-textitem-clickable\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n [attr.data-automation-id]=\"'card-textitem-toggle-' + property.key\"\n tabindex=\"0\"\n (keyup.enter)=\"clicked()\"\n (click)=\"clicked()\"\n >\n <mat-form-field class=\"adf-property-field adf-card-textitem-field\" [floatLabel]=\"'always'\">\n <mat-label\n *ngIf=\"showProperty || isEditable\"\n [attr.data-automation-id]=\"'card-textitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{ 'adf-property-value-editable': editable }\"\n >\n {{ property.label | translate }}\n </mat-label>\n <input\n matInput\n [type]=\"property.inputType\"\n class=\"adf-property-value\"\n title=\"{{ property.label | translate }}\"\n [ngClass]=\"{\n 'adf-property-value-editable': editable,\n 'adf-textitem-clickable-value': isClickable,\n 'adf-property-readonly-value': isReadonlyProperty,\n 'adf-property-value-has-error': isEditable && hasErrors,\n 'adf-property-value-has-icon-suffix': showClickableIcon\n }\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [(ngModel)]=\"editedValue\"\n (blur)=\"update()\"\n (keydown.enter)=\"update()\"\n [readonly]=\"!isEditable\"\n [attr.data-automation-id]=\"'card-textitem-value-' + property.key\"\n />\n <button\n mat-icon-button\n matSuffix\n *ngIf=\"showClickableIcon\"\n class=\"adf-textitem-action\"\n [attr.title]=\"'CORE.METADATA.ACTIONS.EDIT' | translate\"\n [attr.data-automation-id]=\"'card-textitem-clickable-icon-' + property.key\"\n >\n <mat-icon class=\"adf-textitem-icon\">{{ property?.icon }}</mat-icon>\n </button>\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'emptyTemplate'\">\n <span class=\"adf-textitem-default-value\">{{ property.default | translate }}</span>\n </div>\n\n <mat-error *ngIf=\"isEditable && hasErrors\" class=\"adf-textitem-error\" [attr.data-automation-id]=\"'card-textitem-error-' + property.key\">\n <ul>\n <li *ngFor=\"let error of errors\">{{ error.message | translate : error }}</li>\n </ul>\n </mat-error>\n</div>\n", styles: [".adf-card-view-textitem .adf-textitem-error{font-size:var(--theme-caption-font-size);padding-top:6px}.adf-card-view-textitem .adf-textitem-error:before{display:none}.adf-card-view-textitem .adf-textitem-error ul{margin:0;padding:0;list-style-type:none}.adf-card-view-textitem .adf-textitem-error ul li{margin:0;padding:0}.adf-card-view-textitem .adf-textitem-action{width:30px;height:30px;padding:0;line-height:20px;color:var(--adf-theme-foreground-text-color-025)}.adf-card-view-textitem .adf-textitem-action:hover,.adf-card-view-textitem .adf-textitem-action:focus{color:var(--adf-theme-foreground-text-color)}.adf-card-view-textitem .adf-textitem-action .mat-mdc-button-touch-target{width:30px;height:30px}.adf-card-view-textitem .mat-mdc-form-field-icon-suffix{position:absolute;right:1px;bottom:7px}.adf-card-view-textitem .adf-textitem-chip-list-container .mat-mdc-floating-label{margin-top:6px}.adf-card-view-textitem .adf-textitem-clickable{cursor:pointer;padding-top:3px}.adf-card-view-textitem .adf-textitem-clickable .adf-textitem-action:hover{color:var(--adf-theme-foreground-text-color)}.adf-card-view-textitem .adf-textitem-clickable .adf-property-field .mat-mdc-input-element{color:var(--theme-primary-color);cursor:pointer}.adf-card-view-textitem .adf-textitem-default-value{color:var(--adf-theme-foreground-text-color-054)}.adf-card-view-textitem .adf-property-read-only:not(:has(.adf-property-readonly-value)){border-bottom:1px solid var(--adf-metadata-property-panel-border-color)}.adf-card-view-textitem .adf-property-value-not-editable{color:var(--adf-metadata-property-panel-title-color)}.adf-card-view-textitem .adf-property-value-has-icon-suffix{padding-right:34px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adf-card-view-textitem .mdc-line-ripple:before,.adf-card-view-textitem .mdc-line-ripple:after{display:none}\n"] }]
|
|
18330
18222
|
}], ctorParameters: () => [{ type: ClipboardService }, { type: TranslationService }, { type: i0.ChangeDetectorRef }], propDecorators: { displayEmpty: [{
|
|
18331
18223
|
type: Input
|
|
18332
18224
|
}], copyToClipboardAction: [{
|
|
@@ -21292,23 +21184,27 @@ class MinLengthFieldValidator {
|
|
|
21292
21184
|
}
|
|
21293
21185
|
}
|
|
21294
21186
|
class MaxLengthFieldValidator {
|
|
21295
|
-
constructor() {
|
|
21296
|
-
this.supportedTypes =
|
|
21187
|
+
constructor(supportedTypes = [FormFieldTypes.TEXT, FormFieldTypes.MULTILINE_TEXT], maxLength) {
|
|
21188
|
+
this.supportedTypes = supportedTypes;
|
|
21189
|
+
this.maxLength = maxLength;
|
|
21297
21190
|
}
|
|
21298
21191
|
isSupported(field) {
|
|
21299
|
-
return field && this.supportedTypes.indexOf(field.type) > -1 && field
|
|
21192
|
+
return field && this.supportedTypes.indexOf(field.type) > -1 && this.getMaxLength(field) > 0;
|
|
21300
21193
|
}
|
|
21301
21194
|
validate(field) {
|
|
21302
21195
|
if (this.isSupported(field) && field.value && field.isVisible) {
|
|
21303
|
-
if (field.value.length <= field
|
|
21196
|
+
if (field.value.toString().length <= this.getMaxLength(field)) {
|
|
21304
21197
|
return true;
|
|
21305
21198
|
}
|
|
21306
21199
|
field.validationSummary.message = `FORM.FIELD.VALIDATOR.NO_LONGER_THAN`;
|
|
21307
|
-
field.validationSummary.attributes.set('maxLength', field.
|
|
21200
|
+
field.validationSummary.attributes.set('maxLength', this.getMaxLength(field).toLocaleString());
|
|
21308
21201
|
return false;
|
|
21309
21202
|
}
|
|
21310
21203
|
return true;
|
|
21311
21204
|
}
|
|
21205
|
+
getMaxLength(field) {
|
|
21206
|
+
return this.maxLength ?? field.maxLength;
|
|
21207
|
+
}
|
|
21312
21208
|
}
|
|
21313
21209
|
class MinValueFieldValidator {
|
|
21314
21210
|
constructor() {
|
|
@@ -21439,6 +21335,7 @@ const FORM_FIELD_VALIDATORS = [
|
|
|
21439
21335
|
new NumberFieldValidator(),
|
|
21440
21336
|
new MinLengthFieldValidator(),
|
|
21441
21337
|
new MaxLengthFieldValidator(),
|
|
21338
|
+
new MaxLengthFieldValidator([FormFieldTypes.NUMBER], 10),
|
|
21442
21339
|
new MinValueFieldValidator(),
|
|
21443
21340
|
new MaxValueFieldValidator(),
|
|
21444
21341
|
new RegExFieldValidator(),
|
|
@@ -27071,11 +26968,11 @@ class ConfirmDialogComponent {
|
|
|
27071
26968
|
return this.sanitizer.sanitize(SecurityContext.HTML, this.htmlContent);
|
|
27072
26969
|
}
|
|
27073
26970
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1$5.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27074
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ConfirmDialogComponent, isStandalone: true, selector: "adf-confirm-dialog", host: { classAttribute: "adf-confirm-dialog" }, ngImport: i0, template: "<h1 mat-dialog-title data-automation-id=\"adf-confirm-dialog-title\">{{ title | translate }}</h1>\n<mat-dialog-content>\n <div class=\"adf-confirm-dialog-content\">\n <p *ngIf=\"!htmlContent; else customContent\" data-automation-id=\"adf-confirm-dialog-base-message\"
|
|
26971
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ConfirmDialogComponent, isStandalone: true, selector: "adf-confirm-dialog", host: { classAttribute: "adf-confirm-dialog" }, ngImport: i0, template: "<h1 mat-dialog-title data-automation-id=\"adf-confirm-dialog-title\">{{ title | translate }}</h1>\n<mat-dialog-content>\n <div class=\"adf-confirm-dialog-content\">\n <p *ngIf=\"!htmlContent; else customContent\" data-automation-id=\"adf-confirm-dialog-base-message\">{{ message | translate }}</p>\n <ng-template #customContent>\n <span [innerHTML]=\"sanitizedHtmlContent()\" data-automation-id=\"adf-confirm-dialog-custom-content\"></span>\n </ng-template>\n </div>\n</mat-dialog-content>\n<mat-dialog-actions>\n <span class=\"adf-dialog-spacer\" data-automation-id=\"adf-confirm-dialog-spacer\"></span>\n <button\n id=\"adf-confirm-cancel\"\n class=\"adf-confirm-dialog-button\"\n mat-button\n [mat-dialog-close]=\"false\"\n data-automation-id=\"adf-confirm-dialog-reject\"\n >\n {{ noLabel | translate }}\n </button>\n <button\n *ngIf=\"thirdOptionLabel\"\n id=\"adf-confirm-all\"\n class=\"adf-confirm-dialog-button\"\n mat-button\n [mat-dialog-close]=\"thirdOptionLabel\"\n data-automation-id=\"adf-confirm-dialog-confirm-all\"\n >\n {{ thirdOptionLabel | translate }}\n </button>\n <button\n id=\"adf-confirm-accept\"\n class=\"adf-confirm-dialog-button\"\n mat-button\n color=\"primary\"\n data-automation-id=\"adf-confirm-dialog-confirmation\"\n [mat-dialog-close]=\"true\"\n cdkFocusInitial\n >\n {{ yesLabel | translate }}\n </button>\n</mat-dialog-actions>\n", styles: [".adf-dialog-spacer{flex:1 1 auto}.adf-confirm-dialog .adf-confirm-dialog-button{text-transform:uppercase}.adf-confirm-dialog .adf-confirm-dialog-content{width:100%}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1$7.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$7.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$7.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$7.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
27075
26972
|
}
|
|
27076
26973
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
|
|
27077
26974
|
type: Component,
|
|
27078
|
-
args: [{ selector: 'adf-confirm-dialog', host: { class: 'adf-confirm-dialog' }, encapsulation: ViewEncapsulation.None, standalone: true, imports: [TranslatePipe, MatDialogModule, NgIf, MatButtonModule], template: "<h1 mat-dialog-title data-automation-id=\"adf-confirm-dialog-title\">{{ title | translate }}</h1>\n<mat-dialog-content>\n <div class=\"adf-confirm-dialog-content\">\n <p *ngIf=\"!htmlContent; else customContent\" data-automation-id=\"adf-confirm-dialog-base-message\"
|
|
26975
|
+
args: [{ selector: 'adf-confirm-dialog', host: { class: 'adf-confirm-dialog' }, encapsulation: ViewEncapsulation.None, standalone: true, imports: [TranslatePipe, MatDialogModule, NgIf, MatButtonModule], template: "<h1 mat-dialog-title data-automation-id=\"adf-confirm-dialog-title\">{{ title | translate }}</h1>\n<mat-dialog-content>\n <div class=\"adf-confirm-dialog-content\">\n <p *ngIf=\"!htmlContent; else customContent\" data-automation-id=\"adf-confirm-dialog-base-message\">{{ message | translate }}</p>\n <ng-template #customContent>\n <span [innerHTML]=\"sanitizedHtmlContent()\" data-automation-id=\"adf-confirm-dialog-custom-content\"></span>\n </ng-template>\n </div>\n</mat-dialog-content>\n<mat-dialog-actions>\n <span class=\"adf-dialog-spacer\" data-automation-id=\"adf-confirm-dialog-spacer\"></span>\n <button\n id=\"adf-confirm-cancel\"\n class=\"adf-confirm-dialog-button\"\n mat-button\n [mat-dialog-close]=\"false\"\n data-automation-id=\"adf-confirm-dialog-reject\"\n >\n {{ noLabel | translate }}\n </button>\n <button\n *ngIf=\"thirdOptionLabel\"\n id=\"adf-confirm-all\"\n class=\"adf-confirm-dialog-button\"\n mat-button\n [mat-dialog-close]=\"thirdOptionLabel\"\n data-automation-id=\"adf-confirm-dialog-confirm-all\"\n >\n {{ thirdOptionLabel | translate }}\n </button>\n <button\n id=\"adf-confirm-accept\"\n class=\"adf-confirm-dialog-button\"\n mat-button\n color=\"primary\"\n data-automation-id=\"adf-confirm-dialog-confirmation\"\n [mat-dialog-close]=\"true\"\n cdkFocusInitial\n >\n {{ yesLabel | translate }}\n </button>\n</mat-dialog-actions>\n", styles: [".adf-dialog-spacer{flex:1 1 auto}.adf-confirm-dialog .adf-confirm-dialog-button{text-transform:uppercase}.adf-confirm-dialog .adf-confirm-dialog-content{width:100%}\n"] }]
|
|
27079
26976
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
27080
26977
|
type: Inject,
|
|
27081
26978
|
args: [MAT_DIALOG_DATA]
|