@alfresco/adf-core 8.4.0-18230841087 → 8.4.0-18303674276
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 +6 -284
- package/fesm2022/adf-core.mjs.map +1 -1
- package/lib/app-config/app-config.service.d.ts +0 -1
- package/lib/auth/oidc/auth-config.d.ts +0 -6
- package/lib/auth/public-api.d.ts +0 -4
- package/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.scss +16 -3
- package/lib/card-view/components/card-view-textitem/card-view-textitem.component.scss +8 -0
- package/lib/styles/_mat-selectors.scss +1 -0
- package/package.json +3 -3
- package/lib/auth/services/cross-app-auth-initializer.service.d.ts +0 -24
- package/lib/auth/services/cross-app-auth-integration.service.d.ts +0 -32
- package/lib/auth/services/cross-app-auth.providers.d.ts +0 -32
- package/lib/auth/services/cross-app-token-manager.service.d.ts +0 -22
package/fesm2022/adf-core.mjs
CHANGED
|
@@ -446,7 +446,6 @@ var AppConfigValues;
|
|
|
446
446
|
AppConfigValues["AUTH_WITH_CREDENTIALS"] = "auth.withCredentials";
|
|
447
447
|
AppConfigValues["APPLICATION"] = "application";
|
|
448
448
|
AppConfigValues["STORAGE_PREFIX"] = "application.storagePrefix";
|
|
449
|
-
AppConfigValues["LINKED_STORAGE_AUTH_PREFIX"] = "application.linkedStorageAuthPrefix";
|
|
450
449
|
AppConfigValues["NOTIFY_DURATION"] = "notificationDefaultDuration";
|
|
451
450
|
AppConfigValues["CONTENT_TICKET_STORAGE_LABEL"] = "ticket-ECM";
|
|
452
451
|
AppConfigValues["PROCESS_TICKET_STORAGE_LABEL"] = "ticket-BPM";
|
|
@@ -10292,278 +10291,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
10292
10291
|
args: [{ providedIn: 'root' }]
|
|
10293
10292
|
}], ctorParameters: () => [{ type: OAuth2Service }, { type: AppConfigService }] });
|
|
10294
10293
|
|
|
10295
|
-
/*!
|
|
10296
|
-
* @license
|
|
10297
|
-
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
10298
|
-
*
|
|
10299
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
10300
|
-
* you may not use this file except in compliance with the License.
|
|
10301
|
-
* You may obtain a copy of the License at
|
|
10302
|
-
*
|
|
10303
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10304
|
-
*
|
|
10305
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
10306
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
10307
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10308
|
-
* See the License for the specific language governing permissions and
|
|
10309
|
-
* limitations under the License.
|
|
10310
|
-
*/
|
|
10311
|
-
class CrossAppTokenManager {
|
|
10312
|
-
constructor() {
|
|
10313
|
-
this.appConfigService = inject(AppConfigService);
|
|
10314
|
-
this.appPrefixes = [];
|
|
10315
|
-
}
|
|
10316
|
-
/**
|
|
10317
|
-
* Initializes the CrossAppTokenManager by waiting for the application configuration to load,
|
|
10318
|
-
* then retrieves and sets the configured application prefixes.
|
|
10319
|
-
* If no prefixes are found, logs an error to the console.
|
|
10320
|
-
*
|
|
10321
|
-
* @returns A promise that resolves when initialization is complete.
|
|
10322
|
-
*/
|
|
10323
|
-
async initialize() {
|
|
10324
|
-
await firstValueFrom(this.appConfigService.onLoad);
|
|
10325
|
-
this.appPrefixes = this.getConfiguredPrefixes();
|
|
10326
|
-
if (this.appPrefixes.length === 0) {
|
|
10327
|
-
console.error('CrossAppTokenManager: No app prefixes configured. Set appPrefixes or application.linkedStorageAuthPrefix in app.config.json');
|
|
10328
|
-
}
|
|
10329
|
-
}
|
|
10330
|
-
/**
|
|
10331
|
-
* Clear authentication tokens from all configured prefixes
|
|
10332
|
-
* Called when user explicitly logs out
|
|
10333
|
-
*/
|
|
10334
|
-
clearTokensFromAllApps() {
|
|
10335
|
-
const authKeys = [
|
|
10336
|
-
'access_token',
|
|
10337
|
-
'access_token_stored_at',
|
|
10338
|
-
'expires_at',
|
|
10339
|
-
'granted_scopes',
|
|
10340
|
-
'id_token',
|
|
10341
|
-
'id_token_claims_obj',
|
|
10342
|
-
'id_token_expires_at',
|
|
10343
|
-
'id_token_stored_at',
|
|
10344
|
-
'nonce',
|
|
10345
|
-
'PKCE_verifier',
|
|
10346
|
-
'refresh_token',
|
|
10347
|
-
'session_state'
|
|
10348
|
-
];
|
|
10349
|
-
this.appPrefixes.forEach((prefix) => {
|
|
10350
|
-
authKeys.forEach((key) => {
|
|
10351
|
-
const storageKey = this.buildStorageKey(prefix, key);
|
|
10352
|
-
localStorage.removeItem(storageKey);
|
|
10353
|
-
});
|
|
10354
|
-
});
|
|
10355
|
-
}
|
|
10356
|
-
buildStorageKey(prefix, item) {
|
|
10357
|
-
return prefix ? `${prefix}${item}` : item;
|
|
10358
|
-
}
|
|
10359
|
-
getConfiguredPrefixes() {
|
|
10360
|
-
const linkedPrefixes = this.appConfigService.get(AppConfigValues.LINKED_STORAGE_AUTH_PREFIX) || [];
|
|
10361
|
-
const currentAppPrefix = this.appConfigService.get(AppConfigValues.STORAGE_PREFIX);
|
|
10362
|
-
const formattedLinkedPrefixes = linkedPrefixes.map((prefix) => (prefix.endsWith('_') ? prefix : `${prefix}_`));
|
|
10363
|
-
const formattedCurrentAppPrefix = currentAppPrefix ? (currentAppPrefix.endsWith('_') ? currentAppPrefix : `${currentAppPrefix}_`) : '';
|
|
10364
|
-
if (formattedLinkedPrefixes.length === 0 && !formattedCurrentAppPrefix) {
|
|
10365
|
-
return [];
|
|
10366
|
-
}
|
|
10367
|
-
const allPrefixes = [...formattedLinkedPrefixes];
|
|
10368
|
-
if (formattedCurrentAppPrefix) {
|
|
10369
|
-
allPrefixes.push(formattedCurrentAppPrefix);
|
|
10370
|
-
}
|
|
10371
|
-
else {
|
|
10372
|
-
if (formattedLinkedPrefixes.length > 0) {
|
|
10373
|
-
allPrefixes.push('');
|
|
10374
|
-
}
|
|
10375
|
-
}
|
|
10376
|
-
return allPrefixes;
|
|
10377
|
-
}
|
|
10378
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CrossAppTokenManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
10379
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CrossAppTokenManager }); }
|
|
10380
|
-
}
|
|
10381
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CrossAppTokenManager, decorators: [{
|
|
10382
|
-
type: Injectable
|
|
10383
|
-
}] });
|
|
10384
|
-
|
|
10385
|
-
/*!
|
|
10386
|
-
* @license
|
|
10387
|
-
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
10388
|
-
*
|
|
10389
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
10390
|
-
* you may not use this file except in compliance with the License.
|
|
10391
|
-
* You may obtain a copy of the License at
|
|
10392
|
-
*
|
|
10393
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10394
|
-
*
|
|
10395
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
10396
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
10397
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10398
|
-
* See the License for the specific language governing permissions and
|
|
10399
|
-
* limitations under the License.
|
|
10400
|
-
*/
|
|
10401
|
-
class CrossAppAuthIntegrationService {
|
|
10402
|
-
constructor() {
|
|
10403
|
-
this.redirectAuthService = inject(RedirectAuthService);
|
|
10404
|
-
this.crossAppTokenManager = inject(CrossAppTokenManager);
|
|
10405
|
-
}
|
|
10406
|
-
/**
|
|
10407
|
-
* Initializes the cross-app authentication integration service.
|
|
10408
|
-
*
|
|
10409
|
-
* This method performs the following actions:
|
|
10410
|
-
* - Awaits the initialization of the cross-app synchronization service.
|
|
10411
|
-
* - Subscribes to the logout event from the redirect authentication service.
|
|
10412
|
-
* When a logout occurs, it clears authentication tokens from all applications.
|
|
10413
|
-
*
|
|
10414
|
-
* @returns A promise that resolves when initialization is complete.
|
|
10415
|
-
*/
|
|
10416
|
-
async initialize() {
|
|
10417
|
-
await this.crossAppTokenManager.initialize();
|
|
10418
|
-
this.redirectAuthService.onLogout$.subscribe(() => {
|
|
10419
|
-
this.crossAppTokenManager.clearTokensFromAllApps();
|
|
10420
|
-
});
|
|
10421
|
-
}
|
|
10422
|
-
/**
|
|
10423
|
-
* Process cross-app authentication request by detecting the crossAppAuth URL parameter.
|
|
10424
|
-
* If present, cleans up the URL parameter and clears authentication tokens to prepare
|
|
10425
|
-
* for a fresh authentication flow initiated by the redirect-auth service.
|
|
10426
|
-
*
|
|
10427
|
-
* @returns True if crossAppAuth parameter was present and processed
|
|
10428
|
-
*/
|
|
10429
|
-
async processCrossAppAuthRequest() {
|
|
10430
|
-
const shouldAttemptCrossAppAuth = this.hasCrossAppAuthParameter();
|
|
10431
|
-
if (shouldAttemptCrossAppAuth) {
|
|
10432
|
-
this.cleanupCrossAppAuthParameter();
|
|
10433
|
-
this.crossAppTokenManager.clearTokensFromAllApps();
|
|
10434
|
-
return true;
|
|
10435
|
-
}
|
|
10436
|
-
return false;
|
|
10437
|
-
}
|
|
10438
|
-
/**
|
|
10439
|
-
* Clear authentication tokens from all configured applications
|
|
10440
|
-
*/
|
|
10441
|
-
clearTokensFromAllApps() {
|
|
10442
|
-
this.crossAppTokenManager.clearTokensFromAllApps();
|
|
10443
|
-
}
|
|
10444
|
-
hasCrossAppAuthParameter() {
|
|
10445
|
-
const urlParams = new URLSearchParams(window.location.search);
|
|
10446
|
-
return urlParams.get('crossAppAuth') === 'true';
|
|
10447
|
-
}
|
|
10448
|
-
cleanupCrossAppAuthParameter() {
|
|
10449
|
-
const url = new URL(window.location.href);
|
|
10450
|
-
url.searchParams.delete('crossAppAuth');
|
|
10451
|
-
window.history.replaceState({}, '', url.toString());
|
|
10452
|
-
}
|
|
10453
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CrossAppAuthIntegrationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
10454
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CrossAppAuthIntegrationService }); }
|
|
10455
|
-
}
|
|
10456
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CrossAppAuthIntegrationService, decorators: [{
|
|
10457
|
-
type: Injectable
|
|
10458
|
-
}] });
|
|
10459
|
-
|
|
10460
|
-
/*!
|
|
10461
|
-
* @license
|
|
10462
|
-
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
10463
|
-
*
|
|
10464
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
10465
|
-
* you may not use this file except in compliance with the License.
|
|
10466
|
-
* You may obtain a copy of the License at
|
|
10467
|
-
*
|
|
10468
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10469
|
-
*
|
|
10470
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
10471
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
10472
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10473
|
-
* See the License for the specific language governing permissions and
|
|
10474
|
-
* limitations under the License.
|
|
10475
|
-
*/
|
|
10476
|
-
/**
|
|
10477
|
-
* Service responsible for initializing cross-application authentication during app startup.
|
|
10478
|
-
* Handles timeout management and error handling for the initialization process.
|
|
10479
|
-
*/
|
|
10480
|
-
class CrossAppAuthInitializerService {
|
|
10481
|
-
constructor() {
|
|
10482
|
-
this.crossAppIntegration = inject(CrossAppAuthIntegrationService);
|
|
10483
|
-
this.initializationTimeoutMs = 5000;
|
|
10484
|
-
}
|
|
10485
|
-
/**
|
|
10486
|
-
* Initializes the cross-application login process.
|
|
10487
|
-
*
|
|
10488
|
-
* This method attempts to initialize the cross-app authentication flow with a timeout,
|
|
10489
|
-
* and then performs a cross-app authentication request. If any error occurs during
|
|
10490
|
-
* initialization or authentication, it handles the error and returns `false`.
|
|
10491
|
-
*
|
|
10492
|
-
* @returns A promise that resolves to `true` if cross-app login is successful, or `false` if an error occurs.
|
|
10493
|
-
*/
|
|
10494
|
-
async initializeCrossAppLogin() {
|
|
10495
|
-
try {
|
|
10496
|
-
await this.initializeWithTimeout();
|
|
10497
|
-
return await this.crossAppIntegration.processCrossAppAuthRequest();
|
|
10498
|
-
}
|
|
10499
|
-
catch (error) {
|
|
10500
|
-
this.handleInitializationError(error);
|
|
10501
|
-
return false;
|
|
10502
|
-
}
|
|
10503
|
-
}
|
|
10504
|
-
async initializeWithTimeout() {
|
|
10505
|
-
const initPromise = this.crossAppIntegration.initialize();
|
|
10506
|
-
const timeoutPromise = this.createTimeoutPromise();
|
|
10507
|
-
await Promise.race([initPromise, timeoutPromise]);
|
|
10508
|
-
}
|
|
10509
|
-
createTimeoutPromise() {
|
|
10510
|
-
return new Promise((_, reject) => setTimeout(() => reject(new Error('Cross-app auth initialization timed out')), this.initializationTimeoutMs));
|
|
10511
|
-
}
|
|
10512
|
-
handleInitializationError(error) {
|
|
10513
|
-
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
10514
|
-
console.warn('Cross-app auth initialization failed:', errorMessage);
|
|
10515
|
-
}
|
|
10516
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CrossAppAuthInitializerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
10517
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CrossAppAuthInitializerService }); }
|
|
10518
|
-
}
|
|
10519
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CrossAppAuthInitializerService, decorators: [{
|
|
10520
|
-
type: Injectable
|
|
10521
|
-
}] });
|
|
10522
|
-
|
|
10523
|
-
/*!
|
|
10524
|
-
* @license
|
|
10525
|
-
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
10526
|
-
*
|
|
10527
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
10528
|
-
* you may not use this file except in compliance with the License.
|
|
10529
|
-
* You may obtain a copy of the License at
|
|
10530
|
-
*
|
|
10531
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10532
|
-
*
|
|
10533
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
10534
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
10535
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10536
|
-
* See the License for the specific language governing permissions and
|
|
10537
|
-
* limitations under the License.
|
|
10538
|
-
*/
|
|
10539
|
-
/**
|
|
10540
|
-
* Factory function to create app initializer for cross-app authentication.
|
|
10541
|
-
* Detects crossAppAuth URL parameter and attempts silent SSO with OAuth prompt=none.
|
|
10542
|
-
* Handles the initialization process with proper error handling and timeout management.
|
|
10543
|
-
*
|
|
10544
|
-
* @returns Promise<boolean> indicating whether silent login was attempted
|
|
10545
|
-
*/
|
|
10546
|
-
function crossAppAuthInitializerFactory() {
|
|
10547
|
-
return () => {
|
|
10548
|
-
const initializer = inject(CrossAppAuthInitializerService);
|
|
10549
|
-
return initializer.initializeCrossAppLogin();
|
|
10550
|
-
};
|
|
10551
|
-
}
|
|
10552
|
-
/**
|
|
10553
|
-
* Provides all necessary services and initializers for cross-app authentication.
|
|
10554
|
-
* This includes the sync service, integration service, initializer service, and app initializer.
|
|
10555
|
-
*
|
|
10556
|
-
* @returns Array of providers for cross-app authentication
|
|
10557
|
-
*/
|
|
10558
|
-
function provideCrossAppAuth() {
|
|
10559
|
-
return [
|
|
10560
|
-
CrossAppTokenManager,
|
|
10561
|
-
CrossAppAuthIntegrationService,
|
|
10562
|
-
CrossAppAuthInitializerService,
|
|
10563
|
-
provideAppInitializer(crossAppAuthInitializerFactory())
|
|
10564
|
-
];
|
|
10565
|
-
}
|
|
10566
|
-
|
|
10567
10294
|
/*!
|
|
10568
10295
|
* @license
|
|
10569
10296
|
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
@@ -10960,14 +10687,9 @@ class AuthModule {
|
|
|
10960
10687
|
/* @deprecated use `provideCoreAuth()` provider api instead */
|
|
10961
10688
|
static forRoot(config = { useHash: false }) {
|
|
10962
10689
|
config.preventClearHashAfterLogin = config.preventClearHashAfterLogin ?? true;
|
|
10963
|
-
config.enableCrossAppSync = config.enableCrossAppSync ?? false;
|
|
10964
|
-
const providers = [{ provide: AUTH_MODULE_CONFIG, useValue: config }];
|
|
10965
|
-
if (config.enableCrossAppSync) {
|
|
10966
|
-
providers.push(...provideCrossAppAuth());
|
|
10967
|
-
}
|
|
10968
10690
|
return {
|
|
10969
10691
|
ngModule: AuthModule,
|
|
10970
|
-
providers: [
|
|
10692
|
+
providers: [{ provide: AUTH_MODULE_CONFIG, useValue: config }]
|
|
10971
10693
|
};
|
|
10972
10694
|
}
|
|
10973
10695
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: AuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -18486,7 +18208,7 @@ class CardViewTextItemComponent extends BaseCardView {
|
|
|
18486
18208
|
return String(Math.trunc(Number(value)));
|
|
18487
18209
|
}
|
|
18488
18210
|
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 }); }
|
|
18489
|
-
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$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2$3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3$2.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: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatSnackBarModule }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
18211
|
+
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$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2$3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3$2.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: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatSnackBarModule }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
18490
18212
|
}
|
|
18491
18213
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CardViewTextItemComponent, decorators: [{
|
|
18492
18214
|
type: Component,
|
|
@@ -18501,7 +18223,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
18501
18223
|
FormsModule,
|
|
18502
18224
|
MatButtonModule,
|
|
18503
18225
|
MatSnackBarModule
|
|
18504
|
-
], 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"] }]
|
|
18226
|
+
], 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}.adf-card-view-textitem .mdc-line-ripple:before,.adf-card-view-textitem .mdc-line-ripple:after{display:none}\n"] }]
|
|
18505
18227
|
}], ctorParameters: () => [{ type: ClipboardService }, { type: TranslationService }, { type: i0.ChangeDetectorRef }], propDecorators: { displayEmpty: [{
|
|
18506
18228
|
type: Input
|
|
18507
18229
|
}], copyToClipboardAction: [{
|
|
@@ -18634,7 +18356,7 @@ class CardViewDateItemComponent extends BaseCardView {
|
|
|
18634
18356
|
{ provide: MAT_DATETIME_FORMATS, useValue: ADF_DATETIME_FORMATS },
|
|
18635
18357
|
{ provide: DateAdapter, useClass: AdfDateFnsAdapter },
|
|
18636
18358
|
{ provide: DatetimeAdapter, useClass: AdfDateTimeFnsAdapter }
|
|
18637
|
-
], viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["datetimePicker"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-label\n class=\"adf-property-label\"\n [attr.data-automation-id]=\"'card-dateitem-label-' + property.key\"\n *ngIf=\"showProperty && !isEditable\"\n [attr.for]=\"'card-view-dateitem-' + property.key\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty, 'adf-property-value-editable': editable }\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n>\n {{ property.label | translate }}\n</mat-label>\n\n<div class=\"adf-property-value\" [ngClass]=\"{ 'adf-property-value-editable': editable, 'adf-property-readonly-value': isReadonlyProperty }\">\n <span *ngIf=\"!isEditable && !property.multivalued\" [attr.data-automation-id]=\"'card-' + property.type + '-value-' + property.key\">\n <span\n *ngIf=\"showProperty\"\n [attr.data-automation-id]=\"'card-dateitem-' + property.key\"\n (dblclick)=\"copyToClipboard(property.displayValue)\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n >{{ property.displayValue }}</span\n >\n </span>\n <mat-form-field *ngIf=\"isEditable && !property.multivalued\" class=\"adf-dateitem-editable hxp-input\" [floatLabel]=\"property.default ? 'always' : null\">\n <mat-label\n class=\"adf-property-label\"\n [attr.data-automation-id]=\"'card-dateitem-label-' + property.key\"\n *ngIf=\"isEditable\"\n [attr.for]=\"'card-view-dateitem-' + property.key\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty, 'adf-property-value-editable': editable }\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n >\n {{ property.label | translate }}\n </mat-label>\n <div class=\"adf-dateitem-editable-controls\">\n <span\n class=\"adf-datepicker-span-button\"\n [attr.data-automation-id]=\"'datepicker-label-toggle-' + property.key\"\n (click)=\"showDatePicker()\"\n tabindex=\"0\"\n role=\"button\"\n (keyup.enter)=\"showDatePicker()\"\n >\n <span *ngIf=\"showProperty; else elseEmptyValueBlock\" [attr.data-automation-id]=\"'card-' + property.type + '-value-' + property.key\">\n {{ property.displayValue }}</span\n >\n </span>\n </div>\n <input\n matInput\n class=\"adf-invisible-date-input\"\n [attr.tabIndex]=\"-1\"\n [matDatetimepicker]=\"datetimePicker\"\n [value]=\"valueDate\"\n (dateChange)=\"onDateChanged($event)\"\n [attr.id]=\"'card-view-dateitem-' + property.key\"\n />\n <mat-icon\n matIconSuffix\n *ngIf=\"showClearAction\"\n class=\"adf-date-reset-icon\"\n (click)=\"onDateClear()\"\n [attr.title]=\"'CORE.METADATA.ACTIONS.CLEAR' | translate\"\n [attr.data-automation-id]=\"'datepicker-date-clear-' + property.key\"\n >\n clear\n </mat-icon>\n <mat-datetimepicker-toggle\n matIconSuffix\n [attr.tabindex]=\"-1\"\n [attr.title]=\"'CORE.METADATA.ACTIONS.EDIT' | translate\"\n [attr.data-automation-id]=\"'datepickertoggle-' + property.key\"\n [for]=\"datetimePicker\"\n class=\"adf-dateitem-picker-toggle\"\n />\n\n <mat-datetimepicker\n #datetimePicker\n [type]=\"$any(property).type\"\n [timeInterval]=\"5\"\n [attr.data-automation-id]=\"'datepicker-' + property.key\"\n [startAt]=\"valueDate\"\n />\n </mat-form-field>\n <ng-template #elseEmptyValueBlock>\n {{ property.default | translate }}\n </ng-template>\n\n <div *ngIf=\"property.multivalued\" class=\"adf-property-field adf-dateitem-chip-list-container adf-dateitem-editable\">\n <mat-chip-listbox #chipList class=\"adf-textitem-chip-list\">\n <mat-chip-option\n *ngFor=\"let propertyValue of property.displayValue; let idx = index\"\n [removable]=\"isEditable\"\n (removed)=\"removeValueFromList(idx)\"\n >\n {{ propertyValue }}\n <mat-icon *ngIf=\"isEditable\" matChipRemove>cancel</mat-icon>\n </mat-chip-option>\n </mat-chip-listbox>\n\n <div\n *ngIf=\"isEditable\"\n class=\"adf-property-field adf-dateitem-editable-controls\"\n (click)=\"showDatePicker()\"\n tabindex=\"0\"\n role=\"button\"\n (keyup.enter)=\"showDatePicker()\"\n >\n <input\n class=\"adf-invisible-date-input\"\n [attr.tabIndex]=\"-1\"\n [matDatetimepicker]=\"datetimePicker\"\n (dateChange)=\"addDateToList($event)\"\n [attr.id]=\"'card-view-dateitem-' + property.key\"\n />\n <mat-datetimepicker-toggle\n [attr.tabindex]=\"-1\"\n matSuffix\n [attr.title]=\"'CORE.METADATA.ACTIONS.EDIT' | translate\"\n [attr.data-automation-id]=\"'datepickertoggle-' + property.key\"\n [for]=\"datetimePicker\"\n />\n <mat-datetimepicker\n #datetimePicker\n [type]=\"$any(property).type\"\n [timeInterval]=\"5\"\n [attr.data-automation-id]=\"'datepicker-' + property.key\"\n [startAt]=\"valueDate\"\n />\n </div>\n </div>\n</div>\n", styles: [".adf-card-view-dateitem .adf-dateitem-editable{cursor:pointer;width:100%}.adf-card-view-dateitem .adf-dateitem-editable-controls{display:flex;align-items:center;justify-content:space-between}.adf-card-view-dateitem .adf-dateitem-editable-controls .mat-icon{opacity:.5}.adf-card-view-dateitem .adf-dateitem-editable-controls .mat-icon:hover{opacity:1}.adf-card-view-dateitem .adf-dateitem-editable-controls mat-datetimepicker-toggle{transform:scale(.8)}.adf-card-view-dateitem .adf-dateitem-editable-controls .adf-datepicker-span-button{flex:1 0 auto;font-size:14px;top:10px;position:relative}.adf-card-view-dateitem .adf-property-value{padding-top:6px;padding-bottom:6px;line-height:20px;color:var(--adf-metadata-property-panel-title-color);margin-top:10px}.adf-card-view-dateitem .adf-property-value.adf-property-value-editable{display:flex;align-items:center;border-radius:6px;border-bottom:inherit;margin-bottom:18px}.adf-card-view-dateitem .adf-property-value.adf-property-value-editable:not(.adf-property-readonly-value){margin-top:35px}.adf-card-view-dateitem .adf-property-value.adf-property-value-editable .adf-date-reset-icon{top:10px;position:relative;padding:0}.adf-card-view-dateitem .adf-property-value.adf-property-value-editable .adf-dateitem-picker-toggle{top:10px;position:relative}.adf-card-view-dateitem .adf-property-value.adf-property-readonly-value{padding:0 0 0 12px}.adf-card-view-dateitem .adf-invisible-date-input{height:2px;width:0;overflow:hidden;opacity:0;border:none;margin:0;padding:0;float:right}.adf-card-view-dateitem .adf-dateitem-chip-list-container.adf-property-field{margin-bottom:-7px;border-bottom:0;cursor:pointer}\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: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDatetimepickerModule }, { kind: "component", type: i7$1.MatDatetimepickerComponent, selector: "mat-datetimepicker", inputs: ["multiYearSelector", "twelvehour", "startView", "mode", "timeInterval", "ariaNextMonthLabel", "ariaPrevMonthLabel", "ariaNextYearLabel", "ariaPrevYearLabel", "preventSameDateTimeSelection", "panelClass", "startAt", "openOnFocus", "type", "touchUi", "disabled"], outputs: ["selectedChanged", "opened", "closed", "viewChanged"], exportAs: ["matDatetimepicker"] }, { kind: "component", type: i7$1.MatDatetimepickerToggleComponent, selector: "mat-datetimepicker-toggle", inputs: ["for", "disabled"], exportAs: ["matDatetimepickerToggle"] }, { kind: "directive", type: i7$1.MatDatetimepickerInputDirective, selector: "input[matDatetimepicker]", inputs: ["matDatetimepicker", "matDatepickerFilter", "value", "min", "max", "disabled"], outputs: ["dateChange", "dateInput"], exportAs: ["matDatepickerInput"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i8.MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i8.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["selectable", "selected"], outputs: ["selectionChange"] }, { kind: "directive", type: i8.MatChipRemove, selector: "[matChipRemove]" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3$2.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: "component", type: i2$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "ngmodule", type: MatSnackBarModule }, { kind: "ngmodule", type: ReactiveFormsModule }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
18359
|
+
], viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["datetimePicker"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-label\n class=\"adf-property-label\"\n [attr.data-automation-id]=\"'card-dateitem-label-' + property.key\"\n *ngIf=\"showProperty && !isEditable\"\n [attr.for]=\"'card-view-dateitem-' + property.key\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty, 'adf-property-value-editable': editable }\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n>\n {{ property.label | translate }}\n</mat-label>\n\n<div class=\"adf-property-value\" [ngClass]=\"{ 'adf-property-value-editable': editable, 'adf-property-readonly-value': isReadonlyProperty }\">\n <span *ngIf=\"!isEditable && !property.multivalued\" [attr.data-automation-id]=\"'card-' + property.type + '-value-' + property.key\">\n <span\n *ngIf=\"showProperty\"\n [attr.data-automation-id]=\"'card-dateitem-' + property.key\"\n (dblclick)=\"copyToClipboard(property.displayValue)\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n >{{ property.displayValue }}</span\n >\n </span>\n <mat-form-field *ngIf=\"isEditable && !property.multivalued\" class=\"adf-property-field adf-dateitem-editable hxp-input\" [floatLabel]=\"property.default ? 'always' : null\">\n <mat-label\n class=\"adf-property-label\"\n [attr.data-automation-id]=\"'card-dateitem-label-' + property.key\"\n *ngIf=\"isEditable\"\n [attr.for]=\"'card-view-dateitem-' + property.key\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty, 'adf-property-value-editable': editable }\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n >\n {{ property.label | translate }}\n </mat-label>\n <div class=\"adf-dateitem-editable-controls\">\n <span\n class=\"adf-datepicker-span-button\"\n [attr.data-automation-id]=\"'datepicker-label-toggle-' + property.key\"\n (click)=\"showDatePicker()\"\n tabindex=\"0\"\n role=\"button\"\n (keyup.enter)=\"showDatePicker()\"\n >\n <span *ngIf=\"showProperty; else elseEmptyValueBlock\" [attr.data-automation-id]=\"'card-' + property.type + '-value-' + property.key\">\n {{ property.displayValue }}</span\n >\n </span>\n </div>\n <input\n matInput\n class=\"adf-invisible-date-input\"\n [attr.tabIndex]=\"-1\"\n [matDatetimepicker]=\"datetimePicker\"\n [value]=\"valueDate\"\n (dateChange)=\"onDateChanged($event)\"\n [attr.id]=\"'card-view-dateitem-' + property.key\"\n />\n <mat-icon\n matIconSuffix\n *ngIf=\"showClearAction\"\n class=\"adf-date-reset-icon\"\n (click)=\"onDateClear()\"\n [attr.title]=\"'CORE.METADATA.ACTIONS.CLEAR' | translate\"\n [attr.data-automation-id]=\"'datepicker-date-clear-' + property.key\"\n >\n clear\n </mat-icon>\n <mat-datetimepicker-toggle\n matIconSuffix\n [attr.tabindex]=\"-1\"\n [attr.title]=\"'CORE.METADATA.ACTIONS.EDIT' | translate\"\n [attr.data-automation-id]=\"'datepickertoggle-' + property.key\"\n [for]=\"datetimePicker\"\n class=\"adf-dateitem-picker-toggle\"\n />\n\n <mat-datetimepicker\n #datetimePicker\n [type]=\"$any(property).type\"\n [timeInterval]=\"5\"\n [attr.data-automation-id]=\"'datepicker-' + property.key\"\n [startAt]=\"valueDate\"\n />\n </mat-form-field>\n <ng-template #elseEmptyValueBlock>\n {{ property.default | translate }}\n </ng-template>\n\n <div *ngIf=\"property.multivalued\" class=\"adf-property-field adf-dateitem-chip-list-container adf-dateitem-editable\">\n <mat-chip-listbox #chipList class=\"adf-textitem-chip-list\">\n <mat-chip-option\n *ngFor=\"let propertyValue of property.displayValue; let idx = index\"\n [removable]=\"isEditable\"\n (removed)=\"removeValueFromList(idx)\"\n >\n {{ propertyValue }}\n <mat-icon *ngIf=\"isEditable\" matChipRemove>cancel</mat-icon>\n </mat-chip-option>\n </mat-chip-listbox>\n\n <div\n *ngIf=\"isEditable\"\n class=\"adf-property-field adf-dateitem-editable-controls\"\n (click)=\"showDatePicker()\"\n tabindex=\"0\"\n role=\"button\"\n (keyup.enter)=\"showDatePicker()\"\n >\n <input\n class=\"adf-invisible-date-input\"\n [attr.tabIndex]=\"-1\"\n [matDatetimepicker]=\"datetimePicker\"\n (dateChange)=\"addDateToList($event)\"\n [attr.id]=\"'card-view-dateitem-' + property.key\"\n />\n <mat-datetimepicker-toggle\n [attr.tabindex]=\"-1\"\n matSuffix\n [attr.title]=\"'CORE.METADATA.ACTIONS.EDIT' | translate\"\n [attr.data-automation-id]=\"'datepickertoggle-' + property.key\"\n [for]=\"datetimePicker\"\n />\n <mat-datetimepicker\n #datetimePicker\n [type]=\"$any(property).type\"\n [timeInterval]=\"5\"\n [attr.data-automation-id]=\"'datepicker-' + property.key\"\n [startAt]=\"valueDate\"\n />\n </div>\n </div>\n</div>\n", styles: [".adf-card-view-dateitem{display:flow-root}.adf-card-view-dateitem .adf-dateitem-editable{cursor:pointer;width:100%}.adf-card-view-dateitem .adf-dateitem-editable-controls{display:flex;align-items:center;justify-content:space-between;top:6px;position:relative;left:12px;height:20px}.adf-card-view-dateitem .adf-dateitem-editable-controls .mat-icon{opacity:.5}.adf-card-view-dateitem .adf-dateitem-editable-controls .mat-icon:hover{opacity:1}.adf-card-view-dateitem .adf-dateitem-editable-controls mat-datetimepicker-toggle{transform:scale(.8)}.adf-card-view-dateitem .adf-dateitem-editable-controls .adf-datepicker-span-button{flex:1 0 auto;font-size:14px;top:10px;position:relative}.adf-card-view-dateitem .adf-dateitem-editable .mdc-line-ripple,.adf-card-view-dateitem .adf-dateitem-editable .mat-mdc-form-field-subscript-wrapper{display:none}.adf-card-view-dateitem .adf-property-value{padding-top:6px;padding-bottom:6px;line-height:20px;color:var(--adf-metadata-property-panel-title-color);margin-top:10px}.adf-card-view-dateitem .adf-property-value.adf-property-value-editable{display:flex;align-items:center;border-radius:6px;border-bottom:inherit;padding-left:0}.adf-card-view-dateitem .adf-property-value.adf-property-value-editable:not(.adf-property-readonly-value){margin-top:35px}.adf-card-view-dateitem .adf-property-value.adf-property-value-editable .adf-date-reset-icon{position:relative;padding:0}.adf-card-view-dateitem .adf-property-value.adf-property-value-editable .adf-dateitem-picker-toggle{position:relative}.adf-card-view-dateitem .adf-property-value.adf-property-readonly-value{padding:0 0 0 12px}.adf-card-view-dateitem .adf-invisible-date-input{height:2px;width:0;overflow:hidden;opacity:0;border:none;margin:0;padding:0;float:right}.adf-card-view-dateitem .adf-invisible-date-input.mat-mdc-input-element.mat-mdc-form-field-input-control{margin-top:35px}.adf-card-view-dateitem .adf-dateitem-chip-list-container.adf-property-field{margin-bottom:-7px;border-bottom:0;cursor:pointer}\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: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDatetimepickerModule }, { kind: "component", type: i7$1.MatDatetimepickerComponent, selector: "mat-datetimepicker", inputs: ["multiYearSelector", "twelvehour", "startView", "mode", "timeInterval", "ariaNextMonthLabel", "ariaPrevMonthLabel", "ariaNextYearLabel", "ariaPrevYearLabel", "preventSameDateTimeSelection", "panelClass", "startAt", "openOnFocus", "type", "touchUi", "disabled"], outputs: ["selectedChanged", "opened", "closed", "viewChanged"], exportAs: ["matDatetimepicker"] }, { kind: "component", type: i7$1.MatDatetimepickerToggleComponent, selector: "mat-datetimepicker-toggle", inputs: ["for", "disabled"], exportAs: ["matDatetimepickerToggle"] }, { kind: "directive", type: i7$1.MatDatetimepickerInputDirective, selector: "input[matDatetimepicker]", inputs: ["matDatetimepicker", "matDatepickerFilter", "value", "min", "max", "disabled"], outputs: ["dateChange", "dateInput"], exportAs: ["matDatepickerInput"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i8.MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i8.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["selectable", "selected"], outputs: ["selectionChange"] }, { kind: "directive", type: i8.MatChipRemove, selector: "[matChipRemove]" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3$2.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: "component", type: i2$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "ngmodule", type: MatSnackBarModule }, { kind: "ngmodule", type: ReactiveFormsModule }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
18638
18360
|
}
|
|
18639
18361
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CardViewDateItemComponent, decorators: [{
|
|
18640
18362
|
type: Component,
|
|
@@ -18654,7 +18376,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
18654
18376
|
MatDatepickerModule,
|
|
18655
18377
|
MatSnackBarModule,
|
|
18656
18378
|
ReactiveFormsModule
|
|
18657
|
-
], encapsulation: ViewEncapsulation.None, host: { class: 'adf-card-view-dateitem' }, template: "<mat-label\n class=\"adf-property-label\"\n [attr.data-automation-id]=\"'card-dateitem-label-' + property.key\"\n *ngIf=\"showProperty && !isEditable\"\n [attr.for]=\"'card-view-dateitem-' + property.key\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty, 'adf-property-value-editable': editable }\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n>\n {{ property.label | translate }}\n</mat-label>\n\n<div class=\"adf-property-value\" [ngClass]=\"{ 'adf-property-value-editable': editable, 'adf-property-readonly-value': isReadonlyProperty }\">\n <span *ngIf=\"!isEditable && !property.multivalued\" [attr.data-automation-id]=\"'card-' + property.type + '-value-' + property.key\">\n <span\n *ngIf=\"showProperty\"\n [attr.data-automation-id]=\"'card-dateitem-' + property.key\"\n (dblclick)=\"copyToClipboard(property.displayValue)\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n >{{ property.displayValue }}</span\n >\n </span>\n <mat-form-field *ngIf=\"isEditable && !property.multivalued\" class=\"adf-dateitem-editable hxp-input\" [floatLabel]=\"property.default ? 'always' : null\">\n <mat-label\n class=\"adf-property-label\"\n [attr.data-automation-id]=\"'card-dateitem-label-' + property.key\"\n *ngIf=\"isEditable\"\n [attr.for]=\"'card-view-dateitem-' + property.key\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty, 'adf-property-value-editable': editable }\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n >\n {{ property.label | translate }}\n </mat-label>\n <div class=\"adf-dateitem-editable-controls\">\n <span\n class=\"adf-datepicker-span-button\"\n [attr.data-automation-id]=\"'datepicker-label-toggle-' + property.key\"\n (click)=\"showDatePicker()\"\n tabindex=\"0\"\n role=\"button\"\n (keyup.enter)=\"showDatePicker()\"\n >\n <span *ngIf=\"showProperty; else elseEmptyValueBlock\" [attr.data-automation-id]=\"'card-' + property.type + '-value-' + property.key\">\n {{ property.displayValue }}</span\n >\n </span>\n </div>\n <input\n matInput\n class=\"adf-invisible-date-input\"\n [attr.tabIndex]=\"-1\"\n [matDatetimepicker]=\"datetimePicker\"\n [value]=\"valueDate\"\n (dateChange)=\"onDateChanged($event)\"\n [attr.id]=\"'card-view-dateitem-' + property.key\"\n />\n <mat-icon\n matIconSuffix\n *ngIf=\"showClearAction\"\n class=\"adf-date-reset-icon\"\n (click)=\"onDateClear()\"\n [attr.title]=\"'CORE.METADATA.ACTIONS.CLEAR' | translate\"\n [attr.data-automation-id]=\"'datepicker-date-clear-' + property.key\"\n >\n clear\n </mat-icon>\n <mat-datetimepicker-toggle\n matIconSuffix\n [attr.tabindex]=\"-1\"\n [attr.title]=\"'CORE.METADATA.ACTIONS.EDIT' | translate\"\n [attr.data-automation-id]=\"'datepickertoggle-' + property.key\"\n [for]=\"datetimePicker\"\n class=\"adf-dateitem-picker-toggle\"\n />\n\n <mat-datetimepicker\n #datetimePicker\n [type]=\"$any(property).type\"\n [timeInterval]=\"5\"\n [attr.data-automation-id]=\"'datepicker-' + property.key\"\n [startAt]=\"valueDate\"\n />\n </mat-form-field>\n <ng-template #elseEmptyValueBlock>\n {{ property.default | translate }}\n </ng-template>\n\n <div *ngIf=\"property.multivalued\" class=\"adf-property-field adf-dateitem-chip-list-container adf-dateitem-editable\">\n <mat-chip-listbox #chipList class=\"adf-textitem-chip-list\">\n <mat-chip-option\n *ngFor=\"let propertyValue of property.displayValue; let idx = index\"\n [removable]=\"isEditable\"\n (removed)=\"removeValueFromList(idx)\"\n >\n {{ propertyValue }}\n <mat-icon *ngIf=\"isEditable\" matChipRemove>cancel</mat-icon>\n </mat-chip-option>\n </mat-chip-listbox>\n\n <div\n *ngIf=\"isEditable\"\n class=\"adf-property-field adf-dateitem-editable-controls\"\n (click)=\"showDatePicker()\"\n tabindex=\"0\"\n role=\"button\"\n (keyup.enter)=\"showDatePicker()\"\n >\n <input\n class=\"adf-invisible-date-input\"\n [attr.tabIndex]=\"-1\"\n [matDatetimepicker]=\"datetimePicker\"\n (dateChange)=\"addDateToList($event)\"\n [attr.id]=\"'card-view-dateitem-' + property.key\"\n />\n <mat-datetimepicker-toggle\n [attr.tabindex]=\"-1\"\n matSuffix\n [attr.title]=\"'CORE.METADATA.ACTIONS.EDIT' | translate\"\n [attr.data-automation-id]=\"'datepickertoggle-' + property.key\"\n [for]=\"datetimePicker\"\n />\n <mat-datetimepicker\n #datetimePicker\n [type]=\"$any(property).type\"\n [timeInterval]=\"5\"\n [attr.data-automation-id]=\"'datepicker-' + property.key\"\n [startAt]=\"valueDate\"\n />\n </div>\n </div>\n</div>\n", styles: [".adf-card-view-dateitem .adf-dateitem-editable{cursor:pointer;width:100%}.adf-card-view-dateitem .adf-dateitem-editable-controls{display:flex;align-items:center;justify-content:space-between}.adf-card-view-dateitem .adf-dateitem-editable-controls .mat-icon{opacity:.5}.adf-card-view-dateitem .adf-dateitem-editable-controls .mat-icon:hover{opacity:1}.adf-card-view-dateitem .adf-dateitem-editable-controls mat-datetimepicker-toggle{transform:scale(.8)}.adf-card-view-dateitem .adf-dateitem-editable-controls .adf-datepicker-span-button{flex:1 0 auto;font-size:14px;top:10px;position:relative}.adf-card-view-dateitem .adf-property-value{padding-top:6px;padding-bottom:6px;line-height:20px;color:var(--adf-metadata-property-panel-title-color);margin-top:10px}.adf-card-view-dateitem .adf-property-value.adf-property-value-editable{display:flex;align-items:center;border-radius:6px;border-bottom:inherit;
|
|
18379
|
+
], encapsulation: ViewEncapsulation.None, host: { class: 'adf-card-view-dateitem' }, template: "<mat-label\n class=\"adf-property-label\"\n [attr.data-automation-id]=\"'card-dateitem-label-' + property.key\"\n *ngIf=\"showProperty && !isEditable\"\n [attr.for]=\"'card-view-dateitem-' + property.key\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty, 'adf-property-value-editable': editable }\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n>\n {{ property.label | translate }}\n</mat-label>\n\n<div class=\"adf-property-value\" [ngClass]=\"{ 'adf-property-value-editable': editable, 'adf-property-readonly-value': isReadonlyProperty }\">\n <span *ngIf=\"!isEditable && !property.multivalued\" [attr.data-automation-id]=\"'card-' + property.type + '-value-' + property.key\">\n <span\n *ngIf=\"showProperty\"\n [attr.data-automation-id]=\"'card-dateitem-' + property.key\"\n (dblclick)=\"copyToClipboard(property.displayValue)\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n >{{ property.displayValue }}</span\n >\n </span>\n <mat-form-field *ngIf=\"isEditable && !property.multivalued\" class=\"adf-property-field adf-dateitem-editable hxp-input\" [floatLabel]=\"property.default ? 'always' : null\">\n <mat-label\n class=\"adf-property-label\"\n [attr.data-automation-id]=\"'card-dateitem-label-' + property.key\"\n *ngIf=\"isEditable\"\n [attr.for]=\"'card-view-dateitem-' + property.key\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty, 'adf-property-value-editable': editable }\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n >\n {{ property.label | translate }}\n </mat-label>\n <div class=\"adf-dateitem-editable-controls\">\n <span\n class=\"adf-datepicker-span-button\"\n [attr.data-automation-id]=\"'datepicker-label-toggle-' + property.key\"\n (click)=\"showDatePicker()\"\n tabindex=\"0\"\n role=\"button\"\n (keyup.enter)=\"showDatePicker()\"\n >\n <span *ngIf=\"showProperty; else elseEmptyValueBlock\" [attr.data-automation-id]=\"'card-' + property.type + '-value-' + property.key\">\n {{ property.displayValue }}</span\n >\n </span>\n </div>\n <input\n matInput\n class=\"adf-invisible-date-input\"\n [attr.tabIndex]=\"-1\"\n [matDatetimepicker]=\"datetimePicker\"\n [value]=\"valueDate\"\n (dateChange)=\"onDateChanged($event)\"\n [attr.id]=\"'card-view-dateitem-' + property.key\"\n />\n <mat-icon\n matIconSuffix\n *ngIf=\"showClearAction\"\n class=\"adf-date-reset-icon\"\n (click)=\"onDateClear()\"\n [attr.title]=\"'CORE.METADATA.ACTIONS.CLEAR' | translate\"\n [attr.data-automation-id]=\"'datepicker-date-clear-' + property.key\"\n >\n clear\n </mat-icon>\n <mat-datetimepicker-toggle\n matIconSuffix\n [attr.tabindex]=\"-1\"\n [attr.title]=\"'CORE.METADATA.ACTIONS.EDIT' | translate\"\n [attr.data-automation-id]=\"'datepickertoggle-' + property.key\"\n [for]=\"datetimePicker\"\n class=\"adf-dateitem-picker-toggle\"\n />\n\n <mat-datetimepicker\n #datetimePicker\n [type]=\"$any(property).type\"\n [timeInterval]=\"5\"\n [attr.data-automation-id]=\"'datepicker-' + property.key\"\n [startAt]=\"valueDate\"\n />\n </mat-form-field>\n <ng-template #elseEmptyValueBlock>\n {{ property.default | translate }}\n </ng-template>\n\n <div *ngIf=\"property.multivalued\" class=\"adf-property-field adf-dateitem-chip-list-container adf-dateitem-editable\">\n <mat-chip-listbox #chipList class=\"adf-textitem-chip-list\">\n <mat-chip-option\n *ngFor=\"let propertyValue of property.displayValue; let idx = index\"\n [removable]=\"isEditable\"\n (removed)=\"removeValueFromList(idx)\"\n >\n {{ propertyValue }}\n <mat-icon *ngIf=\"isEditable\" matChipRemove>cancel</mat-icon>\n </mat-chip-option>\n </mat-chip-listbox>\n\n <div\n *ngIf=\"isEditable\"\n class=\"adf-property-field adf-dateitem-editable-controls\"\n (click)=\"showDatePicker()\"\n tabindex=\"0\"\n role=\"button\"\n (keyup.enter)=\"showDatePicker()\"\n >\n <input\n class=\"adf-invisible-date-input\"\n [attr.tabIndex]=\"-1\"\n [matDatetimepicker]=\"datetimePicker\"\n (dateChange)=\"addDateToList($event)\"\n [attr.id]=\"'card-view-dateitem-' + property.key\"\n />\n <mat-datetimepicker-toggle\n [attr.tabindex]=\"-1\"\n matSuffix\n [attr.title]=\"'CORE.METADATA.ACTIONS.EDIT' | translate\"\n [attr.data-automation-id]=\"'datepickertoggle-' + property.key\"\n [for]=\"datetimePicker\"\n />\n <mat-datetimepicker\n #datetimePicker\n [type]=\"$any(property).type\"\n [timeInterval]=\"5\"\n [attr.data-automation-id]=\"'datepicker-' + property.key\"\n [startAt]=\"valueDate\"\n />\n </div>\n </div>\n</div>\n", styles: [".adf-card-view-dateitem{display:flow-root}.adf-card-view-dateitem .adf-dateitem-editable{cursor:pointer;width:100%}.adf-card-view-dateitem .adf-dateitem-editable-controls{display:flex;align-items:center;justify-content:space-between;top:6px;position:relative;left:12px;height:20px}.adf-card-view-dateitem .adf-dateitem-editable-controls .mat-icon{opacity:.5}.adf-card-view-dateitem .adf-dateitem-editable-controls .mat-icon:hover{opacity:1}.adf-card-view-dateitem .adf-dateitem-editable-controls mat-datetimepicker-toggle{transform:scale(.8)}.adf-card-view-dateitem .adf-dateitem-editable-controls .adf-datepicker-span-button{flex:1 0 auto;font-size:14px;top:10px;position:relative}.adf-card-view-dateitem .adf-dateitem-editable .mdc-line-ripple,.adf-card-view-dateitem .adf-dateitem-editable .mat-mdc-form-field-subscript-wrapper{display:none}.adf-card-view-dateitem .adf-property-value{padding-top:6px;padding-bottom:6px;line-height:20px;color:var(--adf-metadata-property-panel-title-color);margin-top:10px}.adf-card-view-dateitem .adf-property-value.adf-property-value-editable{display:flex;align-items:center;border-radius:6px;border-bottom:inherit;padding-left:0}.adf-card-view-dateitem .adf-property-value.adf-property-value-editable:not(.adf-property-readonly-value){margin-top:35px}.adf-card-view-dateitem .adf-property-value.adf-property-value-editable .adf-date-reset-icon{position:relative;padding:0}.adf-card-view-dateitem .adf-property-value.adf-property-value-editable .adf-dateitem-picker-toggle{position:relative}.adf-card-view-dateitem .adf-property-value.adf-property-readonly-value{padding:0 0 0 12px}.adf-card-view-dateitem .adf-invisible-date-input{height:2px;width:0;overflow:hidden;opacity:0;border:none;margin:0;padding:0;float:right}.adf-card-view-dateitem .adf-invisible-date-input.mat-mdc-input-element.mat-mdc-form-field-input-control{margin-top:35px}.adf-card-view-dateitem .adf-dateitem-chip-list-container.adf-property-field{margin-bottom:-7px;border-bottom:0;cursor:pointer}\n"] }]
|
|
18658
18380
|
}], ctorParameters: () => [{ type: i1$2.DateAdapter }, { type: UserPreferencesService }, { type: ClipboardService }, { type: TranslationService }], propDecorators: { displayEmpty: [{
|
|
18659
18381
|
type: Input
|
|
18660
18382
|
}], displayClearAction: [{
|
|
@@ -31670,5 +31392,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
31670
31392
|
* Generated bundle index. Do not edit.
|
|
31671
31393
|
*/
|
|
31672
31394
|
|
|
31673
|
-
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, 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, ClipboardComponent, ClipboardDirective, ClipboardModule, ClipboardService, CloseButtonPosition, ColumnsSelectorComponent, CommentListComponent, CommentListModule, CommentModel, CommentsComponent, CommentsModule, ConfirmDialogComponent, ConfirmDialogModule, ContainerColumnModel, ContainerModel, ContentAuth, ContentLinkModel, ContextMenuDirective, ContextMenuListComponent, ContextMenuModule, ContextMenuOverlayService, CookieService, CookieServiceMock, CoreModule,
|
|
31395
|
+
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, 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, ClipboardComponent, 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, LoginDialogComponent, 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, 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 };
|
|
31674
31396
|
//# sourceMappingURL=adf-core.mjs.map
|