@valtimo/dashboard-management 12.0.0 → 12.1.1
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/esm2022/lib/components/dashboard-details/dashboard-details.component.mjs +18 -21
- package/esm2022/lib/components/dashboard-management/dashboard-management.component.mjs +1 -1
- package/esm2022/lib/components/widget-modal/widget-modal.component.mjs +6 -2
- package/fesm2022/valtimo-dashboard-management.mjs +23 -22
- package/fesm2022/valtimo-dashboard-management.mjs.map +1 -1
- package/lib/components/dashboard-details/dashboard-details.component.d.ts +5 -5
- package/lib/components/edit-dashboard-modal/edit-dashboard-modal.d.ts +1 -1
- package/lib/components/widget-configuration-container/widget-configuration-container.component.d.ts +1 -1
- package/lib/components/widget-modal/widget-modal.component.d.ts +4 -3
- package/package.json +1 -1
|
@@ -7,7 +7,7 @@ import { Validators, ReactiveFormsModule } from '@angular/forms';
|
|
|
7
7
|
import * as i2$1 from '@ngx-translate/core';
|
|
8
8
|
import { TranslateModule } from '@ngx-translate/core';
|
|
9
9
|
import * as i4 from '@valtimo/components';
|
|
10
|
-
import { CARBON_CONSTANTS,
|
|
10
|
+
import { CARBON_CONSTANTS, ViewType, ListModule, SpinnerModule, RenderInPageHeaderDirectiveModule, ConfirmationModalModule, CarbonListModule } from '@valtimo/components';
|
|
11
11
|
import * as i3 from 'carbon-components-angular';
|
|
12
12
|
import { NotificationService, ButtonModule, DropdownModule, InputModule, ModalModule, NotificationModule, IconModule } from 'carbon-components-angular';
|
|
13
13
|
import { ArrowDown16, ArrowUp16, Edit16 } from '@carbon/icons';
|
|
@@ -436,7 +436,8 @@ class WidgetModalComponent {
|
|
|
436
436
|
const selectedDataSource = dataSources.find(source => source.key === selectedDataSourceKey);
|
|
437
437
|
const availableDataFeatures = selectedDataSource?.dataFeatures;
|
|
438
438
|
const compatibleDisplayTypes = supportedDisplayTypes.filter(displayType => {
|
|
439
|
-
const supportedDataFeatures = displayType.requiredDataFeatures.filter(
|
|
439
|
+
const supportedDataFeatures = displayType.requiredDataFeatures.filter(requiredDataFeature => !!availableDataFeatures?.some(availableDataFeature => this.trimAndToUpperCase(availableDataFeature) ===
|
|
440
|
+
this.trimAndToUpperCase(requiredDataFeature)));
|
|
440
441
|
return supportedDataFeatures.length === displayType.requiredDataFeatures.length;
|
|
441
442
|
});
|
|
442
443
|
this._compatibleDisplayTypes$.next(compatibleDisplayTypes);
|
|
@@ -450,6 +451,9 @@ class WidgetModalComponent {
|
|
|
450
451
|
this.disabled$.next(false);
|
|
451
452
|
this.form.enable();
|
|
452
453
|
}
|
|
454
|
+
trimAndToUpperCase(text) {
|
|
455
|
+
return `${text}`.trim().toUpperCase();
|
|
456
|
+
}
|
|
453
457
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: WidgetModalComponent, deps: [{ token: DOCUMENT }, { token: i1$1.FormBuilder }, { token: i2$1.TranslateService }, { token: i3.NotificationService }, { token: DashboardManagementService }, { token: i5.WidgetService }, { token: i5.WidgetTranslationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
454
458
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: WidgetModalComponent, selector: "valtimo-widget-modal", inputs: { showModal$: "showModal$", type: "type", dashboard: "dashboard", widgetKey: "widgetKey", editWidgetConfiguration: "editWidgetConfiguration" }, outputs: { saveEvent: "saveEvent" }, providers: [NotificationService], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n isCreate: type === 'create',\n isDelete: type === 'delete',\n isEdit: type === 'edit',\n open: open$ | async\n } as vars\"\n>\n <ng-container\n *ngIf=\"{\n create: vars.isCreate && ('dashboardManagement.widgets.add' | translate),\n delete: vars.isDelete && ('dashboardManagement.widgets.delete' | translate),\n edit: vars.isEdit && ('dashboardManagement.widgets.edit' | translate)\n } as titles\"\n >\n <cds-modal\n *ngIf=\"{\n title: titles.edit || titles.create || titles.delete\n } as translations\"\n valtimoCdsModal\n [open]=\"vars.open\"\n showFooter=\"true\"\n size=\"md\"\n title=\"{{ translations.title }}\"\n class=\"widget-modal\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>\n {{ translations.title }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <ng-container *ngIf=\"vars.isDelete\">\n {{ 'dashboardManagement.widgets.deleteDescription' | translate }}</ng-container\n >\n\n <ng-container *ngIf=\"vars.isEdit || vars.isCreate\">\n <ng-container *ngTemplateOutlet=\"widgetForm; context: {vars: vars}\"></ng-container>\n </ng-container>\n </section>\n\n <cds-modal-footer>\n <ng-container *ngIf=\"vars.isEdit || vars.isCreate\">\n <ng-container *ngTemplateOutlet=\"editButtons; context: {vars: vars}\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"vars.isDelete\">\n <ng-container *ngTemplateOutlet=\"deleteButtons; context: {vars: vars}\"></ng-container>\n </ng-container>\n </cds-modal-footer>\n </cds-modal>\n </ng-container>\n</ng-container>\n\n<ng-template #widgetForm let-vars=\"vars\">\n <form\n *ngIf=\"\n form && {\n dataSourceItems: dataSourceItems$ | async,\n displayTypeDropdownDisabled: displayTypeDropdownDisabled$ | async,\n displayTypeItems: displayTypeItems$ | async,\n selectedDataSourceKey: selectedDataSourceKey$ | async,\n selectedDisplayTypeKey: selectedDisplayTypeKey$ | async\n } as obs\n \"\n [formGroup]=\"form\"\n class=\"dashboard-modal__form\"\n >\n <div class=\"form__element\">\n <cds-label\n [helperText]=\"'dashboardManagement.widgets.form.titleHelperText' | translate\"\n [invalidText]=\"'dashboardManagement.widgets.form.titleHelperText' | translate\"\n [invalid]=\"title.dirty && title.invalid\"\n >\n {{ 'dashboardManagement.widgets.form.title' | translate }}\n\n <input\n cdsText\n formControlName=\"title\"\n [invalid]=\"title.dirty && title.invalid\"\n [attr.modal-primary-focus]=\"true\"\n />\n </cds-label>\n </div>\n\n <div class=\"form__element\" *ngIf=\"obs.dataSourceItems\">\n <cds-dropdown\n [appendInline]=\"true\"\n formControlName=\"dataSource\"\n [helperText]=\"'dashboardManagement.widgets.form.dataSourceHelperText' | translate\"\n [invalidText]=\"'dashboardManagement.widgets.form.dateSourceHelperText' | translate\"\n [invalid]=\"dataSource.dirty && dataSource.invalid\"\n [label]=\"'dashboardManagement.widgets.form.dataSource' | translate\"\n (selected)=\"dataSourceSelected($event)\"\n >\n <cds-dropdown-list [items]=\"obs.dataSourceItems\" type=\"multi\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n <valtimo-widget-configuration-container\n *ngIf=\"obs.selectedDataSourceKey\"\n [dataSourceKey]=\"obs.selectedDataSourceKey\"\n [disabled]=\"vars.disabled\"\n [prefillConfiguration]=\"dataSourcePrefillConfig$ | async\"\n (configurationEvent)=\"dataSourceConfiguration($event)\"\n ></valtimo-widget-configuration-container>\n\n <div class=\"form__element\" *ngIf=\"obs.displayTypeItems\">\n <cds-dropdown\n [appendInline]=\"true\"\n formControlName=\"displayType\"\n [helperText]=\"'dashboardManagement.widgets.form.displayTypeHelperText' | translate\"\n [invalid]=\"displayType.dirty && displayType.invalid\"\n [invalidText]=\"'dashboardManagement.widgets.form.displayTypeHelperText' | translate\"\n [label]=\"'dashboardManagement.widgets.form.displayType' | translate\"\n (selected)=\"displayTypeSelected($event)\"\n >\n <cds-dropdown-list [items]=\"obs.displayTypeItems\" type=\"multi\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n <valtimo-widget-configuration-container\n *ngIf=\"obs.selectedDisplayTypeKey\"\n [disabled]=\"vars.disabled\"\n [displayTypeKey]=\"obs.selectedDisplayTypeKey\"\n [prefillConfiguration]=\"displayTypePrefillConfig$ | async\"\n (configurationEvent)=\"displayTypeConfiguration($event)\"\n ></valtimo-widget-configuration-container>\n </form>\n</ng-template>\n\n<ng-template #editButtons let-vars=\"vars\">\n <ng-container\n *ngIf=\"{\n dataSourceConfiguration: dataSourceConfiguration$ | async,\n displayTypeConfiguration: displayTypeConfiguration$ | async\n } as obs\"\n >\n <button cdsButton=\"ghost\" [disabled]=\"vars.disabled\" (click)=\"closeModal()\">\n {{ 'dashboardManagement.widgets.cancel' | translate }}\n </button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"\n form.invalid ||\n !obs.dataSourceConfiguration.valid ||\n !obs.displayTypeConfiguration.valid ||\n vars.disabled\n \"\n (click)=\"save()\"\n >\n {{ 'dashboardManagement.widgets.save' | translate }}\n </button>\n </ng-container>\n</ng-template>\n\n<ng-template #deleteButtons let-vars=\"vars\">\n <button cdsButton=\"secondary\" [disabled]=\"vars.disabled\" (click)=\"closeModal()\">\n {{ 'dashboardManagement.widgets.cancel' | translate }}\n </button>\n\n <button cdsButton=\"danger\" [disabled]=\"vars.disabled\" (click)=\"delete()\">\n {{ 'dashboardManagement.widgets.delete' | translate }}\n </button>\n</ng-template>\n", styles: [".widget-modal .form__row{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start}.widget-modal .form__spacer{width:32px}.widget-modal .form__element{width:100%;margin-bottom:32px}.widget-modal .form__element.--with-button{display:flex;align-items:flex-end;flex-direction:row}.widget-modal .form__element.--with-button button{margin-left:16px}.widget-modal .form__element.--readonly input{background-color:transparent}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i3.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "component", type: i3.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i3.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i3.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i3.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i3.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: WidgetConfigurationContainerComponent, selector: "valtimo-widget-configuration-container", inputs: ["dataSourceKey", "displayTypeKey", "disabled", "prefillConfiguration"], outputs: ["configurationEvent"] }, { kind: "pipe", type: i2$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
455
459
|
}
|
|
@@ -601,24 +605,24 @@ class DashboardDetailsComponent {
|
|
|
601
605
|
}));
|
|
602
606
|
this.lastItemIndex$ = new BehaviorSubject(0);
|
|
603
607
|
this.loading$ = new BehaviorSubject(true);
|
|
608
|
+
this.dragAndDropDisabled$ = new BehaviorSubject(false);
|
|
604
609
|
this._refreshWidgetsSubject$ = new BehaviorSubject(null);
|
|
605
610
|
this._widgetData = null;
|
|
606
611
|
this.widgetData$ = combineLatest([
|
|
607
612
|
this._dashboardKey$,
|
|
608
613
|
this._refreshWidgetsSubject$,
|
|
609
614
|
]).pipe(switchMap(([dashboardKey, refreshWidgets]) => {
|
|
610
|
-
this.loading$.next(true);
|
|
611
615
|
if (!this._widgetData || !refreshWidgets) {
|
|
616
|
+
this.loading$.next(true);
|
|
612
617
|
return this.dashboardManagementService.getDashboardWidgetConfiguration(dashboardKey);
|
|
613
618
|
}
|
|
614
|
-
|
|
615
|
-
return this.dashboardManagementService.updateDashboardWidgetConfigurations(dashboardKey,
|
|
616
|
-
? this.swapWidgets(this._widgetData, index - 1, index)
|
|
617
|
-
: this.swapWidgets(this._widgetData, index, index + 1));
|
|
619
|
+
this.dragAndDropDisabled$.next(true);
|
|
620
|
+
return this.dashboardManagementService.updateDashboardWidgetConfigurations(dashboardKey, refreshWidgets);
|
|
618
621
|
}), tap((data) => {
|
|
619
622
|
this._widgetData = data;
|
|
620
623
|
this.lastItemIndex$.next(data.length - 1);
|
|
621
624
|
this.loading$.next(false);
|
|
625
|
+
this.dragAndDropDisabled$.next(false);
|
|
622
626
|
}));
|
|
623
627
|
this.showModal$ = new BehaviorSubject(false);
|
|
624
628
|
this.showEditDashboardModal$ = new BehaviorSubject(false);
|
|
@@ -643,8 +647,15 @@ class DashboardDetailsComponent {
|
|
|
643
647
|
refreshDashboard() {
|
|
644
648
|
this._refreshDashboardSubject$.next(null);
|
|
645
649
|
}
|
|
646
|
-
|
|
647
|
-
|
|
650
|
+
onItemsReordered(items) {
|
|
651
|
+
if (!items)
|
|
652
|
+
return;
|
|
653
|
+
this._refreshWidgetsSubject$.next(items);
|
|
654
|
+
}
|
|
655
|
+
editWidget(event) {
|
|
656
|
+
this.editWidgetConfiguration$.next({ ...event });
|
|
657
|
+
this.modalType = 'edit';
|
|
658
|
+
this.showModal();
|
|
648
659
|
}
|
|
649
660
|
setFields() {
|
|
650
661
|
this.fields = [
|
|
@@ -655,11 +666,6 @@ class DashboardDetailsComponent {
|
|
|
655
666
|
},
|
|
656
667
|
];
|
|
657
668
|
}
|
|
658
|
-
editWidget(event) {
|
|
659
|
-
this.editWidgetConfiguration$.next({ ...event });
|
|
660
|
-
this.modalType = 'edit';
|
|
661
|
-
this.showModal();
|
|
662
|
-
}
|
|
663
669
|
deleteWidget(event) {
|
|
664
670
|
this.editWidgetConfiguration$.next({ ...event });
|
|
665
671
|
this.modalType = 'delete';
|
|
@@ -671,17 +677,12 @@ class DashboardDetailsComponent {
|
|
|
671
677
|
showEditDashboardModal() {
|
|
672
678
|
this.showEditDashboardModal$.next(true);
|
|
673
679
|
}
|
|
674
|
-
swapWidgets(dashboardWidgets, index1, index2) {
|
|
675
|
-
const temp = [...dashboardWidgets];
|
|
676
|
-
temp[index1] = temp.splice(index2, 1, temp[index1])[0];
|
|
677
|
-
return temp;
|
|
678
|
-
}
|
|
679
680
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DashboardDetailsComponent, deps: [{ token: DashboardManagementService }, { token: i2$2.DatePipe }, { token: i3.IconService }, { token: i4.PageTitleService }, { token: i5$1.ActivatedRoute }, { token: i2$1.TranslateService }, { token: i4.PageHeaderService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
680
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DashboardDetailsComponent, selector: "ng-component", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"\n fields && {\n currentDashboard: currentDashboard$ | async,\n editWidgetConfiguration: editWidgetConfiguration$ | async,\n loading: loading$ | async,\n widgetData: widgetData$ | async\n } as obs\n \"\n>\n <div class=\"dashboard-detail-table\">\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [fields]=\"fields\"\n [header]=\"false\"\n [items]=\"obs.widgetData\"\n [loading]=\"obs.loading\"\n [
|
|
681
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DashboardDetailsComponent, selector: "ng-component", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"\n fields && {\n currentDashboard: currentDashboard$ | async,\n editWidgetConfiguration: editWidgetConfiguration$ | async,\n loading: loading$ | async,\n widgetData: widgetData$ | async,\n dragAndDropDisabled: dragAndDropDisabled$ | async\n } as obs\n \"\n>\n <div class=\"dashboard-detail-table\">\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [fields]=\"fields\"\n [header]=\"false\"\n [items]=\"obs.widgetData\"\n [loading]=\"obs.loading\"\n [dragAndDrop]=\"true\"\n [dragAndDropDisabled]=\"obs.dragAndDropDisabled\"\n (itemsReordered)=\"onItemsReordered($event)\"\n (rowClicked)=\"editWidget($event)\"\n >\n <div carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addWidgetButton\"></ng-container>\n </div>\n\n <valtimo-no-results\n [action]=\"addWidgetButton\"\n description=\"{{ 'dashboardManagement.widgets.noResults.description' | translate }}\"\n title=\"{{ 'dashboardManagement.widgets.noResults.title' | translate }}\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n </div>\n\n <valtimo-widget-modal\n [dashboard]=\"obs.currentDashboard\"\n [editWidgetConfiguration]=\"obs.editWidgetConfiguration\"\n [showModal$]=\"showModal$\"\n [type]=\"modalType\"\n [widgetKey]=\"obs.editWidgetConfiguration?.key\"\n (saveEvent)=\"refreshWidgets()\"\n ></valtimo-widget-modal>\n\n <valtimo-edit-dashboard-modal\n [dashboard]=\"obs.currentDashboard\"\n [showModal$]=\"showEditDashboardModal$\"\n (saveEvent)=\"refreshDashboard()\"\n >\n </valtimo-edit-dashboard-modal>\n</ng-container>\n\n<ng-container renderInPageHeader>\n <ng-template>\n <button\n cdsButton=\"tertiary\"\n [size]=\"(compactMode$ | async) ? 'sm' : 'md'\"\n (click)=\"editDashboard()\"\n >\n {{ 'dashboardManagement.widgets.editButton' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"edit\" size=\"16\"></svg>\n </button>\n </ng-template>\n</ng-container>\n\n<ng-template #addWidgetButton>\n <button cdsButton=\"primary\" [disabled]=\"loading$ | async\" (click)=\"addWidget()\">\n {{ 'dashboardManagement.widgets.add' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n", styles: [".dashboard-detail-table .move-buttons-container{width:100%;justify-content:flex-end;display:flex;flex-direction:row;right:-1rem;position:relative}.dashboard-detail-table .move-buttons-container button:not(:last-child){margin-right:8px}.dashboard-detail-table__actions{width:1px}.dashboard-detail-table-no-results{display:flex;justify-content:space-around;padding:6.25rem 0;gap:4rem}.dashboard-detail-table-no-results__title{font-size:1.75rem}.dashboard-detail-table-no-results__content{display:flex;flex-direction:column;justify-content:space-around}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i4.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i4.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: WidgetModalComponent, selector: "valtimo-widget-modal", inputs: ["showModal$", "type", "dashboard", "widgetKey", "editWidgetConfiguration"], outputs: ["saveEvent"] }, { kind: "component", type: EditDashboardModalComponent, selector: "valtimo-edit-dashboard-modal", inputs: ["showModal$", "dashboard"], outputs: ["saveEvent"] }, { kind: "pipe", type: i2$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
681
682
|
}
|
|
682
683
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DashboardDetailsComponent, decorators: [{
|
|
683
684
|
type: Component,
|
|
684
|
-
args: [{ encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"\n fields && {\n currentDashboard: currentDashboard$ | async,\n editWidgetConfiguration: editWidgetConfiguration$ | async,\n loading: loading$ | async,\n widgetData: widgetData$ | async\n } as obs\n \"\n>\n <div class=\"dashboard-detail-table\">\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [fields]=\"fields\"\n [header]=\"false\"\n [items]=\"obs.widgetData\"\n [loading]=\"obs.loading\"\n [
|
|
685
|
+
args: [{ encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"\n fields && {\n currentDashboard: currentDashboard$ | async,\n editWidgetConfiguration: editWidgetConfiguration$ | async,\n loading: loading$ | async,\n widgetData: widgetData$ | async,\n dragAndDropDisabled: dragAndDropDisabled$ | async\n } as obs\n \"\n>\n <div class=\"dashboard-detail-table\">\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [fields]=\"fields\"\n [header]=\"false\"\n [items]=\"obs.widgetData\"\n [loading]=\"obs.loading\"\n [dragAndDrop]=\"true\"\n [dragAndDropDisabled]=\"obs.dragAndDropDisabled\"\n (itemsReordered)=\"onItemsReordered($event)\"\n (rowClicked)=\"editWidget($event)\"\n >\n <div carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addWidgetButton\"></ng-container>\n </div>\n\n <valtimo-no-results\n [action]=\"addWidgetButton\"\n description=\"{{ 'dashboardManagement.widgets.noResults.description' | translate }}\"\n title=\"{{ 'dashboardManagement.widgets.noResults.title' | translate }}\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n </div>\n\n <valtimo-widget-modal\n [dashboard]=\"obs.currentDashboard\"\n [editWidgetConfiguration]=\"obs.editWidgetConfiguration\"\n [showModal$]=\"showModal$\"\n [type]=\"modalType\"\n [widgetKey]=\"obs.editWidgetConfiguration?.key\"\n (saveEvent)=\"refreshWidgets()\"\n ></valtimo-widget-modal>\n\n <valtimo-edit-dashboard-modal\n [dashboard]=\"obs.currentDashboard\"\n [showModal$]=\"showEditDashboardModal$\"\n (saveEvent)=\"refreshDashboard()\"\n >\n </valtimo-edit-dashboard-modal>\n</ng-container>\n\n<ng-container renderInPageHeader>\n <ng-template>\n <button\n cdsButton=\"tertiary\"\n [size]=\"(compactMode$ | async) ? 'sm' : 'md'\"\n (click)=\"editDashboard()\"\n >\n {{ 'dashboardManagement.widgets.editButton' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"edit\" size=\"16\"></svg>\n </button>\n </ng-template>\n</ng-container>\n\n<ng-template #addWidgetButton>\n <button cdsButton=\"primary\" [disabled]=\"loading$ | async\" (click)=\"addWidget()\">\n {{ 'dashboardManagement.widgets.add' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n", styles: [".dashboard-detail-table .move-buttons-container{width:100%;justify-content:flex-end;display:flex;flex-direction:row;right:-1rem;position:relative}.dashboard-detail-table .move-buttons-container button:not(:last-child){margin-right:8px}.dashboard-detail-table__actions{width:1px}.dashboard-detail-table-no-results{display:flex;justify-content:space-around;padding:6.25rem 0;gap:4rem}.dashboard-detail-table-no-results__title{font-size:1.75rem}.dashboard-detail-table-no-results__content{display:flex;flex-direction:column;justify-content:space-around}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
685
686
|
}], ctorParameters: () => [{ type: DashboardManagementService }, { type: i2$2.DatePipe }, { type: i3.IconService }, { type: i4.PageTitleService }, { type: i5$1.ActivatedRoute }, { type: i2$1.TranslateService }, { type: i4.PageHeaderService }] });
|
|
686
687
|
|
|
687
688
|
/*
|
|
@@ -777,7 +778,7 @@ class DashboardManagementComponent {
|
|
|
777
778
|
this.showDeleteModal$.next(true);
|
|
778
779
|
}
|
|
779
780
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DashboardManagementComponent, deps: [{ token: DashboardManagementService }, { token: i1$1.FormBuilder }, { token: i5$1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
780
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DashboardManagementComponent, selector: "ng-component", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"tableData$ | async as data\">\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [header]=\"false\"\n [items]=\"data.items\"\n [loading]=\"data.loading\"\n [fields]=\"fields\"\n (rowClicked)=\"onRowClick($event)\"\n class=\"valtimo-dashboard-management__table\"\n >\n <div carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addDashboardButton\"></ng-container>\n </div>\n\n <valtimo-no-results\n [action]=\"addDashboardButton\"\n description=\"{{ 'dashboardManagement.noResults.description' | translate }}\"\n title=\"{{ 'dashboardManagement.noResults.title' | translate }}\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n</ng-container>\n\n<cds-modal\n valtimoCdsModal\n [open]=\"openModal$ | async\"\n showFooter=\"true\"\n title=\"{{ 'dashboardManagement.addDashboard' | translate }}\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>\n {{ 'dashboardManagement.addDashboard' | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <form [formGroup]=\"form\" class=\"valtimo-dashboard-management__form\">\n <cds-label [invalid]=\"getControlInvalid('title')\">\n {{ 'dashboardManagement.addModal.name' | translate }}\n\n <input\n [attr.modal-primary-focus]=\"true\"\n [invalid]=\"getControlInvalid('title')\"\n formControlName=\"title\"\n cdsText\n placeholder=\"{{ 'dashboardManagement.addModal.namePlaceholder' | translate }}\"\n />\n </cds-label>\n\n <cds-label\n [helperText]=\"'dashboardManagement.addModal.descriptionHelperText' | translate\"\n [invalid]=\"getControlInvalid('description')\"\n >\n {{ 'dashboardManagement.description' | translate }}\n\n <input\n [invalid]=\"getControlInvalid('description')\"\n formControlName=\"description\"\n cdsText\n placeholder=\"{{ 'dashboardManagement.addModal.descriptionPlaceholder' | translate }}\"\n />\n </cds-label>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"closeModal()\">\n {{ 'dashboardManagement.cancel' | translate }}\n </button>\n\n <button [disabled]=\"this.form.invalid\" cdsButton=\"primary\" (click)=\"createDashboard()\">\n {{ 'dashboardManagement.create' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"dashboardManagement.deleteModal.confirm\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"dashboardManagement.deleteModalContent\"\n [outputOnConfirm]=\"deleteRowKey$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"dashboardManagement.delete\"\n (confirmEvent)=\"onConfirmEvent($event)\"\n></valtimo-confirmation-modal>\n\n<ng-template #addDashboardButton>\n <button cdsButton=\"primary\" (click)=\"openModal()\">\n {{ 'dashboardManagement.addDashboard' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n", styles: [".valtimo-dashboard-management__actions{width:1px}.valtimo-dashboard-management__form>*:not(:last-child){margin-bottom:32px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "component", type: i3.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i3.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i3.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i3.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i3.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i4.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i4.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title"] }, { kind: "pipe", type: i2$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
781
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DashboardManagementComponent, selector: "ng-component", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"tableData$ | async as data\">\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [header]=\"false\"\n [items]=\"data.items\"\n [loading]=\"data.loading\"\n [fields]=\"fields\"\n (rowClicked)=\"onRowClick($event)\"\n class=\"valtimo-dashboard-management__table\"\n >\n <div carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addDashboardButton\"></ng-container>\n </div>\n\n <valtimo-no-results\n [action]=\"addDashboardButton\"\n description=\"{{ 'dashboardManagement.noResults.description' | translate }}\"\n title=\"{{ 'dashboardManagement.noResults.title' | translate }}\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n</ng-container>\n\n<cds-modal\n valtimoCdsModal\n [open]=\"openModal$ | async\"\n showFooter=\"true\"\n title=\"{{ 'dashboardManagement.addDashboard' | translate }}\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>\n {{ 'dashboardManagement.addDashboard' | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <form [formGroup]=\"form\" class=\"valtimo-dashboard-management__form\">\n <cds-label [invalid]=\"getControlInvalid('title')\">\n {{ 'dashboardManagement.addModal.name' | translate }}\n\n <input\n [attr.modal-primary-focus]=\"true\"\n [invalid]=\"getControlInvalid('title')\"\n formControlName=\"title\"\n cdsText\n placeholder=\"{{ 'dashboardManagement.addModal.namePlaceholder' | translate }}\"\n />\n </cds-label>\n\n <cds-label\n [helperText]=\"'dashboardManagement.addModal.descriptionHelperText' | translate\"\n [invalid]=\"getControlInvalid('description')\"\n >\n {{ 'dashboardManagement.description' | translate }}\n\n <input\n [invalid]=\"getControlInvalid('description')\"\n formControlName=\"description\"\n cdsText\n placeholder=\"{{ 'dashboardManagement.addModal.descriptionPlaceholder' | translate }}\"\n />\n </cds-label>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"closeModal()\">\n {{ 'dashboardManagement.cancel' | translate }}\n </button>\n\n <button [disabled]=\"this.form.invalid\" cdsButton=\"primary\" (click)=\"createDashboard()\">\n {{ 'dashboardManagement.create' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"dashboardManagement.deleteModal.confirm\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"dashboardManagement.deleteModalContent\"\n [outputOnConfirm]=\"deleteRowKey$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"dashboardManagement.delete\"\n (confirmEvent)=\"onConfirmEvent($event)\"\n></valtimo-confirmation-modal>\n\n<ng-template #addDashboardButton>\n <button cdsButton=\"primary\" (click)=\"openModal()\">\n {{ 'dashboardManagement.addDashboard' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n", styles: [".valtimo-dashboard-management__actions{width:1px}.valtimo-dashboard-management__form>*:not(:last-child){margin-bottom:32px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "component", type: i3.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i3.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i3.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i3.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i3.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i4.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i4.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "pipe", type: i2$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
781
782
|
}
|
|
782
783
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DashboardManagementComponent, decorators: [{
|
|
783
784
|
type: Component,
|