@yuuvis/client-framework 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/actions/lib/actions/delete-action/delete-action.d.ts +1 -0
- package/common/index.d.ts +1 -0
- package/common/lib/services/error-messages/error-messages.service.d.ts +7 -0
- package/common/lib/services/index.d.ts +1 -0
- package/esm2022/actions/lib/actions/delete-action/delete-action.mjs +4 -10
- package/esm2022/common/index.mjs +2 -1
- package/esm2022/common/lib/directives/drag-select.directive.mjs +2 -2
- package/esm2022/common/lib/services/error-messages/error-messages.service.mjs +68 -0
- package/esm2022/common/lib/services/index.mjs +2 -0
- package/esm2022/forms/index.mjs +9 -8
- package/esm2022/forms/lib/elements/data-grid/data-grid/data-grid.component.mjs +172 -0
- package/esm2022/forms/lib/elements/data-grid/edit-table-data/edit-data.component.mjs +95 -0
- package/esm2022/forms/lib/elements/data-grid/model/data-grid.interface.mjs +9 -0
- package/esm2022/forms/lib/elements/index.mjs +11 -0
- package/esm2022/forms/lib/elements/organization/organization.component.mjs +47 -29
- package/esm2022/icons/lib/icons.mjs +3 -2
- package/esm2022/metadata-form/lib/metadata-default-templates/metadata-default-templates.component.mjs +5 -4
- package/esm2022/metadata-form/lib/metadata-form-element-registry.service.mjs +1 -1
- package/esm2022/metadata-form/lib/metadata-form-field/metadata-form-field.component.mjs +7 -52
- package/esm2022/object-details/index.mjs +2 -1
- package/esm2022/object-details/lib/object-metadata/object-metadata.component.mjs +5 -4
- package/esm2022/object-details/lib/retention-badge/retention-badge.component.mjs +27 -0
- package/esm2022/object-form/index.mjs +1 -1
- package/esm2022/object-form/lib/object-form.component.mjs +2 -1
- package/esm2022/object-form/lib/object-form.service.mjs +5 -2
- package/esm2022/object-summary/lib/object-summary/object-summary.component.mjs +15 -13
- package/esm2022/pagination/lib/pagination.component.mjs +4 -6
- package/esm2022/sequence-list/index.mjs +1 -3
- package/esm2022/sequence-list/lib/sequence-list.component.mjs +11 -16
- package/esm2022/sequence-list/lib/sequence-list.interface.mjs +1 -1
- package/esm2022/tile-list/lib/tile/tile.component.mjs +3 -3
- package/esm2022/tile-list/lib/tile-extension/extensions/email.extension.mjs +1 -1
- package/fesm2022/yuuvis-client-framework-actions.mjs +3 -9
- package/fesm2022/yuuvis-client-framework-actions.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-common.mjs +69 -4
- package/fesm2022/yuuvis-client-framework-common.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-forms.mjs +1194 -909
- package/fesm2022/yuuvis-client-framework-forms.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-icons.mjs +2 -1
- package/fesm2022/yuuvis-client-framework-icons.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-metadata-form.mjs +10 -55
- package/fesm2022/yuuvis-client-framework-metadata-form.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-details.mjs +26 -5
- package/fesm2022/yuuvis-client-framework-object-details.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-form.mjs +5 -1
- package/fesm2022/yuuvis-client-framework-object-form.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-summary.mjs +14 -12
- package/fesm2022/yuuvis-client-framework-object-summary.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-pagination.mjs +3 -5
- package/fesm2022/yuuvis-client-framework-pagination.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-sequence-list.mjs +17 -296
- package/fesm2022/yuuvis-client-framework-sequence-list.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-tile-list.mjs +2 -2
- package/fesm2022/yuuvis-client-framework-tile-list.mjs.map +1 -1
- package/forms/index.d.ts +1 -7
- package/forms/lib/elements/data-grid/data-grid/data-grid.component.d.ts +38 -0
- package/forms/lib/elements/data-grid/edit-table-data/edit-data.component.d.ts +21 -0
- package/forms/lib/elements/data-grid/model/data-grid.interface.d.ts +14 -0
- package/forms/lib/elements/index.d.ts +10 -0
- package/forms/lib/elements/organization/organization.component.d.ts +13 -4
- package/metadata-form/lib/metadata-form-field/metadata-form-field.component.d.ts +0 -1
- package/object-details/index.d.ts +1 -0
- package/object-details/lib/retention-badge/retention-badge.component.d.ts +12 -0
- package/package.json +10 -10
- package/sequence-list/index.d.ts +0 -2
- package/sequence-list/lib/sequence-list.component.d.ts +2 -2
- package/sequence-list/lib/sequence-list.interface.d.ts +5 -4
- package/styles/client-framework.scss +55 -18
- package/esm2022/sequence-list/lib/sequence-list-template-manage/sequence-list-template-manage.component.mjs +0 -183
- package/esm2022/sequence-list/lib/sequence-list-templates/sequence-list-templates.component.mjs +0 -114
- package/sequence-list/lib/sequence-list-template-manage/sequence-list-template-manage.component.d.ts +0 -52
- package/sequence-list/lib/sequence-list-templates/sequence-list-templates.component.d.ts +0 -36
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yuuvis-client-framework-sequence-list.mjs","sources":["../../../../../libs/yuuvis/client-framework/sequence-list/src/lib/due-date-picker/due-date-picker.component.ts","../../../../../libs/yuuvis/client-framework/sequence-list/src/lib/due-date-picker/due-date-picker.component.html","../../../../../libs/yuuvis/client-framework/sequence-list/src/lib/sequence-list.component.ts","../../../../../libs/yuuvis/client-framework/sequence-list/src/lib/sequence-list.component.html","../../../../../libs/yuuvis/client-framework/sequence-list/src/lib/sequence-list-template-manage/sequence-list-template-manage.component.ts","../../../../../libs/yuuvis/client-framework/sequence-list/src/lib/sequence-list-template-manage/sequence-list-template-manage.component.html","../../../../../libs/yuuvis/client-framework/sequence-list/src/lib/sequence-list-templates/sequence-list-templates.component.ts","../../../../../libs/yuuvis/client-framework/sequence-list/src/lib/sequence-list-templates/sequence-list-templates.component.html","../../../../../libs/yuuvis/client-framework/sequence-list/src/yuuvis-client-framework-sequence-list.ts"],"sourcesContent":["import { Component, forwardRef, inject, input, OnInit, signal, TemplateRef, viewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DatepickerCalendarOptions, DatepickerLabels, YvcDatepickerModule } from '@yuuvis/components/datepicker';\nimport { ICONS, YvcIconModule } from '@yuuvis/components/icon';\nimport { YvcOverlayRef, YvcOverlayService } from '@yuuvis/components/overlay';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { LocaleDatePipe, TranslateService } from '@yuuvis/client-core';\nimport { LangChangeEvent } from '@ngx-translate/core';\n\n@Component({\n selector: 'yuv-due-date-picker',\n standalone: true,\n imports: [CommonModule, YvcDatepickerModule, YvcIconModule, LocaleDatePipe],\n templateUrl: './due-date-picker.component.html',\n styleUrl: './due-date-picker.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DueDatePickerComponent),\n multi: true\n }\n ]\n})\nexport class DueDatePickerComponent implements ControlValueAccessor, OnInit {\n #overlay = inject(YvcOverlayService);\n private translate = inject(TranslateService);\n #oRef?: YvcOverlayRef;\n\n tplCalendar = viewChild.required<TemplateRef<any>>('tplCalendar');\n\n disabled = input<boolean>(false);\n\n value?: Date;\n calendarValue: Date | null = null;\n\n icons = {\n calendar: ICONS.calendar,\n clear: ICONS.clear\n };\n\n #labels?: DatepickerLabels;\n #locale = this.translate.currentLang;\n\n options = signal<DatepickerCalendarOptions>({\n withTime: true,\n // onlyFutureDates: true\n });\n\n #setOptions() {\n this.options.update((v) => {\n return {\n ...v,\n labels: {\n calendarApply: this.translate.instant('yuv.form.element.datetime.calendar.select'),\n calendarCancel: this.translate.instant('yuv.form.element.datetime.calendar.cancel'),\n shortcut: { today: this.translate.instant('yuv.form.element.datetime.calendar.today') }\n },\n locale: this.translate.currentLang\n };\n });\n }\n\n openCalendar() {\n if (!this.calendarValue) this.calendarValue = new Date();\n this.#oRef = this.#overlay.open(this.tplCalendar(), null, {\n focusHandled: true\n });\n }\n\n closeCalendar() {\n this.#oRef?.close();\n }\n\n onCalendarDateApply(date: Date) {\n this.calendarValue = date;\n this.value = this.calendarValue;\n this.propagateChange(this.value);\n this.closeCalendar();\n }\n\n clear() {\n this.value = undefined;\n this.propagateChange(this.value);\n }\n\n propagateChange = (_: any) => {};\n registerOnTouched(): void {}\n\n writeValue(value: Date | undefined): void {\n this.value = value;\n this.calendarValue = value || null;\n }\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n ngOnInit(): void {\n this.#setOptions();\n this.translate.onLangChange.subscribe((e: LangChangeEvent) => {\n this.#setOptions();\n });\n }\n}\n","<button type=\"button\" class=\"calender secondary\" [disabled]=\"disabled()\" (click)=\"openCalendar()\">\n <yvc-icon [svg]=\"icons.calendar\"></yvc-icon>\n @if (value) {\n <span>{{ value | localeDate }}</span>\n }\n</button>\n@if (value) {\n <button type=\"button\" class=\"clear\" (click)=\"this.clear()\"><yvc-icon [svg]=\"icons.clear\"></yvc-icon></button>\n}\n<ng-template #tplCalendar>\n <yvc-datepicker-calendar\n [date]=\"calendarValue\"\n [options]=\"options()\"\n (cancel)=\"closeCalendar()\"\n (apply)=\"onCalendarDateApply($event)\"\n ></yvc-datepicker-calendar>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { Component, ViewChild, forwardRef, inject, input } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n ControlValueAccessor,\n FormArray,\n FormControl,\n FormGroup,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n NonNullableFormBuilder,\n ReactiveFormsModule,\n ValidationErrors,\n Validator,\n Validators\n} from '@angular/forms';\nimport { TranslateModule } from '@yuuvis/client-core';\nimport { FormInputComponent, OrganizationComponent, StringComponent } from '@yuuvis/client-framework/forms';\nimport { YUV_ICONS } from '@yuuvis/client-framework/icons';\nimport { ICONS, YvcIconModule } from '@yuuvis/components/icon';\nimport { DueDatePickerComponent } from './due-date-picker/due-date-picker.component';\nimport { SequenceItem } from './sequence-list.interface';\n\ntype SequenceFormItem = FormGroup<{\n title: FormControl<string>;\n nextAssignee: FormControl<string>;\n expiryDatetime: FormControl<any>;\n}>;\ntype SequenceForm = FormGroup<{\n items: FormArray<SequenceFormItem>;\n}>;\n\n/**\n * Task sequence list.\n */\n@Component({\n selector: 'yuv-sequence-list',\n standalone: true,\n imports: [\n CommonModule,\n TranslateModule,\n FormInputComponent,\n StringComponent,\n OrganizationComponent,\n DueDatePickerComponent,\n ReactiveFormsModule,\n YvcIconModule\n ],\n templateUrl: './sequence-list.component.html',\n styleUrl: './sequence-list.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SequenceListComponent),\n multi: true\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SequenceListComponent),\n multi: true\n }\n ],\n host: {\n tabindex: '0'\n }\n})\nexport class SequenceListComponent implements ControlValueAccessor, Validator {\n #fb = inject(NonNullableFormBuilder);\n\n @ViewChild(OrganizationComponent) orgComponent!: OrganizationComponent;\n\n /**\n * Maximum number of sequence items (defaults to 100).\n */\n maxLength = input<number>(100);\n maxLengthExceeded = false;\n\n icons = {\n delete: ICONS.clear,\n add: YUV_ICONS.add\n };\n\n // dynamic form for sequence items\n sequenceForm: SequenceForm = this.#fb.group({\n items: this.#fb.array<SequenceFormItem>([this.#generateSequenceItem()])\n });\n\n entries: SequenceItem[] = [];\n\n get formItemArray(): FormArray<SequenceFormItem> {\n return this.sequenceForm.controls.items as FormArray<SequenceFormItem>;\n }\n\n constructor() {\n this.sequenceForm.valueChanges.pipe(takeUntilDestroyed()).subscribe(() => {\n this.#propagate();\n });\n }\n\n #generateSequenceItem(sequenceItem?: SequenceItem): SequenceFormItem {\n return this.#fb.group({\n title: [sequenceItem?.title || '', Validators.required],\n nextAssignee: [sequenceItem?.nextAssignee.id || '', Validators.required],\n expiryDatetime: [sequenceItem?.expiryDatetime || undefined]\n });\n }\n\n addItem() {\n this.sequenceForm.controls.items.push(this.#generateSequenceItem());\n this.#updateState();\n }\n \n addItemAt(idx: number) {\n this.sequenceForm.controls.items.insert(idx, this.#generateSequenceItem());\n this.#updateState();\n }\n \n removeItem(idx: number) {\n this.sequenceForm.controls.items.removeAt(idx);\n this.#updateState();\n }\n\n #updateState() {\n const ml = this.maxLength();\n this.maxLengthExceeded = ml !== undefined && this.formItemArray.length >= ml;\n }\n\n propagateChange = (_: any) => {};\n registerOnTouched(): void {}\n\n #propagate() {\n const res: SequenceItem[] = [];\n (this.sequenceForm.value.items || []).forEach((item: any) => {\n const i: SequenceItem = {\n title: item.title,\n nextAssignee: item.nextAssignee\n };\n if (item.expiryDatetime) {\n i.expiryDatetime = item.expiryDatetime;\n }\n res.push(i);\n });\n\n this.propagateChange(res);\n }\n\n writeValue(value: SequenceItem[]): void {\n this.entries = value || [];\n this.entries.forEach((entry) => {\n this.formItemArray.push(this.#generateSequenceItem(entry));\n });\n }\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n validate(): ValidationErrors | null {\n const ml = this.maxLength();\n const mlExceeded = ml !== undefined && this.formItemArray.length > ml;\n const valid = this.sequenceForm.valid && !mlExceeded; \n \n return !valid\n ? {\n sequencelist: { \n invalid: this.sequenceForm.invalid, \n maxLengthExceeded: mlExceeded\n }\n }\n : null;\n }\n}\n","<form [formGroup]=\"sequenceForm\">\n <section formArrayName=\"items\">\n @for (item of sequenceForm.controls.items.controls; track itemIndex; let itemIndex = $index) {\n <div class=\"item\" [formGroup]=\"item\">\n <button class=\"add before\" type=\"button\" [disabled]=\"maxLengthExceeded\" (click)=\"addItemAt($index)\"><yvc-icon [svg]=\"icons.add\"></yvc-icon></button>\n <span class=\"index\" [attr.data-index]=\"itemIndex + 1\"></span>\n\n <div class=\"item-form\">\n <button class=\"remove\" type=\"button\" (click)=\"removeItem($index)\"\n [disabled]=\"sequenceForm.controls.items.controls.length === 1\"><yvc-icon [svg]=\"icons.delete\"></yvc-icon></button>\n <input [placeholder]=\"'yuv.sequence-list.form.task' | translate\" [maxLength]=\"128\" formControlName=\"title\" />\n <yuv-organization\n [title]=\"'yuv.sequence-list.form.nextAssignee' | translate\"\n [withMetadata]=\"true\"\n formControlName=\"nextAssignee\"> </yuv-organization>\n \n <!-- <yuv-due-date-picker \n [title]=\"'yuv.sequence-list.form.expiryDatetime' | translate\"\n formControlName=\"expiryDatetime\"></yuv-due-date-picker> -->\n </div>\n @if ($last) {\n <button class=\"add after\" type=\"button\" \n [disabled]=\"maxLengthExceeded\"\n (click)=\"addItem()\"><yvc-icon [svg]=\"icons.add\"></yvc-icon></button>\n }\n </div>\n }\n </section>\n</form>\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, OnInit, Output, inject, input, output } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { AbstractControl, FormBuilder, FormGroup, FormsModule, ReactiveFormsModule, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { BackendService, PendingChangesService, Sort, TranslateModule, TranslateService, Utils } from '@yuuvis/client-core';\nimport { FormInputComponent, StringComponent, YuvFormsModule } from '@yuuvis/client-framework/forms';\nimport { YvcCommonModule } from '@yuuvis/components/common';\nimport { YvcOverlayModule, YvcOverlayService } from '@yuuvis/components/overlay';\nimport { of } from 'rxjs';\nimport { SequenceItem, SequenceListTemplate } from '../sequence-list.interface';\nimport { SequenceListComponent } from '../sequence-list.component';\n\n@Component({\n selector: 'yuv-sequence-list-template-manage',\n standalone: true,\n imports: [\n CommonModule,\n YvcOverlayModule,\n TranslateModule,\n FormInputComponent,\n StringComponent,\n FormsModule,\n CommonModule,\n SequenceListComponent,\n YuvFormsModule,\n ReactiveFormsModule,\n YvcCommonModule\n ],\n templateUrl: './sequence-list-template-manage.component.html',\n styleUrls: ['./sequence-list-template-manage.component.scss']\n})\nexport class SequenceListTemplateManageComponent implements OnInit {\n private backend = inject(BackendService);\n private overlay = inject(YvcOverlayService);\n private pendingChanges = inject(PendingChangesService);\n private fb = inject(FormBuilder);\n private translate = inject(TranslateService);\n\n private DEFAULT_TEMPLATE_STORAGE_SECTION = 'sequencelist';\n CURRENT_ENTRIES_ID = 'current';\n TEMPLATE_NAME_MAX_LENGTH = 128;\n disableSubmit = false;\n templates: SequenceListTemplate[] = [];\n filterTerm: string | null = null;\n pendingTaskId?: string;\n\n private _selectedTemplate?: SequenceListTemplate;\n set selectedTemplate(s: SequenceListTemplate | undefined) {\n if (!this.pendingChanges.check()) {\n this.pendingTaskId = undefined;\n this._selectedTemplate = s ? { ...s } : undefined;\n\n if (this._selectedTemplate)\n this.form.patchValue(\n {\n templateName: this._selectedTemplate.id === this.CURRENT_ENTRIES_ID ? '' : this._selectedTemplate.name,\n sequence: [...this._selectedTemplate.sequence]\n },\n { emitEvent: false }\n );\n this.form.markAsPristine();\n }\n }\n get selectedTemplate() {\n return this._selectedTemplate;\n }\n\n busy = false;\n form: FormGroup = this.fb.group({\n templateName: ['', [Validators.required, Validators.maxLength(this.TEMPLATE_NAME_MAX_LENGTH), this.forbiddenNameValidator()]],\n sequence: [[], Validators.required]\n });\n\n /**\n * Name of the section to store templates in user service (usersettings)\n */\n storageSection = input<string>(this.DEFAULT_TEMPLATE_STORAGE_SECTION);\n currentEntries = input<SequenceItem[]>([]);\n\n // emitted once a template has been selected\n templateSelect = output<SequenceItem[]>();\n cancel = output<void>();\n\n labels = {\n save: this.translate.instant('yuv.sequence-list.template.button.save'),\n saveNew: this.translate.instant('yuv.sequence-list.template.button.saveNew'),\n headline: this.translate.instant('yuv.sequence-list.template.headline'),\n headlineNew: this.translate.instant('yuv.sequence-list.template.headlineNew'),\n errors: {\n maxlength: this.translate.instant('yuv.object-form-element.error.maxlength', { maxLength: this.TEMPLATE_NAME_MAX_LENGTH }),\n forbiddenName: this.translate.instant('yuv.sequence-list.template.errors.forbiddenName')\n }\n };\n\n get formErrors() {\n const errors = this.form.get('templateName')?.errors;\n return errors ? Object.keys(errors).map((k) => (this.labels.errors as any)[k]) : [];\n }\n\n constructor() {\n this.form.statusChanges.pipe(takeUntilDestroyed()).subscribe((res) => {\n if (this.form.dirty && !this.pendingChanges.hasPendingTask(this.pendingTaskId || ' ')) {\n this.pendingTaskId = this.pendingChanges.startTask(this.translate.instant('yuv.sequence-list.template.pending-changes.alert'));\n }\n });\n }\n\n private forbiddenNameValidator(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const forbidden = this.templates\n .filter((t) => t.id !== this.selectedTemplate!.id)\n .map((t) => t.name)\n .includes(control.value);\n return forbidden ? { forbiddenName: { value: control.value } } : null;\n };\n }\n\n selectCurrentEntries() {\n this.selectedTemplate = {\n id: this.CURRENT_ENTRIES_ID,\n name: this.translate.instant('yuv.sequence-list.template.headlineNew'),\n sequence: this.currentEntries() || []\n };\n }\n\n applyTemplate() {\n if (this.selectedTemplate) this.templateSelect.emit(this.selectedTemplate.sequence);\n }\n\n deleteTemplate() {\n this.overlay\n .confirm({\n message: this.translate.instant('yuv.sequence-list.template.remove.confirm.message', {\n template: this.selectedTemplate!.name\n })\n })\n .subscribe((confirmed: boolean) => {\n if (confirmed) {\n this.templates = this.templates.filter((t) => t.id !== this.selectedTemplate!.id);\n this.saveTemplates();\n }\n });\n }\n\n submit() {\n if (this.selectedTemplate) {\n let selectAfterSave: string | undefined;\n if (this.selectedTemplate.id === this.CURRENT_ENTRIES_ID) {\n // save current list as new template\n const id = Utils.uuid();\n this.templates.push({\n id,\n name: this.form.value.templateName,\n sequence: this.form.value.sequence\n });\n selectAfterSave = id;\n } else {\n // update existing template\n const i = this.templates.findIndex((e) => e.id === this.selectedTemplate!.id);\n if (i !== -1) {\n this.templates[i] = {\n id: this.selectedTemplate.id,\n name: this.form.value.templateName,\n sequence: this.form.value.sequence\n };\n selectAfterSave = this.selectedTemplate.id;\n }\n }\n this.saveTemplates(selectAfterSave);\n }\n }\n\n private saveTemplates(templateToBeSelectedAfterSave?: string) {\n this.busy = true;\n this.templates.sort(Utils.sortValues('name', Sort.ASC));\n return this.backend.post(`/users/settings/${this.storageSection}`, { templates: this.templates }).subscribe(\n (res) => {\n this.busy = false;\n this.form.markAsPristine();\n if (this.pendingTaskId) this.pendingChanges.finishTask(this.pendingTaskId);\n\n if (!templateToBeSelectedAfterSave) {\n this.selectedTemplate = undefined;\n } else if (templateToBeSelectedAfterSave !== this.selectedTemplate!.id) {\n this.selectedTemplate = this.templates.find((t) => templateToBeSelectedAfterSave === t.id);\n }\n },\n (err) => (this.busy = false)\n );\n }\n\n private loadTemplates() {\n this.backend.get(`/users/settings/${this.storageSection()}`).subscribe((res) => {\n this.templates = res ? res.templates || [] : [];\n this.templates.sort(Utils.sortValues('name', Sort.ASC));\n this.selectCurrentEntries();\n });\n }\n\n ngOnInit(): void {\n this.loadTemplates();\n }\n}\n","<div class=\"template-list\">\n <header>{{ 'yuv.sequence-list.template-list.headline' | translate }}</header>\n\n <!-- current entries -->\n <div class=\"currententries item\" (click)=\"selectCurrentEntries()\" [ngClass]=\"{ current: selectedTemplate?.id === CURRENT_ENTRIES_ID }\">\n {{ 'yuv.sequence-list.template.headlineNew' | translate }}\n </div>\n\n <div class=\"filter\">\n <yuv-form-input [label]=\"'yuv.sequence-list.form.filter' | translate\">\n <yuv-string [(ngModel)]=\"filterTerm\"> </yuv-string>\n </yuv-form-input>\n </div>\n\n <div class=\"templates\">\n @for (tpl of templates | filter: filterTerm : 'name'; track $index) {\n <div class=\"item\" (click)=\"selectedTemplate = tpl\" [ngClass]=\"{ current: selectedTemplate?.id === tpl.id }\">\n {{ tpl.name }}\n </div>\n }\n </div>\n</div>\n\n@if (selectedTemplate) {\n <form class=\"template\" [formGroup]=\"form\">\n <header>{{ selectedTemplate.id !== CURRENT_ENTRIES_ID ? labels.headline : labels.headlineNew }}</header>\n\n <yuv-form-input [label]=\"'yuv.sequence-list.form.templateName' | translate\" [required]=\"true\" [invalid]=\"!!formErrors.length\">\n <yuv-string [autofocus]=\"true\" [required]=\"true\" formControlName=\"templateName\"> </yuv-string>\n </yuv-form-input>\n @for (e of formErrors; track $index) {\n <div class=\"errors\">{{ e }}</div>\n }\n <yuv-sequence-list disable-duedate=\"true\" formControlName=\"sequence\"> </yuv-sequence-list>\n </form>\n}\n\n<div class=\"buttons\">\n <div class=\"left\">\n <button type=\"button\" class=\"secondary\" (click)=\"cancel.emit()\">{{ 'yuv.sequence-list.template.cancel' | translate }}</button>\n </div>\n\n @if (selectedTemplate) {\n <div class=\"right\">\n @if (selectedTemplate.id !== CURRENT_ENTRIES_ID) {\n <button class=\"secondary delete\" type=\"button\" (click)=\"deleteTemplate()\">\n {{ 'yuv.sequence-list.template.button.delete' | translate }}\n </button>\n\n <button class=\"primary apply\" type=\"button\" [disabled]=\"disableSubmit || form.invalid || form.dirty\" (click)=\"applyTemplate()\">\n {{ 'yuv.sequence-list.template.button.apply' | translate }}\n </button>\n }\n\n <!-- save -->\n <button\n class=\"{{ selectedTemplate.id !== CURRENT_ENTRIES_ID ? 'primary' : 'primary' }} save\"\n (click)=\"submit()\"\n type=\"button\"\n [disabled]=\"disableSubmit || form.invalid || form.pristine\"\n >\n {{ selectedTemplate.id !== CURRENT_ENTRIES_ID ? labels.save : labels.saveNew }}\n </button>\n </div>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, forwardRef, inject, input, output, TemplateRef, viewChild, ViewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, FormBuilder, FormGroup, FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR, ReactiveFormsModule, ValidationErrors, Validator } from '@angular/forms';\nimport { PendingChangesService, TranslateModule } from '@yuuvis/client-core';\nimport { YvcOverlayRef, YvcOverlayService } from '@yuuvis/components/overlay';\nimport { SequenceListTemplateManageComponent } from '../sequence-list-template-manage/sequence-list-template-manage.component';\nimport { SequenceListComponent } from '../sequence-list.component';\nimport { SequenceItem } from '../sequence-list.interface';\n\n/**\n * Task sequence list including templates for sequence lists.\n * Templates are preconfigured lists of tasks and recipients.\n */\n@Component({\n selector: 'yuv-sequence-list-templates',\n standalone: true,\n imports: [CommonModule, FormsModule, ReactiveFormsModule, \n SequenceListComponent, SequenceListTemplateManageComponent, TranslateModule],\n templateUrl: './sequence-list-templates.component.html',\n styleUrls: ['./sequence-list-templates.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SequenceListTemplatesComponent),\n multi: true\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SequenceListTemplatesComponent),\n multi: true\n }\n ],\n host: {\n tabindex: '0'\n }\n})\nexport class SequenceListTemplatesComponent implements ControlValueAccessor, Validator {\n private fb = inject(FormBuilder);\n private pendingChanges = inject(PendingChangesService);\n private overlay = inject(YvcOverlayService);\n\n tplTemplateManager = viewChild<TemplateRef<any>>('tplTemplateManager');\n\n form: FormGroup = this.fb.group({\n sequence: [[]]\n });\n private _entries: SequenceItem[] = [];\n get entries() {\n return this._entries;\n }\n oRef?: YvcOverlayRef;\n\n title = input<string>();\n maxLength = input<number>(100);\n templateStorageSection = input.required<string>();\n itemEdit = output<boolean>();\n\n constructor() {\n this.form.valueChanges.pipe(takeUntilDestroyed()).subscribe((res) => {\n this.setEntries(res.sequence, false);\n this.propagate();\n });\n }\n // eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars\n propagateChange = (_: any) => {};\n\n private setEntries(e: SequenceItem[], patch: boolean) {\n this._entries = e;\n if (patch)\n this.form.patchValue({\n sequence: e || []\n });\n }\n\n private propagate() {\n this.propagateChange(this.entries);\n }\n\n writeValue(value: SequenceItem[]): void {\n this.setEntries(value || [], true);\n }\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars\n registerOnTouched(fn: any): void {}\n\n // TEMPLATES\n openTemplateManager() {\n this.oRef = this.overlay.open(this.tplTemplateManager()!, {\n width: '55%',\n height: '70%'\n });\n this.oRef!.preventClose = () => this.pendingChanges.check();\n }\n\n templateManagerCancel() {\n if (this.oRef) this.oRef.close();\n }\n\n templateManagerSelect(entries: SequenceItem[]) {\n this.setEntries(entries, true);\n if (this.oRef) this.oRef.close();\n }\n\n validate(): ValidationErrors | null {\n return this.form.invalid\n ? {\n sequencelist: { invalid: true }\n }\n : null;\n }\n}\n","<form [formGroup]=\"form\">\n <yuv-sequence-list formControlName=\"sequence\" [maxLength]=\"maxLength()\">\n \n @if (!!templateStorageSection) {\n <button class=\"btn-templates secondary\" (click)=\"openTemplateManager()\">{{ 'yuv.sequence-list.button.templates' | translate }}</button>\n }\n </yuv-sequence-list>\n</form>\n\n<!-- template manager overlay -->\n<ng-template #tplTemplateManager>\n <yuv-sequence-list-template-manage\n (cancel)=\"oRef?.close()\"\n (templateSelect)=\"templateManagerSelect($event)\"\n [storageSection]=\"templateStorageSection() \"\n [currentEntries]=\"entries\"\n >\n </yuv-sequence-list-template-manage>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"yuuvis-client-framework-sequence-list.mjs","sources":["../../../../../libs/yuuvis/client-framework/sequence-list/src/lib/due-date-picker/due-date-picker.component.ts","../../../../../libs/yuuvis/client-framework/sequence-list/src/lib/due-date-picker/due-date-picker.component.html","../../../../../libs/yuuvis/client-framework/sequence-list/src/lib/sequence-list.component.ts","../../../../../libs/yuuvis/client-framework/sequence-list/src/lib/sequence-list.component.html","../../../../../libs/yuuvis/client-framework/sequence-list/src/yuuvis-client-framework-sequence-list.ts"],"sourcesContent":["import { Component, forwardRef, inject, input, OnInit, signal, TemplateRef, viewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DatepickerCalendarOptions, DatepickerLabels, YvcDatepickerModule } from '@yuuvis/components/datepicker';\nimport { ICONS, YvcIconModule } from '@yuuvis/components/icon';\nimport { YvcOverlayRef, YvcOverlayService } from '@yuuvis/components/overlay';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { LocaleDatePipe, TranslateService } from '@yuuvis/client-core';\nimport { LangChangeEvent } from '@ngx-translate/core';\n\n@Component({\n selector: 'yuv-due-date-picker',\n standalone: true,\n imports: [CommonModule, YvcDatepickerModule, YvcIconModule, LocaleDatePipe],\n templateUrl: './due-date-picker.component.html',\n styleUrl: './due-date-picker.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DueDatePickerComponent),\n multi: true\n }\n ]\n})\nexport class DueDatePickerComponent implements ControlValueAccessor, OnInit {\n #overlay = inject(YvcOverlayService);\n private translate = inject(TranslateService);\n #oRef?: YvcOverlayRef;\n\n tplCalendar = viewChild.required<TemplateRef<any>>('tplCalendar');\n\n disabled = input<boolean>(false);\n\n value?: Date;\n calendarValue: Date | null = null;\n\n icons = {\n calendar: ICONS.calendar,\n clear: ICONS.clear\n };\n\n #labels?: DatepickerLabels;\n #locale = this.translate.currentLang;\n\n options = signal<DatepickerCalendarOptions>({\n withTime: true,\n // onlyFutureDates: true\n });\n\n #setOptions() {\n this.options.update((v) => {\n return {\n ...v,\n labels: {\n calendarApply: this.translate.instant('yuv.form.element.datetime.calendar.select'),\n calendarCancel: this.translate.instant('yuv.form.element.datetime.calendar.cancel'),\n shortcut: { today: this.translate.instant('yuv.form.element.datetime.calendar.today') }\n },\n locale: this.translate.currentLang\n };\n });\n }\n\n openCalendar() {\n if (!this.calendarValue) this.calendarValue = new Date();\n this.#oRef = this.#overlay.open(this.tplCalendar(), null, {\n focusHandled: true\n });\n }\n\n closeCalendar() {\n this.#oRef?.close();\n }\n\n onCalendarDateApply(date: Date) {\n this.calendarValue = date;\n this.value = this.calendarValue;\n this.propagateChange(this.value);\n this.closeCalendar();\n }\n\n clear() {\n this.value = undefined;\n this.propagateChange(this.value);\n }\n\n propagateChange = (_: any) => {};\n registerOnTouched(): void {}\n\n writeValue(value: Date | undefined): void {\n this.value = value;\n this.calendarValue = value || null;\n }\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n ngOnInit(): void {\n this.#setOptions();\n this.translate.onLangChange.subscribe((e: LangChangeEvent) => {\n this.#setOptions();\n });\n }\n}\n","<button type=\"button\" class=\"calender secondary\" [disabled]=\"disabled()\" (click)=\"openCalendar()\">\n <yvc-icon [svg]=\"icons.calendar\"></yvc-icon>\n @if (value) {\n <span>{{ value | localeDate }}</span>\n }\n</button>\n@if (value) {\n <button type=\"button\" class=\"clear\" (click)=\"this.clear()\"><yvc-icon [svg]=\"icons.clear\"></yvc-icon></button>\n}\n<ng-template #tplCalendar>\n <yvc-datepicker-calendar\n [date]=\"calendarValue\"\n [options]=\"options()\"\n (cancel)=\"closeCalendar()\"\n (apply)=\"onCalendarDateApply($event)\"\n ></yvc-datepicker-calendar>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { Component, ViewChild, forwardRef, inject, input } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n ControlValueAccessor,\n FormArray,\n FormControl,\n FormGroup,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n NonNullableFormBuilder,\n ReactiveFormsModule,\n ValidationErrors,\n Validator,\n Validators\n} from '@angular/forms';\nimport { TranslateModule } from '@yuuvis/client-core';\nimport { OrganizationComponent } from '@yuuvis/client-framework/forms';\nimport { YUV_ICONS } from '@yuuvis/client-framework/icons';\nimport { ICONS, YvcIconModule } from '@yuuvis/components/icon';\nimport { SequenceItem, SequenceListAssignee } from './sequence-list.interface';\n\ntype SequenceFormItem = FormGroup<{\n title: FormControl<string>;\n nextAssignee: FormControl<SequenceListAssignee | string>;\n expiryDatetime: FormControl<any>;\n}>;\ntype SequenceForm = FormGroup<{\n items: FormArray<SequenceFormItem>;\n}>;\n\n/**\n * Task sequence list.\n */\n@Component({\n selector: 'yuv-sequence-list',\n standalone: true,\n imports: [CommonModule, TranslateModule, OrganizationComponent, ReactiveFormsModule, YvcIconModule],\n templateUrl: './sequence-list.component.html',\n styleUrl: './sequence-list.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SequenceListComponent),\n multi: true\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SequenceListComponent),\n multi: true\n }\n ],\n host: {\n tabindex: '0'\n }\n})\nexport class SequenceListComponent implements ControlValueAccessor, Validator {\n #fb = inject(NonNullableFormBuilder);\n\n @ViewChild(OrganizationComponent) orgComponent!: OrganizationComponent;\n\n /**\n * Maximum number of sequence items (defaults to 100).\n */\n maxLength = input<number>(100);\n maxLengthExceeded = false;\n\n icons = {\n delete: ICONS.clear,\n add: YUV_ICONS.add\n };\n\n // dynamic form for sequence items\n sequenceForm: SequenceForm = this.#fb.group({\n items: this.#fb.array<SequenceFormItem>([this.#generateSequenceItem()])\n });\n\n entries: SequenceItem[] = [];\n\n get formItemArray(): FormArray<SequenceFormItem> {\n return this.sequenceForm.controls.items as FormArray<SequenceFormItem>;\n }\n\n constructor() {\n this.sequenceForm.valueChanges.pipe(takeUntilDestroyed()).subscribe(() => {\n this.#propagate();\n });\n }\n\n #generateSequenceItem(sequenceItem?: SequenceItem): SequenceFormItem {\n return this.#fb.group({\n title: [sequenceItem?.title || '', Validators.required],\n nextAssignee: [sequenceItem?.nextAssignee || '', Validators.required],\n expiryDatetime: [sequenceItem?.expiryDatetime || undefined]\n });\n }\n\n addItem() {\n this.sequenceForm.controls.items.push(this.#generateSequenceItem());\n this.#updateState();\n }\n\n addItemAt(idx: number) {\n this.sequenceForm.controls.items.insert(idx, this.#generateSequenceItem());\n this.#updateState();\n }\n\n removeItem(idx: number) {\n this.sequenceForm.controls.items.removeAt(idx);\n this.#updateState();\n }\n\n #updateState() {\n const ml = this.maxLength();\n this.maxLengthExceeded = ml !== undefined && this.formItemArray.length >= ml;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n propagateChange = (_: any) => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n registerOnTouched(): void {}\n\n #propagate() {\n const res: SequenceItem[] = [];\n (this.sequenceForm.value.items || []).forEach((item: any) => {\n const i: SequenceItem = {\n title: item.title,\n nextAssignee: item.nextAssignee\n };\n if (item.expiryDatetime) {\n i.expiryDatetime = item.expiryDatetime;\n }\n res.push(i);\n });\n\n this.propagateChange(res);\n }\n\n writeValue(value: SequenceItem[]): void {\n this.entries = value || [];\n this.formItemArray.clear();\n if (this.entries.length === 0) this.addItem();\n this.entries.forEach((entry) => {\n this.formItemArray.push(this.#generateSequenceItem(entry));\n });\n }\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n validate(): ValidationErrors | null {\n const ml = this.maxLength();\n const mlExceeded = ml !== undefined && this.formItemArray.length > ml;\n const valid = this.sequenceForm.valid && !mlExceeded;\n\n return !valid\n ? {\n sequencelist: {\n invalid: this.sequenceForm.invalid,\n maxLengthExceeded: mlExceeded\n }\n }\n : null;\n }\n}\n","<form [formGroup]=\"sequenceForm\">\n <section formArrayName=\"items\">\n @for (item of sequenceForm.controls.items.controls; track itemIndex; let itemIndex = $index) {\n <div class=\"item\" [formGroup]=\"item\">\n <button class=\"add before\" type=\"button\" [disabled]=\"maxLengthExceeded\" (click)=\"addItemAt($index)\"><yvc-icon [svg]=\"icons.add\"></yvc-icon></button>\n <span class=\"index\" [attr.data-index]=\"itemIndex + 1\"></span>\n\n <div class=\"item-form\">\n <button class=\"remove\" type=\"button\" (click)=\"removeItem($index)\" [disabled]=\"sequenceForm.controls.items.controls.length === 1\">\n <yvc-icon [svg]=\"icons.delete\"></yvc-icon>\n </button>\n <input [placeholder]=\"'yuv.sequence-list.form.task' | translate\" [maxLength]=\"128\" formControlName=\"title\" />\n <yuv-organization [title]=\"'yuv.sequence-list.form.nextAssignee' | translate\" [withMetadata]=\"true\" formControlName=\"nextAssignee\">\n </yuv-organization>\n </div>\n @if ($last) {\n <button class=\"add after\" type=\"button\" [disabled]=\"maxLengthExceeded\" (click)=\"addItem()\"><yvc-icon [svg]=\"icons.add\"></yvc-icon></button>\n }\n </div>\n }\n </section>\n</form>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3"],"mappings":";;;;;;;;;;;;;;;;MAuBa,sBAAsB,CAAA;AAdnC,IAAA,WAAA,GAAA;AAeE,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC7B,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAG7C,QAAA,IAAA,CAAA,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAmB,aAAa,CAAC,CAAC;AAElE,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;QAGjC,IAAa,CAAA,aAAA,GAAgB,IAAI,CAAC;AAElC,QAAA,IAAA,CAAA,KAAK,GAAG;YACN,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC;AAGF,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;QAErC,IAAO,CAAA,OAAA,GAAG,MAAM,CAA4B;AAC1C,YAAA,QAAQ,EAAE,IAAI;;AAEf,SAAA,CAAC,CAAC;AAuCH,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,CAAM,KAAI,GAAG,CAAC;AAkBlC,KAAA;AA/EC,IAAA,QAAQ,CAA6B;AAErC,IAAA,KAAK,CAAiB;AActB,IAAA,OAAO,CAAoB;AAC3B,IAAA,OAAO,CAA8B;IAOrC,WAAW,GAAA;QACT,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAI;YACxB,OAAO;AACL,gBAAA,GAAG,CAAC;AACJ,gBAAA,MAAM,EAAE;oBACN,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,2CAA2C,CAAC;oBAClF,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,2CAA2C,CAAC;AACnF,oBAAA,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,0CAA0C,CAAC,EAAE;AACxF,iBAAA;AACD,gBAAA,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW;aACnC,CAAC;AACJ,SAAC,CAAC,CAAC;KACJ;IAED,YAAY,GAAA;QACV,IAAI,CAAC,IAAI,CAAC,aAAa;AAAE,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;AACzD,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE;AACxD,YAAA,YAAY,EAAE,IAAI;AACnB,SAAA,CAAC,CAAC;KACJ;IAED,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;KACrB;AAED,IAAA,mBAAmB,CAAC,IAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAC1B,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;AAChC,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;AACvB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAClC;AAGD,IAAA,iBAAiB,MAAW;AAE5B,IAAA,UAAU,CAAC,KAAuB,EAAA;AAChC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,IAAI,IAAI,CAAC;KACpC;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;KAC3B;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAkB,KAAI;YAC3D,IAAI,CAAC,WAAW,EAAE,CAAC;AACrB,SAAC,CAAC,CAAC;KACJ;+GA/EU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EARtB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB,CAAC;AACrD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,ECrBH,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,wmBAiBA,kbDLY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,mBAAmB,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,OAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,aAAa,0HAAE,cAAc,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAW/D,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAdlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EACnB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,cAAc,CAAC,EAGhE,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,4BAA4B,CAAC;AACrD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,wmBAAA,EAAA,MAAA,EAAA,CAAA,2XAAA,CAAA,EAAA,CAAA;;;AEUH;;AAEG;MAuBU,qBAAqB,CAAA;AAChC,IAAA,GAAG,CAAkC;AAsBrC,IAAA,IAAI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAoC,CAAC;KACxE;AAED,IAAA,WAAA,GAAA;AA1BA,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAIrC;;AAEG;AACH,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAS,GAAG,CAAC,CAAC;QAC/B,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;AAE1B,QAAA,IAAA,CAAA,KAAK,GAAG;YACN,MAAM,EAAE,KAAK,CAAC,KAAK;YACnB,GAAG,EAAE,SAAS,CAAC,GAAG;SACnB,CAAC;;AAGF,QAAA,IAAA,CAAA,YAAY,GAAiB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;AAC1C,YAAA,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAmB,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;AACxE,SAAA,CAAC,CAAC;QAEH,IAAO,CAAA,OAAA,GAAmB,EAAE,CAAC;;AAyC7B,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,CAAM,KAAI,GAAG,CAAC;AAlC/B,QAAA,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC,MAAK;YACvE,IAAI,CAAC,UAAU,EAAE,CAAC;AACpB,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,qBAAqB,CAAC,YAA2B,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YACpB,KAAK,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC;YACvD,YAAY,EAAE,CAAC,YAAY,EAAE,YAAY,IAAI,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC;AACrE,YAAA,cAAc,EAAE,CAAC,YAAY,EAAE,cAAc,IAAI,SAAS,CAAC;AAC5D,SAAA,CAAC,CAAC;KACJ;IAED,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;AAED,IAAA,SAAS,CAAC,GAAW,EAAA;AACnB,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;AAED,IAAA,UAAU,CAAC,GAAW,EAAA;QACpB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;IAED,YAAY,GAAA;AACV,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,EAAE,CAAC;KAC9E;;AAKD,IAAA,iBAAiB,MAAW;IAE5B,UAAU,GAAA;QACR,MAAM,GAAG,GAAmB,EAAE,CAAC;AAC/B,QAAA,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,IAAS,KAAI;AAC1D,YAAA,MAAM,CAAC,GAAiB;gBACtB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAC;AACF,YAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,gBAAA,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;aACxC;AACD,YAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACd,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;KAC3B;AAED,IAAA,UAAU,CAAC,KAAqB,EAAA;AAC9B,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,IAAI,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;AAC3B,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AAC7B,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7D,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;KAC3B;IAED,QAAQ,GAAA;AACN,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AAC5B,QAAA,MAAM,UAAU,GAAG,EAAE,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,EAAE,CAAC;QACtE,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC;AAErD,QAAA,OAAO,CAAC,KAAK;AACX,cAAE;AACE,gBAAA,YAAY,EAAE;AACZ,oBAAA,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO;AAClC,oBAAA,iBAAiB,EAAE,UAAU;AAC9B,iBAAA;AACF,aAAA;cACD,IAAI,CAAC;KACV;+GA5GU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EAhBrB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,GAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,qBAAqB,CAAC;AACpD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,aAAa;AACtB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,qBAAqB,CAAC;AACpD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAQU,qBAAqB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3DlC,+wCAsBA,EAAA,MAAA,EAAA,CAAA,koJAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDeY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,qBAAqB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,KAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAmBvF,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAtBjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EACjB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,aAAa,CAAC,EAGxF,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,2BAA2B,CAAC;AACpD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,WAAW,EAAE,UAAU,CAAC,2BAA2B,CAAC;AACpD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;qBACF,EACK,IAAA,EAAA;AACJ,wBAAA,QAAQ,EAAE,GAAG;AACd,qBAAA,EAAA,QAAA,EAAA,+wCAAA,EAAA,MAAA,EAAA,CAAA,koJAAA,CAAA,EAAA,CAAA;wDAKiC,YAAY,EAAA,CAAA;sBAA7C,SAAS;uBAAC,qBAAqB,CAAA;;;AE3DlC;;AAEG;;;;"}
|
|
@@ -125,11 +125,11 @@ class TileComponent {
|
|
|
125
125
|
.subscribe();
|
|
126
126
|
}
|
|
127
127
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
128
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TileComponent, isStandalone: true, selector: "yuv-tile", inputs: { tile: { classPropertyName: "tile", publicName: "tile", isSignal: true, isRequired: true, transformFunction: null }, actionContext: { classPropertyName: "actionContext", publicName: "actionContext", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div data-slot=\"icon\">\n <ng-container *yuvRenderer=\"rendererInputs().icon\"></ng-container>\n</div>\n\n<div class=\"slots\">\n <div data-slot=\"title\">\n <ng-container *yuvRenderer=\"rendererInputs().title\"></ng-container>\n </div>\n \n <div data-slot=\"actions\">\n @for (a of actions(); track a.id) {\n <button [title]=\"a.label\" (click)=\"executeAction(a, $event)\"><yvc-icon [svg]=\"a.icon\"></yvc-icon></button>\n }\n </div>\n \n <div data-slot=\"description\">\n <ng-container *yuvRenderer=\"rendererInputs().description\"></ng-container>\n </div>\n \n <div data-slot=\"aside\">\n <ng-container *yuvRenderer=\"rendererInputs().aside\"></ng-container>\n </div>\n \n <div data-slot=\"meta\">\n <ng-container *yuvRenderer=\"rendererInputs().meta\"></ng-container>\n </div>\n \n <div data-slot=\"badges\">{{ tile().badges }}</div>\n \n <div class=\"extension\">\n <ng-container *yuvTileExtension=\"{ typeId: tile().objectTypeId, data: tile().instanceData }\"></ng-container>\n </div>\n</div>\n", styles: [":host{--_tile-background: var(--tile-background, transparent);--_tile-icon-fill: var(--tile-icon-fill, currentColor);--_tile-padding: var(--tile-padding, var(--app-pane-padding));--_tile-action-icon-size: var(--tile-action-icon-size);--_tile-icon-size: var(--tile-icon-size);--_transition-duration: var(--transition-duration, .1s);display:flex;align-items:center;background-color:var(--_tile-background);padding:var(--_tile-padding);transition:background-color var(--_transition-duration)}:host .slots{display:grid;grid-template-rows:repeat(4,auto);grid-template-columns:1fr repeat(2,auto);grid-template-areas:\"title title actions\" \"description aside aside\" \"meta meta badges\" \"ext ext ext\";flex:1}:host [data-slot]{align-items:center;-webkit-user-select:none;user-select:none;display:grid}:host [data-slot=icon]{--icon-renderer-icon-size: var(--_tile-icon-size);color:var(--_tile-icon-fill);width:3rem;grid-area:icon;display:flex;align-items:center;justify-content:center}:host [data-slot=title]{font-weight:700;grid-area:title}:host [data-slot=description]{grid-area:description}:host [data-slot=meta]{grid-area:meta}:host [data-slot=aside]{flex:0 0 auto;grid-area:aside}:host [data-slot=actions]{opacity:0;transition:opacity var(--_transition-duration);pointer-events:none}:host:hover [data-slot=actions]{opacity:1;pointer-events:all}:host [data-slot=actions]{grid-area:actions;flex:0 0 auto;display:flex;align-items:start}:host [data-slot=actions] button{padding:0;gap:2px}:host [data-slot=actions] button yvc-icon{--icon-size: var(--_tile-action-icon-size)}:host [data-slot=badges]{grid-area:badges;justify-self:end;flex:0 0 auto}:host .extension{grid-area:ext}\n"], dependencies: [{ kind: "ngmodule", type: YvcIconModule }, { kind: "component", type: i1.Icon, selector: "yvc-icon", inputs: ["label", "svg", "svgSrc"] }, { kind: "directive", type: RendererDirective, selector: "[yuvRenderer]", inputs: ["yuvRenderer"] }, { kind: "directive", type: TileExtensionDirective, selector: "[yuvTileExtension]", inputs: ["yuvTileExtension"] }] }); }
|
|
128
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TileComponent, isStandalone: true, selector: "yuv-tile", inputs: { tile: { classPropertyName: "tile", publicName: "tile", isSignal: true, isRequired: true, transformFunction: null }, actionContext: { classPropertyName: "actionContext", publicName: "actionContext", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div data-slot=\"icon\">\n <ng-container *yuvRenderer=\"rendererInputs().icon\"></ng-container>\n</div>\n\n<div class=\"slots\">\n <div data-slot=\"title\">\n <ng-container *yuvRenderer=\"rendererInputs().title\"></ng-container>\n </div>\n \n <div data-slot=\"actions\">\n @for (a of actions(); track a.id) {\n <button [title]=\"a.label\" (click)=\"executeAction(a, $event)\"><yvc-icon inert=\"true\" [svg]=\"a.icon\"></yvc-icon></button>\n }\n </div>\n \n <div data-slot=\"description\">\n <ng-container *yuvRenderer=\"rendererInputs().description\"></ng-container>\n </div>\n \n <div data-slot=\"aside\">\n <ng-container *yuvRenderer=\"rendererInputs().aside\"></ng-container>\n </div>\n \n <div data-slot=\"meta\">\n <ng-container *yuvRenderer=\"rendererInputs().meta\"></ng-container>\n </div>\n \n <div data-slot=\"badges\">{{ tile().badges }}</div>\n \n <div class=\"extension\">\n <ng-container *yuvTileExtension=\"{ typeId: tile().objectTypeId, data: tile().instanceData }\"></ng-container>\n </div>\n</div>\n", styles: [":host{--_tile-background: var(--tile-background, transparent);--_tile-icon-fill: var(--tile-icon-fill, currentColor);--_tile-padding: var(--tile-padding, var(--app-pane-padding));--_tile-action-icon-size: var(--tile-action-icon-size);--_tile-icon-size: var(--tile-icon-size);--_transition-duration: var(--transition-duration, .1s);display:flex;align-items:center;background-color:var(--_tile-background);padding:var(--_tile-padding);transition:background-color var(--_transition-duration)}:host .slots{display:grid;grid-template-rows:repeat(4,auto);grid-template-columns:1fr repeat(2,auto);grid-template-areas:\"title title actions\" \"description aside aside\" \"meta meta badges\" \"ext ext ext\";flex:1}:host [data-slot]{align-items:center;-webkit-user-select:none;user-select:none;display:grid}:host [data-slot=icon]{--icon-renderer-icon-size: var(--_tile-icon-size);color:var(--_tile-icon-fill);width:3rem;grid-area:icon;display:flex;align-items:center;justify-content:center}:host [data-slot=title]{font-weight:700;grid-area:title}:host [data-slot=description]{grid-area:description}:host [data-slot=meta]{grid-area:meta}:host [data-slot=aside]{flex:0 0 auto;grid-area:aside}:host [data-slot=actions]{opacity:0;transition:opacity var(--_transition-duration);pointer-events:none}:host:hover [data-slot=actions]{opacity:1;pointer-events:all}:host [data-slot=actions]{grid-area:actions;flex:0 0 auto;display:flex;align-items:start}:host [data-slot=actions] button{padding:0;gap:2px}:host [data-slot=actions] button yvc-icon{--icon-size: var(--_tile-action-icon-size)}:host [data-slot=badges]{grid-area:badges;justify-self:end;flex:0 0 auto}:host .extension{grid-area:ext}\n"], dependencies: [{ kind: "ngmodule", type: YvcIconModule }, { kind: "component", type: i1.Icon, selector: "yvc-icon", inputs: ["label", "svg", "svgSrc"] }, { kind: "directive", type: RendererDirective, selector: "[yuvRenderer]", inputs: ["yuvRenderer"] }, { kind: "directive", type: TileExtensionDirective, selector: "[yuvTileExtension]", inputs: ["yuvTileExtension"] }] }); }
|
|
129
129
|
}
|
|
130
130
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TileComponent, decorators: [{
|
|
131
131
|
type: Component,
|
|
132
|
-
args: [{ selector: 'yuv-tile', standalone: true, imports: [YvcIconModule, RendererDirective, TileExtensionDirective], template: "<div data-slot=\"icon\">\n <ng-container *yuvRenderer=\"rendererInputs().icon\"></ng-container>\n</div>\n\n<div class=\"slots\">\n <div data-slot=\"title\">\n <ng-container *yuvRenderer=\"rendererInputs().title\"></ng-container>\n </div>\n \n <div data-slot=\"actions\">\n @for (a of actions(); track a.id) {\n <button [title]=\"a.label\" (click)=\"executeAction(a, $event)\"><yvc-icon [svg]=\"a.icon\"></yvc-icon></button>\n }\n </div>\n \n <div data-slot=\"description\">\n <ng-container *yuvRenderer=\"rendererInputs().description\"></ng-container>\n </div>\n \n <div data-slot=\"aside\">\n <ng-container *yuvRenderer=\"rendererInputs().aside\"></ng-container>\n </div>\n \n <div data-slot=\"meta\">\n <ng-container *yuvRenderer=\"rendererInputs().meta\"></ng-container>\n </div>\n \n <div data-slot=\"badges\">{{ tile().badges }}</div>\n \n <div class=\"extension\">\n <ng-container *yuvTileExtension=\"{ typeId: tile().objectTypeId, data: tile().instanceData }\"></ng-container>\n </div>\n</div>\n", styles: [":host{--_tile-background: var(--tile-background, transparent);--_tile-icon-fill: var(--tile-icon-fill, currentColor);--_tile-padding: var(--tile-padding, var(--app-pane-padding));--_tile-action-icon-size: var(--tile-action-icon-size);--_tile-icon-size: var(--tile-icon-size);--_transition-duration: var(--transition-duration, .1s);display:flex;align-items:center;background-color:var(--_tile-background);padding:var(--_tile-padding);transition:background-color var(--_transition-duration)}:host .slots{display:grid;grid-template-rows:repeat(4,auto);grid-template-columns:1fr repeat(2,auto);grid-template-areas:\"title title actions\" \"description aside aside\" \"meta meta badges\" \"ext ext ext\";flex:1}:host [data-slot]{align-items:center;-webkit-user-select:none;user-select:none;display:grid}:host [data-slot=icon]{--icon-renderer-icon-size: var(--_tile-icon-size);color:var(--_tile-icon-fill);width:3rem;grid-area:icon;display:flex;align-items:center;justify-content:center}:host [data-slot=title]{font-weight:700;grid-area:title}:host [data-slot=description]{grid-area:description}:host [data-slot=meta]{grid-area:meta}:host [data-slot=aside]{flex:0 0 auto;grid-area:aside}:host [data-slot=actions]{opacity:0;transition:opacity var(--_transition-duration);pointer-events:none}:host:hover [data-slot=actions]{opacity:1;pointer-events:all}:host [data-slot=actions]{grid-area:actions;flex:0 0 auto;display:flex;align-items:start}:host [data-slot=actions] button{padding:0;gap:2px}:host [data-slot=actions] button yvc-icon{--icon-size: var(--_tile-action-icon-size)}:host [data-slot=badges]{grid-area:badges;justify-self:end;flex:0 0 auto}:host .extension{grid-area:ext}\n"] }]
|
|
132
|
+
args: [{ selector: 'yuv-tile', standalone: true, imports: [YvcIconModule, RendererDirective, TileExtensionDirective], template: "<div data-slot=\"icon\">\n <ng-container *yuvRenderer=\"rendererInputs().icon\"></ng-container>\n</div>\n\n<div class=\"slots\">\n <div data-slot=\"title\">\n <ng-container *yuvRenderer=\"rendererInputs().title\"></ng-container>\n </div>\n \n <div data-slot=\"actions\">\n @for (a of actions(); track a.id) {\n <button [title]=\"a.label\" (click)=\"executeAction(a, $event)\"><yvc-icon inert=\"true\" [svg]=\"a.icon\"></yvc-icon></button>\n }\n </div>\n \n <div data-slot=\"description\">\n <ng-container *yuvRenderer=\"rendererInputs().description\"></ng-container>\n </div>\n \n <div data-slot=\"aside\">\n <ng-container *yuvRenderer=\"rendererInputs().aside\"></ng-container>\n </div>\n \n <div data-slot=\"meta\">\n <ng-container *yuvRenderer=\"rendererInputs().meta\"></ng-container>\n </div>\n \n <div data-slot=\"badges\">{{ tile().badges }}</div>\n \n <div class=\"extension\">\n <ng-container *yuvTileExtension=\"{ typeId: tile().objectTypeId, data: tile().instanceData }\"></ng-container>\n </div>\n</div>\n", styles: [":host{--_tile-background: var(--tile-background, transparent);--_tile-icon-fill: var(--tile-icon-fill, currentColor);--_tile-padding: var(--tile-padding, var(--app-pane-padding));--_tile-action-icon-size: var(--tile-action-icon-size);--_tile-icon-size: var(--tile-icon-size);--_transition-duration: var(--transition-duration, .1s);display:flex;align-items:center;background-color:var(--_tile-background);padding:var(--_tile-padding);transition:background-color var(--_transition-duration)}:host .slots{display:grid;grid-template-rows:repeat(4,auto);grid-template-columns:1fr repeat(2,auto);grid-template-areas:\"title title actions\" \"description aside aside\" \"meta meta badges\" \"ext ext ext\";flex:1}:host [data-slot]{align-items:center;-webkit-user-select:none;user-select:none;display:grid}:host [data-slot=icon]{--icon-renderer-icon-size: var(--_tile-icon-size);color:var(--_tile-icon-fill);width:3rem;grid-area:icon;display:flex;align-items:center;justify-content:center}:host [data-slot=title]{font-weight:700;grid-area:title}:host [data-slot=description]{grid-area:description}:host [data-slot=meta]{grid-area:meta}:host [data-slot=aside]{flex:0 0 auto;grid-area:aside}:host [data-slot=actions]{opacity:0;transition:opacity var(--_transition-duration);pointer-events:none}:host:hover [data-slot=actions]{opacity:1;pointer-events:all}:host [data-slot=actions]{grid-area:actions;flex:0 0 auto;display:flex;align-items:start}:host [data-slot=actions] button{padding:0;gap:2px}:host [data-slot=actions] button yvc-icon{--icon-size: var(--_tile-action-icon-size)}:host [data-slot=badges]{grid-area:badges;justify-self:end;flex:0 0 auto}:host .extension{grid-area:ext}\n"] }]
|
|
133
133
|
}] });
|
|
134
134
|
|
|
135
135
|
/**
|