@alfresco/adf-core 8.4.0-19573246171 → 8.4.0-19581312228
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/adf-core.mjs +8 -276
- package/fesm2022/adf-core.mjs.map +1 -1
- package/lib/auth/guard/auth-guard.d.ts +0 -1
- package/lib/auth/oidc/auth.module.d.ts +0 -10
- package/lib/auth/public-api.d.ts +0 -2
- package/lib/auth/services/user-access.service.d.ts +1 -6
- package/lib/card-view/components/card-view/card-view.component.scss +0 -76
- package/lib/card-view/components/card-view-textitem/card-view-textitem.component.scss +0 -7
- package/package.json +3 -3
- package/lib/auth/services/bff/bff-auth-error.interceptor.d.ts +0 -18
- package/lib/auth/services/bff/bff-auth.guard.d.ts +0 -26
- package/lib/auth/services/bff/bff-auth.service.d.ts +0 -68
- package/lib/auth/services/bff/bff-user-access.service.d.ts +0 -11
package/fesm2022/adf-core.mjs
CHANGED
|
@@ -7,8 +7,8 @@ import { MatTableModule, MatTableDataSource } from '@angular/material/table';
|
|
|
7
7
|
import * as i1$1 from '@ngx-translate/core';
|
|
8
8
|
import { TranslatePipe, provideTranslateService, TranslateLoader } from '@ngx-translate/core';
|
|
9
9
|
import * as i1$8 from '@angular/common/http';
|
|
10
|
-
import { HttpClient, HttpHeaders, HttpResponse, provideHttpClient, HTTP_INTERCEPTORS, withInterceptorsFromDi, withXsrfConfiguration
|
|
11
|
-
import { ReplaySubject, BehaviorSubject, of, Subject, switchMap as switchMap$1, from, fromEvent, Observable, throwError, firstValueFrom, combineLatest, defer, EMPTY, race,
|
|
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, firstValueFrom, combineLatest, defer, EMPTY, race, forkJoin, merge, isObservable, filter as filter$1 } from 'rxjs';
|
|
12
12
|
import { map, distinctUntilChanged, take, switchMap, delay, catchError, skipWhile, filter, first, timeout, shareReplay, mergeMap, tap, retry, debounceTime, share, pairwise, takeUntil, 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';
|
|
@@ -9226,162 +9226,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
9226
9226
|
}]
|
|
9227
9227
|
}], ctorParameters: () => [{ type: AuthenticationService }, { type: BasicAlfrescoAuthService }, { type: OidcAuthenticationService }, { type: i1$9.Router }, { type: AppConfigService }, { type: i1$7.MatDialog }, { type: StorageService }] });
|
|
9228
9228
|
|
|
9229
|
-
/*!
|
|
9230
|
-
* @license
|
|
9231
|
-
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
9232
|
-
*
|
|
9233
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
9234
|
-
* you may not use this file except in compliance with the License.
|
|
9235
|
-
* You may obtain a copy of the License at
|
|
9236
|
-
*
|
|
9237
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9238
|
-
*
|
|
9239
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
9240
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
9241
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
9242
|
-
* See the License for the specific language governing permissions and
|
|
9243
|
-
* limitations under the License.
|
|
9244
|
-
*/
|
|
9245
|
-
/* eslint-disable no-console */
|
|
9246
|
-
class BffAuthService {
|
|
9247
|
-
constructor(http) {
|
|
9248
|
-
this.http = http;
|
|
9249
|
-
this.isAuthenticated = false;
|
|
9250
|
-
this.username = '';
|
|
9251
|
-
this.onError = new BehaviorSubject(null);
|
|
9252
|
-
this.onLogin = new BehaviorSubject(false);
|
|
9253
|
-
this.onLogout = new BehaviorSubject(false);
|
|
9254
|
-
this.getUser()
|
|
9255
|
-
.pipe(filter$1((user) => user.isAuthenticated))
|
|
9256
|
-
.subscribe(() => {
|
|
9257
|
-
this.isAuthenticated = true;
|
|
9258
|
-
this.onLogin.next(this.isAuthenticated);
|
|
9259
|
-
});
|
|
9260
|
-
this.getUser().subscribe((userResponse) => {
|
|
9261
|
-
console.log('[BffAuthService] userResponse: ', userResponse);
|
|
9262
|
-
this.userInfo = userResponse;
|
|
9263
|
-
});
|
|
9264
|
-
}
|
|
9265
|
-
getToken() {
|
|
9266
|
-
return '';
|
|
9267
|
-
}
|
|
9268
|
-
isLoggedIn() {
|
|
9269
|
-
return this.isAuthenticated;
|
|
9270
|
-
}
|
|
9271
|
-
isOauth() {
|
|
9272
|
-
return true;
|
|
9273
|
-
}
|
|
9274
|
-
isECMProvider() {
|
|
9275
|
-
return false;
|
|
9276
|
-
}
|
|
9277
|
-
isBPMProvider() {
|
|
9278
|
-
return false;
|
|
9279
|
-
}
|
|
9280
|
-
isALLProvider() {
|
|
9281
|
-
return false;
|
|
9282
|
-
}
|
|
9283
|
-
getUsername() {
|
|
9284
|
-
return '';
|
|
9285
|
-
}
|
|
9286
|
-
getAuthHeaders(_requestUrl, header) {
|
|
9287
|
-
return header;
|
|
9288
|
-
}
|
|
9289
|
-
addTokenToHeader(_requestUrl, headersArg) {
|
|
9290
|
-
return new BehaviorSubject(headersArg ?? new HttpHeaders()).asObservable();
|
|
9291
|
-
}
|
|
9292
|
-
reset() {
|
|
9293
|
-
return;
|
|
9294
|
-
}
|
|
9295
|
-
getUser() {
|
|
9296
|
-
const protocol = window.location.protocol;
|
|
9297
|
-
const host = window.location.host;
|
|
9298
|
-
console.log('[BffAuthService] getUser from ', `${protocol}//${host}/bff/user`);
|
|
9299
|
-
return this.http.get(`${protocol}//${host}/bff/user`);
|
|
9300
|
-
}
|
|
9301
|
-
login(currentUrl) {
|
|
9302
|
-
const protocol = window.location.protocol;
|
|
9303
|
-
const host = window.location.host;
|
|
9304
|
-
let url;
|
|
9305
|
-
if (!currentUrl || currentUrl === '/') {
|
|
9306
|
-
url = `${protocol}//${host}/bff/login`;
|
|
9307
|
-
}
|
|
9308
|
-
else {
|
|
9309
|
-
url = `${protocol}//${host}/bff/login?returnUrl=${encodeURIComponent(currentUrl ?? '')}`;
|
|
9310
|
-
}
|
|
9311
|
-
console.log('url: ', url);
|
|
9312
|
-
window.location.href = url;
|
|
9313
|
-
}
|
|
9314
|
-
logout() {
|
|
9315
|
-
const protocol = window.location.protocol;
|
|
9316
|
-
const host = window.location.host;
|
|
9317
|
-
this.http.post(`${protocol}//${host}/bff/logout`, {}).subscribe({
|
|
9318
|
-
next: (res) => {
|
|
9319
|
-
console.log('[BffAuthService] logout: ', res);
|
|
9320
|
-
const target = res.redirectTo || '/';
|
|
9321
|
-
window.location.href = target;
|
|
9322
|
-
},
|
|
9323
|
-
error: () => window.location.reload()
|
|
9324
|
-
});
|
|
9325
|
-
}
|
|
9326
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BffAuthService, deps: [{ token: i1$8.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
9327
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BffAuthService }); }
|
|
9328
|
-
}
|
|
9329
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BffAuthService, decorators: [{
|
|
9330
|
-
type: Injectable
|
|
9331
|
-
}], ctorParameters: () => [{ type: i1$8.HttpClient }] });
|
|
9332
|
-
|
|
9333
|
-
/*!
|
|
9334
|
-
* @license
|
|
9335
|
-
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
9336
|
-
*
|
|
9337
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
9338
|
-
* you may not use this file except in compliance with the License.
|
|
9339
|
-
* You may obtain a copy of the License at
|
|
9340
|
-
*
|
|
9341
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9342
|
-
*
|
|
9343
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
9344
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
9345
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
9346
|
-
* See the License for the specific language governing permissions and
|
|
9347
|
-
* limitations under the License.
|
|
9348
|
-
*/
|
|
9349
|
-
/* eslint-disable no-console */
|
|
9350
|
-
/**
|
|
9351
|
-
* Guard function for route activation that checks user authentication via BffAuthService.
|
|
9352
|
-
* If the user is unauthenticated, it handles redirection and triggers login.
|
|
9353
|
-
*
|
|
9354
|
-
* @param _route - The activated route snapshot (unused).
|
|
9355
|
-
* @param state - The router state snapshot containing the target URL.
|
|
9356
|
-
* @returns An Observable emitting `true` if the user is authenticated, or `false` otherwise.
|
|
9357
|
-
*/
|
|
9358
|
-
const BffAuthGuard = (_route, state) => {
|
|
9359
|
-
const auth = inject(BffAuthService);
|
|
9360
|
-
return auth.getUser().pipe(map$1((userResponse) => handleAuthRedirectIfUnauthenticated(userResponse, state.url, auth)), catchError$1((error) => {
|
|
9361
|
-
console.error('[BffAuthGuard] error: ', error);
|
|
9362
|
-
console.error('[BffAuthGuard] state.url: ', state.url);
|
|
9363
|
-
auth.login(state.url);
|
|
9364
|
-
return of(false);
|
|
9365
|
-
}));
|
|
9366
|
-
};
|
|
9367
|
-
/**
|
|
9368
|
-
* Handles authentication redirect if the user is unauthenticated.
|
|
9369
|
-
*
|
|
9370
|
-
* @param userResponse The response object containing authentication status.
|
|
9371
|
-
* @param url The URL to redirect to after authentication.
|
|
9372
|
-
* @param auth The BffAuthService instance used for authentication actions.
|
|
9373
|
-
* @returns True if the user is authenticated, otherwise false.
|
|
9374
|
-
*/
|
|
9375
|
-
function handleAuthRedirectIfUnauthenticated(userResponse, url, auth) {
|
|
9376
|
-
console.log('%c[BffAuthGuard] userResponse.isAuthenticated: ', 'color: orange;', userResponse.isAuthenticated);
|
|
9377
|
-
if (userResponse.isAuthenticated) {
|
|
9378
|
-
return true;
|
|
9379
|
-
}
|
|
9380
|
-
console.log('%c[BffAuthGuard] not authenticated, redirect to bff/login, state.url: ', 'color: orange;', url);
|
|
9381
|
-
auth.login(url);
|
|
9382
|
-
return false;
|
|
9383
|
-
}
|
|
9384
|
-
|
|
9385
9229
|
/*!
|
|
9386
9230
|
* @license
|
|
9387
9231
|
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -9418,7 +9262,7 @@ const ticketChangeHandler = (event, authGuardBaseService, jwtHelperService, url)
|
|
|
9418
9262
|
ticketChangeRedirect(event, authGuardBaseService, url);
|
|
9419
9263
|
}
|
|
9420
9264
|
};
|
|
9421
|
-
const
|
|
9265
|
+
const AuthGuard = async (_, state) => {
|
|
9422
9266
|
const router = inject(Router);
|
|
9423
9267
|
const jwtHelperService = inject(JwtHelperService);
|
|
9424
9268
|
const authGuardBaseService = inject(AuthGuardService);
|
|
@@ -9429,7 +9273,6 @@ const LegacyAuthGuard = async (_, state) => {
|
|
|
9429
9273
|
}
|
|
9430
9274
|
return authGuardBaseService.redirectToUrl(state.url);
|
|
9431
9275
|
};
|
|
9432
|
-
const AuthGuard = BffAuthGuard;
|
|
9433
9276
|
|
|
9434
9277
|
/*!
|
|
9435
9278
|
* @license
|
|
@@ -10827,96 +10670,6 @@ const AUTH_ROUTES = [
|
|
|
10827
10670
|
{ path: 'view/authentication-confirmation', component: AuthenticationConfirmationComponent, canActivate: [OidcAuthGuard] }
|
|
10828
10671
|
];
|
|
10829
10672
|
|
|
10830
|
-
/*!
|
|
10831
|
-
* @license
|
|
10832
|
-
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
10833
|
-
*
|
|
10834
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
10835
|
-
* you may not use this file except in compliance with the License.
|
|
10836
|
-
* You may obtain a copy of the License at
|
|
10837
|
-
*
|
|
10838
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10839
|
-
*
|
|
10840
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
10841
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
10842
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10843
|
-
* See the License for the specific language governing permissions and
|
|
10844
|
-
* limitations under the License.
|
|
10845
|
-
*/
|
|
10846
|
-
/* eslint-disable no-console */
|
|
10847
|
-
class BffUserAccessService {
|
|
10848
|
-
constructor() {
|
|
10849
|
-
this.bffAuthService = inject(BffAuthService);
|
|
10850
|
-
}
|
|
10851
|
-
fetchUserAccess() {
|
|
10852
|
-
console.log('[BffUserAccessService] fetchUserAccess');
|
|
10853
|
-
const { user } = this.bffAuthService.userInfo;
|
|
10854
|
-
if (user.appKey && user.roles?.length > 0) {
|
|
10855
|
-
this.applicationAccess = {
|
|
10856
|
-
name: user.appKey,
|
|
10857
|
-
roles: user.roles
|
|
10858
|
-
};
|
|
10859
|
-
console.log('✅[BffUserAccessService] fetchUserAccess applicationAccess: ', this.applicationAccess);
|
|
10860
|
-
}
|
|
10861
|
-
else {
|
|
10862
|
-
this.applicationAccess = null;
|
|
10863
|
-
}
|
|
10864
|
-
}
|
|
10865
|
-
hasGlobalAccess(rolesToCheck) {
|
|
10866
|
-
if (!rolesToCheck?.length) {
|
|
10867
|
-
return true;
|
|
10868
|
-
}
|
|
10869
|
-
const hasAccess = this.applicationAccess?.roles?.some((role) => rolesToCheck.includes(role)) ?? false;
|
|
10870
|
-
console.log('[BffUserAccessService] hasGlobalAccess() hasAccess: ', hasAccess);
|
|
10871
|
-
return hasAccess;
|
|
10872
|
-
}
|
|
10873
|
-
hasApplicationAccess(appName, rolesToCheck) {
|
|
10874
|
-
if (!appName) {
|
|
10875
|
-
return false;
|
|
10876
|
-
}
|
|
10877
|
-
if (!rolesToCheck?.length) {
|
|
10878
|
-
return true;
|
|
10879
|
-
}
|
|
10880
|
-
const { name, roles } = this.applicationAccess || {};
|
|
10881
|
-
if (name !== appName || !roles?.length) {
|
|
10882
|
-
return false;
|
|
10883
|
-
}
|
|
10884
|
-
return roles.some((role) => rolesToCheck.includes(role));
|
|
10885
|
-
}
|
|
10886
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BffUserAccessService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
10887
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BffUserAccessService }); }
|
|
10888
|
-
}
|
|
10889
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BffUserAccessService, decorators: [{
|
|
10890
|
-
type: Injectable
|
|
10891
|
-
}] });
|
|
10892
|
-
|
|
10893
|
-
/*!
|
|
10894
|
-
* @license
|
|
10895
|
-
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
10896
|
-
*
|
|
10897
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
10898
|
-
* you may not use this file except in compliance with the License.
|
|
10899
|
-
* You may obtain a copy of the License at
|
|
10900
|
-
*
|
|
10901
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10902
|
-
*
|
|
10903
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
10904
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
10905
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10906
|
-
* See the License for the specific language governing permissions and
|
|
10907
|
-
* limitations under the License.
|
|
10908
|
-
*/
|
|
10909
|
-
/* eslint-disable no-console */
|
|
10910
|
-
const bffAuthErrorInterceptor = (req, next) => next(req).pipe(catchError((err) => {
|
|
10911
|
-
console.log('%c[bffAuthErrorInterceptor] err: ', 'color: red;', err);
|
|
10912
|
-
if (err.status === 401 && req.url.includes('/bff/')) {
|
|
10913
|
-
const returnUrl = window.location.pathname + window.location.search;
|
|
10914
|
-
window.location.href = `/bff/login?returnUrl=${encodeURIComponent(returnUrl)}`;
|
|
10915
|
-
return EMPTY;
|
|
10916
|
-
}
|
|
10917
|
-
return throwError(() => err);
|
|
10918
|
-
}));
|
|
10919
|
-
|
|
10920
10673
|
/*!
|
|
10921
10674
|
* @license
|
|
10922
10675
|
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -10974,27 +10727,6 @@ function provideCoreAuth(config = { useHash: false }) {
|
|
|
10974
10727
|
{ provide: Authentication, useClass: AuthenticationService }
|
|
10975
10728
|
];
|
|
10976
10729
|
}
|
|
10977
|
-
/**
|
|
10978
|
-
* Provides the necessary Angular providers for BFF (Backend For Frontend) authentication.
|
|
10979
|
-
*
|
|
10980
|
-
* This function returns an array of providers required to set up authentication using the BffAuthService.
|
|
10981
|
-
* It includes HTTP client, router configuration with BFF-specific routes, and maps authentication services
|
|
10982
|
-
* to the BffAuthService implementation.
|
|
10983
|
-
*
|
|
10984
|
-
* @returns An array of Angular providers for BFF authentication.
|
|
10985
|
-
*/
|
|
10986
|
-
function provideBffAuth() {
|
|
10987
|
-
return [
|
|
10988
|
-
provideHttpClient(withXsrfConfiguration({ cookieName: 'CSRF-TOKEN', headerName: 'X-CSRF-TOKEN' }), withInterceptors([bffAuthErrorInterceptor])),
|
|
10989
|
-
BffAuthService,
|
|
10990
|
-
{ provide: UserAccessService, useClass: BffUserAccessService },
|
|
10991
|
-
{ provide: OAuthStorage, useFactory: () => ({ getItem: () => null, setItem: () => null, removeItem: () => null }) },
|
|
10992
|
-
{ provide: OAuthService, useFactory: () => ({}) },
|
|
10993
|
-
{ provide: AUTH_MODULE_CONFIG, useFactory: () => ({ useHash: false, preventClearHashAfterLogin: true }) },
|
|
10994
|
-
{ provide: AuthService, useExisting: BffAuthService },
|
|
10995
|
-
{ provide: AuthenticationService, useExisting: BffAuthService }
|
|
10996
|
-
];
|
|
10997
|
-
}
|
|
10998
10730
|
/** @deprecated use `provideCoreAuth()` provider api instead */
|
|
10999
10731
|
class AuthModule {
|
|
11000
10732
|
/* @deprecated use `provideCoreAuth()` provider api instead */
|
|
@@ -18449,7 +18181,7 @@ class CardViewTextItemComponent extends BaseCardView {
|
|
|
18449
18181
|
return String(Math.trunc(Number(value)));
|
|
18450
18182
|
}
|
|
18451
18183
|
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 }); }
|
|
18452
|
-
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-chip-list-container .mat-mdc-form-field-infix{padding-top:0}.adf-card-view-textitem .adf-textitem-chip-list-container .mat-mdc-form-field-infix .adf-property-value{margin-left:0}.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 }); }
|
|
18184
|
+
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-chip-list-container .mat-mdc-form-field-infix{padding-top:0}.adf-card-view-textitem .adf-textitem-chip-list-container .mat-mdc-form-field-infix .adf-property-value{margin-left:0}.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}\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 }); }
|
|
18453
18185
|
}
|
|
18454
18186
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CardViewTextItemComponent, decorators: [{
|
|
18455
18187
|
type: Component,
|
|
@@ -18464,7 +18196,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
18464
18196
|
FormsModule,
|
|
18465
18197
|
MatButtonModule,
|
|
18466
18198
|
MatSnackBarModule
|
|
18467
|
-
], 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-chip-list-container .mat-mdc-form-field-infix{padding-top:0}.adf-card-view-textitem .adf-textitem-chip-list-container .mat-mdc-form-field-infix .adf-property-value{margin-left:0}.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}
|
|
18199
|
+
], 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-chip-list-container .mat-mdc-form-field-infix{padding-top:0}.adf-card-view-textitem .adf-textitem-chip-list-container .mat-mdc-form-field-infix .adf-property-value{margin-left:0}.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}\n"] }]
|
|
18468
18200
|
}], ctorParameters: () => [{ type: ClipboardService }, { type: TranslationService }, { type: i0.ChangeDetectorRef }], propDecorators: { displayEmpty: [{
|
|
18469
18201
|
type: Input
|
|
18470
18202
|
}], copyToClipboardAction: [{
|
|
@@ -19172,11 +18904,11 @@ class CardViewComponent {
|
|
|
19172
18904
|
this.displayLabelForChips = false;
|
|
19173
18905
|
}
|
|
19174
18906
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CardViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19175
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: CardViewComponent, isStandalone: true, selector: "adf-card-view", inputs: { properties: "properties", editable: "editable", displayEmpty: "displayEmpty", displayNoneOption: "displayNoneOption", displayClearAction: "displayClearAction", copyToClipboardAction: "copyToClipboardAction", useChipsForMultiValueProperty: "useChipsForMultiValueProperty", multiValueSeparator: "multiValueSeparator", displayLabelForChips: "displayLabelForChips" }, ngImport: i0, template: "<div class=\"adf-property-list\">\n <div *ngFor=\"let property of properties\" class=\"adf-property-container\">\n <div [attr.data-automation-id]=\"'header-'+property.key\" class=\"adf-property\">\n <adf-card-view-item-dispatcher\n [property]=\"property\"\n [editable]=\"editable\"\n [displayEmpty]=\"displayEmpty\"\n [displayNoneOption]=\"property['displayNoneOption'] !== undefined ? property['displayNoneOption'] : displayNoneOption\"\n [displayClearAction]=\"displayClearAction\"\n [copyToClipboardAction]=\"copyToClipboardAction\"\n [useChipsForMultiValueProperty]=\"useChipsForMultiValueProperty\"\n [multiValueSeparator]=\"multiValueSeparator\"\n [displayLabelForChips]=\"displayLabelForChips\" />\n </div>\n </div>\n</div>\n", styles: [".adf-property-list{border:unset;border-color:var(--adf-theme-foreground-divider-color);border-radius:0}.adf-property-list .adf-property-label{color:var(--adf-metadata-property-panel-text-color);display:flex;line-height:20px;margin-bottom:4px}.adf-property-list .adf-property-label.adf-property-readonly-value{color:var(--adf-metadata-property-panel-label-color)}.adf-property-list .adf-property-label.adf-property-value-editable{color:var(--adf-metadata-property-panel-title-color)}.adf-property-list .adf-property-container{margin-bottom:12px}.adf-property-list .adf-property .adf-property-field{width:100%}.adf-property-list .adf-property .adf-property-field .mat-
|
|
18907
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: CardViewComponent, isStandalone: true, selector: "adf-card-view", inputs: { properties: "properties", editable: "editable", displayEmpty: "displayEmpty", displayNoneOption: "displayNoneOption", displayClearAction: "displayClearAction", copyToClipboardAction: "copyToClipboardAction", useChipsForMultiValueProperty: "useChipsForMultiValueProperty", multiValueSeparator: "multiValueSeparator", displayLabelForChips: "displayLabelForChips" }, ngImport: i0, template: "<div class=\"adf-property-list\">\n <div *ngFor=\"let property of properties\" class=\"adf-property-container\">\n <div [attr.data-automation-id]=\"'header-'+property.key\" class=\"adf-property\">\n <adf-card-view-item-dispatcher\n [property]=\"property\"\n [editable]=\"editable\"\n [displayEmpty]=\"displayEmpty\"\n [displayNoneOption]=\"property['displayNoneOption'] !== undefined ? property['displayNoneOption'] : displayNoneOption\"\n [displayClearAction]=\"displayClearAction\"\n [copyToClipboardAction]=\"copyToClipboardAction\"\n [useChipsForMultiValueProperty]=\"useChipsForMultiValueProperty\"\n [multiValueSeparator]=\"multiValueSeparator\"\n [displayLabelForChips]=\"displayLabelForChips\" />\n </div>\n </div>\n</div>\n", styles: [".adf-property-list{border:unset;border-color:var(--adf-theme-foreground-divider-color);border-radius:0}.adf-property-list .adf-property-label{color:var(--adf-metadata-property-panel-text-color);display:flex;line-height:20px;margin-bottom:4px}.adf-property-list .adf-property-label.adf-property-readonly-value{color:var(--adf-metadata-property-panel-label-color)}.adf-property-list .adf-property-label.adf-property-value-editable{color:var(--adf-metadata-property-panel-title-color)}.adf-property-list .adf-property-container{margin-bottom:12px}.adf-property-list .adf-property .adf-property-field{width:100%}.adf-property-list .adf-property .adf-property-field .mat-mdc-input-element{text-overflow:ellipsis;line-height:20px}.adf-property-list .adf-property .adf-property-field .adf-card-view__key-value-pairs__row .mat-mdc-input-element{margin-top:0;padding-left:12px}.adf-property-list .adf-property .adf-card-view-textitem .adf-property-field{padding-top:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: CardViewItemDispatcherComponent, selector: "adf-card-view-item-dispatcher", inputs: ["property", "editable", "displayEmpty", "displayNoneOption", "displayClearAction", "copyToClipboardAction", "useChipsForMultiValueProperty", "multiValueSeparator", "displayLabelForChips"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
19176
18908
|
}
|
|
19177
18909
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CardViewComponent, decorators: [{
|
|
19178
18910
|
type: Component,
|
|
19179
|
-
args: [{ selector: 'adf-card-view', imports: [CommonModule, CardViewItemDispatcherComponent], encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-property-list\">\n <div *ngFor=\"let property of properties\" class=\"adf-property-container\">\n <div [attr.data-automation-id]=\"'header-'+property.key\" class=\"adf-property\">\n <adf-card-view-item-dispatcher\n [property]=\"property\"\n [editable]=\"editable\"\n [displayEmpty]=\"displayEmpty\"\n [displayNoneOption]=\"property['displayNoneOption'] !== undefined ? property['displayNoneOption'] : displayNoneOption\"\n [displayClearAction]=\"displayClearAction\"\n [copyToClipboardAction]=\"copyToClipboardAction\"\n [useChipsForMultiValueProperty]=\"useChipsForMultiValueProperty\"\n [multiValueSeparator]=\"multiValueSeparator\"\n [displayLabelForChips]=\"displayLabelForChips\" />\n </div>\n </div>\n</div>\n", styles: [".adf-property-list{border:unset;border-color:var(--adf-theme-foreground-divider-color);border-radius:0}.adf-property-list .adf-property-label{color:var(--adf-metadata-property-panel-text-color);display:flex;line-height:20px;margin-bottom:4px}.adf-property-list .adf-property-label.adf-property-readonly-value{color:var(--adf-metadata-property-panel-label-color)}.adf-property-list .adf-property-label.adf-property-value-editable{color:var(--adf-metadata-property-panel-title-color)}.adf-property-list .adf-property-container{margin-bottom:12px}.adf-property-list .adf-property .adf-property-field{width:100%}.adf-property-list .adf-property .adf-property-field .mat-
|
|
18911
|
+
args: [{ selector: 'adf-card-view', imports: [CommonModule, CardViewItemDispatcherComponent], encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-property-list\">\n <div *ngFor=\"let property of properties\" class=\"adf-property-container\">\n <div [attr.data-automation-id]=\"'header-'+property.key\" class=\"adf-property\">\n <adf-card-view-item-dispatcher\n [property]=\"property\"\n [editable]=\"editable\"\n [displayEmpty]=\"displayEmpty\"\n [displayNoneOption]=\"property['displayNoneOption'] !== undefined ? property['displayNoneOption'] : displayNoneOption\"\n [displayClearAction]=\"displayClearAction\"\n [copyToClipboardAction]=\"copyToClipboardAction\"\n [useChipsForMultiValueProperty]=\"useChipsForMultiValueProperty\"\n [multiValueSeparator]=\"multiValueSeparator\"\n [displayLabelForChips]=\"displayLabelForChips\" />\n </div>\n </div>\n</div>\n", styles: [".adf-property-list{border:unset;border-color:var(--adf-theme-foreground-divider-color);border-radius:0}.adf-property-list .adf-property-label{color:var(--adf-metadata-property-panel-text-color);display:flex;line-height:20px;margin-bottom:4px}.adf-property-list .adf-property-label.adf-property-readonly-value{color:var(--adf-metadata-property-panel-label-color)}.adf-property-list .adf-property-label.adf-property-value-editable{color:var(--adf-metadata-property-panel-title-color)}.adf-property-list .adf-property-container{margin-bottom:12px}.adf-property-list .adf-property .adf-property-field{width:100%}.adf-property-list .adf-property .adf-property-field .mat-mdc-input-element{text-overflow:ellipsis;line-height:20px}.adf-property-list .adf-property .adf-property-field .adf-card-view__key-value-pairs__row .mat-mdc-input-element{margin-top:0;padding-left:12px}.adf-property-list .adf-property .adf-card-view-textitem .adf-property-field{padding-top:0}\n"] }]
|
|
19180
18912
|
}], propDecorators: { properties: [{
|
|
19181
18913
|
type: Input,
|
|
19182
18914
|
args: [{ required: true }]
|
|
@@ -32066,5 +31798,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
32066
31798
|
* Generated bundle index. Do not edit.
|
|
32067
31799
|
*/
|
|
32068
31800
|
|
|
32069
|
-
export { ABOUT_DIRECTIVES, ADF_AMOUNT_SETTINGS, ADF_COMMENTS_SERVICE, ADF_DATETIME_FORMATS, ADF_DATE_FORMATS, AboutComponent, AboutExtensionListComponent, AboutLicenseListComponent, AboutModule, AboutPanelDirective, AboutRepositoryInfoComponent, AboutServerSettingsComponent, AboutStatusListComponent, AdfDateFnsAdapter, AdfDateTimeFnsAdapter, AmountCellComponent, AmountWidgetComponent, AppConfigPipe, AppConfigService, AppConfigServiceMock, AppConfigValues, AuthBearerInterceptor, AuthGuard, AuthGuardBpm, AuthGuardEcm, AuthGuardService, AuthGuardSsoRoleService, AuthModule, AuthService, AuthenticationConfirmationComponent, AuthenticationService, AvatarComponent, BaseEvent, BaseUIEvent, BaseViewerWidgetComponent, BasicAlfrescoAuthService,
|
|
31801
|
+
export { ABOUT_DIRECTIVES, ADF_AMOUNT_SETTINGS, ADF_COMMENTS_SERVICE, ADF_DATETIME_FORMATS, ADF_DATE_FORMATS, AboutComponent, AboutExtensionListComponent, AboutLicenseListComponent, AboutModule, AboutPanelDirective, AboutRepositoryInfoComponent, AboutServerSettingsComponent, AboutStatusListComponent, AdfDateFnsAdapter, AdfDateTimeFnsAdapter, AmountCellComponent, AmountWidgetComponent, AppConfigPipe, AppConfigService, AppConfigServiceMock, AppConfigValues, AuthBearerInterceptor, AuthGuard, AuthGuardBpm, AuthGuardEcm, AuthGuardService, AuthGuardSsoRoleService, AuthModule, AuthService, AuthenticationConfirmationComponent, AuthenticationService, AvatarComponent, BaseEvent, BaseUIEvent, BaseViewerWidgetComponent, BasicAlfrescoAuthService, BlankPageComponent, BlankPageModule, BooleanCellComponent, BpmProductVersionModel, ButtonComponent, ButtonWidgetComponent, ByPassFormRuleManager, CARD_VIEW_DIRECTIVES, CLIPBOARD_DIRECTIVES, CONTEXT_MENU_DIRECTIVES, CORE_DIRECTIVES, CORE_PIPES, CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CardItemTypeService, CardViewArrayItemComponent, CardViewArrayItemModel, CardViewBaseItemModel, CardViewBoolItemComponent, CardViewBoolItemModel, CardViewComponent, CardViewDateItemComponent, CardViewDateItemModel, CardViewDatetimeItemModel, CardViewFloatItemModel, CardViewIntItemModel, CardViewItemDispatcherComponent, CardViewItemFloatValidator, CardViewItemIntValidator, CardViewItemLengthValidator, CardViewItemLongValidator, CardViewItemMatchValidator, CardViewItemMinMaxValidator, CardViewItemPositiveIntValidator, CardViewItemPositiveLongValidator, CardViewKeyValuePairsItemComponent, CardViewKeyValuePairsItemModel, CardViewLongItemModel, CardViewMapItemComponent, CardViewMapItemModel, CardViewModule, CardViewSelectItemComponent, CardViewSelectItemModel, CardViewTextItemComponent, CardViewTextItemModel, CardViewUpdateService, CheckboxWidgetComponent, ClipboardDirective, ClipboardModule, ClipboardService, CloseButtonPosition, ColumnsSelectorComponent, CommentListComponent, CommentListModule, CommentModel, CommentsComponent, CommentsModule, ConfirmDialogComponent, ConfirmDialogModule, ContainerColumnModel, ContainerModel, ContentAuth, ContentLinkModel, ContextMenuDirective, ContextMenuListComponent, ContextMenuModule, ContextMenuOverlayService, CookieService, CookieServiceMock, CoreModule, CustomEmptyContentTemplateDirective, CustomLoadingContentTemplateDirective, CustomNoPermissionTemplateDirective, DATATABLE_DIRECTIVES, DEFAULT_DATE_FORMAT, DEFAULT_LANGUAGE_LIST, DEFAULT_PAGINATION, DIALOG_COMPONENT_DATA, DataCellEvent, DataCellEventModel, DataColumnComponent, DataColumnListComponent, DataRowActionEvent, DataRowActionModel, DataRowEvent, DataSorting, DataTableCellComponent, DataTableComponent, DataTableModule, DataTableRowComponent, DataTableSchema, DataTableService, DateCellComponent, DateColumnHeaderComponent, DateFnsUtils, DateTimePipe, DateTimeWidgetComponent, DateWidgetComponent, DecimalFieldValidator, DecimalNumberModel, DecimalNumberPipe, DecimalRenderMiddlewareService, DecimalWidgetComponent, DialogComponent, DialogSize, DirectiveModule, DisplayTextWidgetComponent, DownloadPromptActions, DownloadPromptDialogComponent, DownloadService, DropZoneDirective, DynamicChipListComponent, DynamicChipListModule, DynamicComponentMapper, DynamicComponentResolver, EXTENDIBLE_COMPONENT, EditJsonDialogComponent, EditJsonDialogModule, EmptyContentComponent, EmptyListBodyDirective, EmptyListComponent, EmptyListFooterDirective, EmptyListHeaderDirective, ErrorContentComponent, ErrorMessageModel, ErrorWidgetComponent, EventMock, FORM_FIELD_MODEL_RENDER_MIDDLEWARE, FORM_FIELD_VALIDATORS, FORM_RULES_MANAGER, FORM_SERVICE_FIELD_VALIDATORS_TOKEN, FieldStylePipe, FileSizeCellComponent, FileSizePipe, FileTypePipe, FileUtils, FixedValueFieldValidator, FormBaseComponent, FormBaseModule, FormErrorEvent, FormEvent, FormFieldComponent, FormFieldEvent, FormFieldModel, FormFieldTypes, FormModel, FormOutcomeEvent, FormOutcomeModel, FormRendererComponent, FormRenderingService, FormRulesEvent, FormRulesManager, FormService, FormSpinnerEvent, FormWidgetModel, FormatSpacePipe, FullNamePipe, HeaderComponent, HeaderFilterTemplateDirective, HeaderLayoutComponent, HeaderWidgetComponent, HighlightDirective, HighlightPipe, HighlightTransformService, HyperlinkWidgetComponent, INFO_DRAWER_DIRECTIVES, IconCellComponent, IconComponent, IconModule, IdentityGroupService, IdentityRoleModel, IdentityRoleService, IdentityUserInfoComponent, IdentityUserInfoModule, IdentityUserService, ImgViewerComponent, InfinitePaginationComponent, InfiniteSelectScrollDirective, InfoDrawerButtonsDirective, InfoDrawerComponent, InfoDrawerContentDirective, InfoDrawerLayoutComponent, InfoDrawerModule, InfoDrawerTabComponent, InfoDrawerTitleDirective, InitialUsernamePipe, InplaceFormInputComponent, InputMaskDirective, JSON_TYPE, JWT_STORAGE_SERVICE, JsonCellComponent, JsonWidgetComponent, JwtHelperService, LANDING_PAGE_TOKEN, LANGUAGE_MENU_DIRECTIVES, LAYOUT_DIRECTIVES, LOGIN_DIRECTIVES, LanguageMenuComponent, LanguageMenuModule, LanguagePickerComponent, LanguageService, LayoutContainerComponent, LoadingContentTemplateDirective, LocalizedDatePipe, LocationCellComponent, LogLevelsEnum, LogService, LoginComponent, LoginDialogPanelComponent, LoginErrorEvent, LoginFooterDirective, LoginHeaderDirective, LoginModule, LoginSubmitEvent, LoginSuccessEvent, LogoutDirective, MASK_DIRECTIVE, MOMENT_DATE_FORMATS, MainMenuDataTableTemplateDirective, MaterialModule, MaxLengthFieldValidator, MaxValueFieldValidator, MediaPlayerComponent, MinLengthFieldValidator, MinValueFieldValidator, ModuleListComponent, MomentDateAdapter, MultiValuePipe, MultilineTextWidgetComponentComponent, NOTIFICATION_HISTORY_DIRECTIVES, NOTIFICATION_TYPE, NavbarComponent, NavbarItemComponent, NoContentTemplateDirective, NoPermissionTemplateDirective, NoopAuthModule, NoopRedirectAuthService, NoopTranslateModule, NoopTranslationService, NotificationHistoryComponent, NotificationHistoryModule, NotificationService, NumberCellComponent, NumberFieldValidator, NumberWidgetComponent, OAuth2Service, ObjectDataColumn, ObjectDataRow, ObjectDataTableAdapter, ObjectUtils, OidcAuthGuard, OidcAuthenticationService, PAGINATION_DIRECTIVES, PDFJS_MODULE, PDFJS_VIEWER_MODULE, PackageListComponent, PageTitleService, PaginationComponent, PaginationModel, PaginationModule, PathInfo, PdfPasswordDialogComponent, PdfThumbComponent, PdfThumbListComponent, PdfViewerComponent, PipeModule, ProcessAuth, ProgressComponent, RedirectAuthService, RedirectionModel, RegExFieldValidator, RepeatWidgetComponent, RequestPaginationModel, RequiredFieldValidator, ResizableDirective, ResizeHandleDirective, SEARCH_AUTOCOMPLETE_VALUE_ACCESSOR, SEARCH_TEXT_INPUT_DIRECTIVES, STORAGE_PREFIX_FACTORY_SERVICE, SearchTextInputComponent, SearchTextModule, SearchTextStateEnum, SearchTriggerDirective, SelectFilterInputComponent, ShowHeaderMode, SidebarActionMenuComponent, SidebarMenuDirective, SidebarMenuExpandIconDirective, SidebarMenuTitleIconDirective, SidenavLayoutComponent, SidenavLayoutContentDirective, SidenavLayoutHeaderDirective, SidenavLayoutModule, SidenavLayoutNavigationDirective, SnackbarContentComponent, SnackbarContentModule, SortByCategoryMapperService, SortingPickerComponent, StartFormCustomButtonDirective, Status, StoragePrefixFactory, StorageService, StringUtils, TEMPLATE_DIRECTIVES, TOOLBAR_DIRECTIVES, TRANSLATION_PROVIDER, TabModel, TaskProcessVariableModel, TemplateModule, TextWidgetComponent, ThumbnailService, TimeAgoPipe, ToolbarComponent, ToolbarDividerComponent, ToolbarModule, ToolbarTitleComponent, TooltipCardComponent, TooltipCardDirective, TranslateLoaderService, TranslationMock, TranslationService, TruncatePipe, TxtViewerComponent, UnitTestingUtils, UnknownFormatComponent, UnknownWidgetComponent, UnsavedChangesDialogComponent, UnsavedChangesDialogModule, UnsavedChangesGuard, UploadDirective, UploadWidgetContentLinkModel, UploadWidgetContentLinkModelOptions, UrlService, User, UserAccessService, UserInfoMode, UserPreferenceValues, UserPreferencesService, VIEWER_DIRECTIVES, ValidateFormEvent, ValidateFormFieldEvent, ViewUtilService, ViewerComponent, ViewerExtensionDirective, ViewerModule, ViewerMoreActionsComponent, ViewerOpenWithComponent, ViewerRenderComponent, ViewerSidebarComponent, ViewerToolbarActionsComponent, ViewerToolbarComponent, ViewerToolbarCustomActionsComponent, WIDGET_DIRECTIVES, WidgetComponent, WidgetVisibilityService, complexVisibilityJsonNotVisible, complexVisibilityJsonVisible, displayTextSchema, error, fakeFormChainedVisibilityJson, fakeFormCheckBoxVisibilityJson, fakeFormJson, formModelTabs, formRulesManagerFactory, formTest, formValues, headerSchema, info, isNumberValue, isOutcomeButtonVisible, logLevels, oauthStorageFactory, predefinedTheme, provideAppConfig, provideAppConfigTesting, provideCoreAuth, provideCoreAuthTesting, provideI18N, provideLandingPage, provideTranslations, rootInitiator, searchAnimation, tabInvalidFormVisibility, tabVisibilityJsonMock, transformKeyToObject, warning };
|
|
32070
31802
|
//# sourceMappingURL=adf-core.mjs.map
|