@yuuvis/client-framework 3.19.0 → 3.20.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/fesm2022/yuuvis-client-framework-object-details.mjs +2 -1
- package/fesm2022/yuuvis-client-framework-object-details.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-flavor.mjs +2 -1
- package/fesm2022/yuuvis-client-framework-object-flavor.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-form.mjs +3 -1
- package/fesm2022/yuuvis-client-framework-object-form.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-relationship.mjs +9 -3
- package/fesm2022/yuuvis-client-framework-object-relationship.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-summary.mjs +4 -1
- package/fesm2022/yuuvis-client-framework-object-summary.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-renderer.mjs +22 -11
- package/fesm2022/yuuvis-client-framework-renderer.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-smart-search.mjs +54 -14
- package/fesm2022/yuuvis-client-framework-smart-search.mjs.map +1 -1
- package/package.json +5 -5
- package/types/yuuvis-client-framework-object-form.d.ts +6 -0
- package/types/yuuvis-client-framework-renderer.d.ts +17 -4
- package/types/yuuvis-client-framework-smart-search.d.ts +29 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yuuvis-client-framework-object-flavor.mjs","sources":["../../../../../libs/yuuvis/client-framework/object-flavor/src/lib/flavor-chip/flavor-chip.component.ts","../../../../../libs/yuuvis/client-framework/object-flavor/src/lib/flavor-chip/flavor-chip.component.html","../../../../../libs/yuuvis/client-framework/object-flavor/src/lib/abstract-apply-object-flavor/abstract-apply-object-flavor.component.ts","../../../../../libs/yuuvis/client-framework/object-flavor/src/lib/default-apply-flavor/default-apply-flavor.component.ts","../../../../../libs/yuuvis/client-framework/object-flavor/src/lib/default-apply-flavor/default-apply-flavor.component.html","../../../../../libs/yuuvis/client-framework/object-flavor/src/lib/object-flavor-picker/object-flavor-picker.component.ts","../../../../../libs/yuuvis/client-framework/object-flavor/src/lib/object-flavor-picker/object-flavor-picker.component.html","../../../../../libs/yuuvis/client-framework/object-flavor/src/lib/object-flavor/object-flavor.component.ts","../../../../../libs/yuuvis/client-framework/object-flavor/src/lib/object-flavor/object-flavor.component.html","../../../../../libs/yuuvis/client-framework/object-flavor/src/lib/abstract-apply-create-flavor/abstract-apply-create-flavor.component.ts","../../../../../libs/yuuvis/client-framework/object-flavor/src/yuuvis-client-framework-object-flavor.ts"],"sourcesContent":["import { Component, inject, input, output } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { SystemService, TranslateService } from '@yuuvis/client-core';\nimport { ObjectFlavor } from '@yuuvis/client-shell-core';\n\n@Component({\n selector: 'yuv-flavor-chip',\n standalone: true,\n imports: [MatIconModule, MatButtonModule],\n templateUrl: './flavor-chip.component.html',\n styleUrl: './flavor-chip.component.scss'\n})\nexport class FlavorChipComponent {\n private translate = inject(TranslateService);\n #system = inject(SystemService);\n\n flavor = input.required<ObjectFlavor>();\n\n enableRemove = input<boolean>();\n enableDescription = input<boolean>();\n\n flavorRemove = output();\n\n remove(e: MouseEvent | KeyboardEvent) {\n e.preventDefault();\n e.stopPropagation();\n this.flavorRemove.emit();\n }\n}\n","@let fo = flavor();\n\n@if (fo.icon) {\n @if (fo.svgIcon) {\n <mat-icon [svgIcon]=\"fo.icon\"></mat-icon>\n } @else {\n <mat-icon>{{ fo.icon }}</mat-icon>\n }\n} @else {\n <div class=\"empty-icon\"></div>\n}\n\n<div>\n {{ fo.name }}\n @if (enableDescription()) {\n <span class=\"description\">{{ fo.description }}</span>\n }\n</div>\n@if (enableRemove() && !flavor().preventRemove) {\n <button mat-icon-button class=\"ymt-icon-button--size-s\" (click)=\"remove($event)\">\n <mat-icon>close</mat-icon>\n </button>\n}\n","import { Component, inject, input } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { DmsObject } from '@yuuvis/client-core';\nimport { ObjectFlavor } from '@yuuvis/client-shell-core';\n\n@Component({\n selector: 'yuv-apply-object-flavor',\n standalone: true,\n imports: [],\n template: '',\n styles: ''\n})\nexport abstract class AbstractApplyObjectFlavorComponent {\n protected readonly dialogData = inject<any>(MAT_DIALOG_DATA);\n protected readonly dialogRef = inject(MatDialogRef<any>);\n // the dmsObject the flavor should be applied to\n dmsObject = input<DmsObject>(this.dialogData.dmsObject);\n // the flavor that should be applied\n flavor = input<ObjectFlavor>(this.dialogData.flavor);\n // Optional data \n data = input<any>(this.dialogData.data);\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, computed, effect, inject, signal, untracked, viewChild } from '@angular/core';\nimport { NotificationService, Situation, SystemService, TranslatePipe, TranslateService } from '@yuuvis/client-core';\n\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { BusyOverlayDirective, DialogComponent } from '@yuuvis/client-framework/common';\nimport { FormStatusChangedEvent, ObjectFormComponent, ObjectFormOptions } from '@yuuvis/client-framework/object-form';\nimport { ObjectPreviewComponent } from '@yuuvis/client-framework/object-preview';\nimport { YuvSplitViewModule } from '@yuuvis/client-framework/split-view';\nimport { ObjectFlavor, ShellService } from '@yuuvis/client-shell-core';\nimport { YmtButtonDirective } from '@yuuvis/material';\nimport { finalize } from 'rxjs/operators';\nimport { AbstractApplyObjectFlavorComponent } from '../abstract-apply-object-flavor/abstract-apply-object-flavor.component';\n\n@Component({\n selector: 'yuv-default-apply-flavor',\n imports: [\n CommonModule,\n TranslatePipe,\n MatDialogModule,\n YuvSplitViewModule,\n BusyOverlayDirective,\n ObjectFormComponent,\n ObjectPreviewComponent,\n DialogComponent,\n YmtButtonDirective\n ],\n templateUrl: './default-apply-flavor.component.html',\n styleUrl: './default-apply-flavor.component.scss'\n})\nexport class DefaultApplyFlavorComponent extends AbstractApplyObjectFlavorComponent {\n #system = inject(SystemService);\n #shell = inject(ShellService);\n #notification = inject(NotificationService);\n private translate = inject(TranslateService);\n\n objectForm = viewChild(ObjectFormComponent);\n\n flavorLabel = computed(() =>\n this.flavor().origin === 'app'\n ? this.translate.instant(this.flavor().id)\n : this.#system.getLocalizedLabel(this.flavor().id)\n );\n #flavorEffect = effect(() => {\n const f = this.flavor();\n untracked(() => {\n if (f) this.#loadForm(f);\n });\n });\n\n error = signal<boolean>(false);\n applyDisabled = signal<boolean>(true);\n busyLoading = signal<boolean>(false);\n busySaving = signal<boolean>(false);\n formOptions = signal<ObjectFormOptions | null>(null);\n\n #loadForm(f: ObjectFlavor) {\n this.busyLoading.set(true);\n this.#system\n .getObjectTypeForm(f.sot, Situation.CREATE)\n .pipe(finalize(() => this.busyLoading.set(false)))\n .subscribe({\n next: (form) => {\n this.formOptions.set({\n formModel: form,\n data: {}\n });\n }\n });\n }\n\n onFormStatusChanged(status: FormStatusChangedEvent) {\n this.applyDisabled.set(status.invalid);\n }\n\n applyFlavor() {\n const of = this.objectForm();\n const data: Record<string, unknown> = of ? of.getFormData() : {};\n\n this.busySaving.set(true);\n this.#shell\n .applyObjectFlavor(this.dmsObject(), this.flavor(), data)\n .pipe(finalize(() => this.busySaving.set(false)))\n .subscribe({\n next: () => this.close(),\n // keep the dialog open so the entered form data is not lost and the user can retry\n error: () => this.#notification.error(this.translate.instant('yuv.object-flavor.apply-flavor.error'))\n });\n }\n\n close() {\n this.dialogRef.close();\n }\n}\n","@let o = dmsObject();\n@if (o) {\n <yuv-dialog [yuvBusyOverlay]=\"busyLoading()\" [headertitel]=\"'yuv.object-flavor.apply-flavor.headline' | translate: { name: flavorLabel() }\">\n <main>\n <yuv-split-view [gutterSize]=\"1\">\n <ng-template yuvSplitArea [size]=\"60\" [visible]=\"!!o.content\">\n @if (o.content) {\n <yuv-object-preview [objectId]=\"dmsObject().id\"></yuv-object-preview>\n }\n </ng-template>\n\n <ng-template yuvSplitArea [size]=\"40\">\n <div class=\"metadata\">\n @let fo = formOptions();\n @if (fo) {\n <yuv-object-form [inert]=\"busySaving()\" [formOptions]=\"fo\" (statusChanged)=\"onFormStatusChanged($event)\"></yuv-object-form>\n }\n </div>\n </ng-template>\n </yuv-split-view>\n </main>\n <footer>\n <button ymtButton=\"secondary\" mat-dialog-close [disabled]=\"busySaving()\">{{ 'yuv.object-flavor.apply-flavor.button.cancel' | translate }}</button>\n <button ymtButton=\"primary\" [ngClass]=\"{ spinning: busySaving() }\" [disabled]=\"applyDisabled() || busySaving()\" (click)=\"applyFlavor()\">\n {{ 'yuv.object-flavor.apply-flavor.button.apply' | translate }}\n </button>\n </footer>\n </yuv-dialog>\n}\n","import { Component, inject } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';\nimport { DmsObject, NotificationService, TranslatePipe, TranslateService } from '@yuuvis/client-core';\nimport { DialogComponent } from '@yuuvis/client-framework/common';\nimport { YuvListModule } from '@yuuvis/client-framework/list';\nimport { ObjectFlavor, ShellService } from '@yuuvis/client-shell-core';\nimport { YmtButtonDirective } from '@yuuvis/material';\nimport { DefaultApplyFlavorComponent } from '../default-apply-flavor/default-apply-flavor.component';\nimport { FlavorChipComponent } from '../flavor-chip/flavor-chip.component';\n\n@Component({\n selector: 'yuv-object-flavor-picker',\n standalone: true,\n imports: [\n YuvListModule,\n DialogComponent,\n MatButtonModule,\n MatDialogModule,\n FlavorChipComponent,\n TranslatePipe,\n YmtButtonDirective\n ],\n templateUrl: './object-flavor-picker.component.html',\n styleUrl: './object-flavor-picker.component.scss',\n host: {\n '[class.cmp]': '!!applyComponent'\n }\n})\nexport class ObjectFlavorPickerComponent {\n #shell = inject(ShellService);\n #dialogData = inject<any>(MAT_DIALOG_DATA);\n #notification = inject(NotificationService);\n #translate = inject(TranslateService);\n readonly #dialogRef = inject(MatDialogRef<ObjectFlavorPickerComponent>);\n\n // TODO: This was previously not there but used as a host component class, so what the fuck?\n applyComponent = null;\n\n applicableObjectFlavors: ObjectFlavor[] = this.#dialogData.applicableFlavors;\n\n applicableFlavors: ObjectFlavor[] = this.#dialogData.applicableFlavors.sort((a: ObjectFlavor, b: ObjectFlavor) =>\n (a.name || '').localeCompare(b.name || '')\n );\n #dmsObject: DmsObject = this.#dialogData.dmsObject;\n\n itemSelected(idx: number[]) {\n const flavor = this.applicableObjectFlavors[idx[0]];\n if (this.#dmsObject && flavor)\n this.#shell\n .triggerApplyObjectFlavor(\n this.#dmsObject,\n flavor,\n undefined,\n flavor.useDefaultApplyComponent ? DefaultApplyFlavorComponent : undefined\n )\n .subscribe({\n next: () => {\n this.#dialogRef.close();\n },\n // keep the dialog open so the user sees the type was not applied and can retry\n error: () => this.#notification.error(this.#translate.instant('yuv.object-flavor.apply-flavor.error'))\n });\n }\n}\n","<yuv-dialog [headertitel]=\"'yuv.object-flavor.picker.title' | translate\">\n <main>\n <p>{{ 'yuv.object-flavor.picker.text' | translate }}</p>\n <yuv-list (itemSelect)=\"itemSelected($event)\" selectOnEnter=\"true\">\n @for (f of applicableFlavors; track $index) {\n <yuv-flavor-chip [flavor]=\"f\" [enableDescription]=\"true\" yuvListItem></yuv-flavor-chip>\n }\n </yuv-list>\n </main>\n <footer>\n <button ymtButton=\"secondary\" mat-dialog-close>{{ 'yuv.object-flavor.picker.button.cancel' | translate }}</button>\n </footer>\n</yuv-dialog>\n","import {\n Component,\n effect,\n HostAttributeToken,\n inject,\n input,\n output,\n signal,\n untracked,\n viewChild\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { DmsObject, SystemService, TranslatePipe, TranslateService } from '@yuuvis/client-core';\nimport { ConfirmService, DragScrollDirective } from '@yuuvis/client-framework/common';\nimport { ListComponent, YuvListModule } from '@yuuvis/client-framework/list';\nimport { ObjectFlavor, ShellService } from '@yuuvis/client-shell-core';\nimport { of, switchMap } from 'rxjs';\nimport { FlavorChipComponent } from '../flavor-chip/flavor-chip.component';\nimport { ObjectFlavorPickerComponent } from '../object-flavor-picker/object-flavor-picker.component';\n\n@Component({\n selector: 'yuv-object-flavor',\n standalone: true,\n imports: [\n FlavorChipComponent,\n MatTooltipModule,\n MatProgressBarModule,\n DragScrollDirective,\n MatIconModule,\n MatButtonModule,\n YuvListModule,\n TranslatePipe\n ],\n templateUrl: './object-flavor.component.html',\n styleUrl: './object-flavor.component.scss',\n host: {\n '[attr.aria-hidden]': 'hidden()',\n '[class.busy]': 'busy()',\n '[class.selection]': 'selectedIndex() > -1',\n '[class.selectionDisabled]': 'disableSelection'\n }\n})\nexport class ObjectFlavorComponent {\n #shell = inject(ShellService);\n #dialog = inject(MatDialog);\n #confirm = inject(ConfirmService);\n #system = inject(SystemService);\n private translate = inject(TranslateService);\n\n list = viewChild(ListComponent);\n\n dmsObject = input.required<DmsObject>();\n #dmsObjectEffect = effect(() => {\n const o = this.dmsObject();\n const listCmp = this.list();\n if (o)\n untracked(() => {\n this.#getAppliedFlavors(o);\n if (listCmp) listCmp.clear(true);\n });\n });\n\n flavorSelect = output<ObjectFlavor | undefined>();\n\n appliedFlavors: ObjectFlavor[] = [];\n applicableFlavors: ObjectFlavor[] = [];\n\n hidden = signal<boolean>(false);\n busy = signal<boolean>(false);\n\n selectedIndex = signal<number>(-1);\n\n disableSelection: boolean =\n (inject(new HostAttributeToken('disableSelection'), { optional: true }) || 'false') === 'true';\n\n clearSelection() {\n const listCmp = this.list();\n if (listCmp) listCmp.clear();\n this.selectedIndex.set(-1);\n this.flavorSelect.emit(undefined);\n }\n\n onItemsSelect(idx: number[]) {\n const ci = idx[0];\n this.selectedIndex.set(ci);\n this.flavorSelect.emit(this.appliedFlavors[ci]);\n }\n\n startApplyFlavor() {\n this.#dialog.open(ObjectFlavorPickerComponent, {\n data: {\n applicableFlavors: this.applicableFlavors,\n dmsObject: structuredClone(this.dmsObject())\n }\n });\n }\n\n removeFlavor(flavor: ObjectFlavor, index: number) {\n if (flavor.preventRemove) return;\n const o = this.dmsObject();\n if (o) {\n this.busy.set(true);\n this.#confirm\n .confirm({\n title: this.translate.instant('yuv.shell.action.manage-flavors.applicable.button.remove.tooltip'),\n message: this.translate.instant('yuv.object-flavor.flavor.remove.confirm.message', {\n flavor: this.#shell.getFlavorLabel(flavor.id)\n }),\n confirmLabel: this.translate.instant('yuv.shell.action.manage-flavors.button.remove')\n })\n .pipe(\n switchMap((confirmed: boolean) => (confirmed ? this.#shell.removeObjectFlavor(o, flavor) : of(undefined)))\n )\n .subscribe({\n next: () => {\n if (index === this.selectedIndex() || !this.appliedFlavors.length) this.clearSelection();\n this.busy.set(false);\n },\n error: () => {\n // TODO: error handling\n this.busy.set(false);\n }\n });\n }\n }\n\n #getAppliedFlavors(dmsObject: DmsObject) {\n const res = this.#shell.getAppliedObjectFlavors(dmsObject);\n this.appliedFlavors = res.applied;\n this.applicableFlavors = res.applicable;\n this.hidden.set(this.applicableFlavors.length === 0 && this.appliedFlavors.length === 0);\n }\n}\n","\n<div class=\"object-flavor\">\n <span class=\"label\">{{ 'yuv.object-flavor.label' | translate }}</span>\n@if (applicableFlavors.length) {\n <button mat-icon-button class=\"add ymt-icon-button--size-s secondary\"\n [matTooltip]=\"'yuv.object-flavor.button.add' | translate\" (click)=\"startApplyFlavor()\">\n <mat-icon>add</mat-icon>\n </button>\n}\n</div>\n@if (appliedFlavors.length) {\n <yuv-list horizontal=\"true\" [disableSelection]=\"disableSelection\" (itemSelect)=\"onItemsSelect($event)\" yuvDragScroll>\n @for (f of appliedFlavors; track f.id) {\n <yuv-flavor-chip yuvListItem [flavor]=\"f\" [enableRemove]=\"true\" (flavorRemove)=\"removeFlavor(f, $index)\"></yuv-flavor-chip>\n }\n </yuv-list>\n}\n<button mat-icon-button class=\"clear\" [matTooltip]=\"'yuv.object-flavor.button.clear-selection' | translate\" (click)=\"clearSelection()\">\n <mat-icon>close</mat-icon>\n</button>\n\n@if (busy()) {\n <mat-progress-bar mode=\"indeterminate\" class=\"progress-bar\"></mat-progress-bar>\n}\n","\nimport { Component, inject, output, signal } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { ObjectCreateFlavor } from '@yuuvis/client-core';\n\n@Component({\n selector: 'yuv-abstract-apply-create-flavor',\n standalone: true,\n imports: [],\n template: ''\n})\nexport abstract class AbstractApplyCreateFlavorComponent {\n #dialogData = inject<any>(MAT_DIALOG_DATA);\n readonly #dialogRef = inject(MatDialogRef<any>);\n createdObjectIDs = signal<string[]>(this.#dialogData.createdObjectIDs);\n flavor = signal<ObjectCreateFlavor>(this.#dialogData.flavor);\n data = signal<any>(this.#dialogData.data);\n cancel = output();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3","i4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"yuuvis-client-framework-object-flavor.mjs","sources":["../../../../../libs/yuuvis/client-framework/object-flavor/src/lib/flavor-chip/flavor-chip.component.ts","../../../../../libs/yuuvis/client-framework/object-flavor/src/lib/flavor-chip/flavor-chip.component.html","../../../../../libs/yuuvis/client-framework/object-flavor/src/lib/abstract-apply-object-flavor/abstract-apply-object-flavor.component.ts","../../../../../libs/yuuvis/client-framework/object-flavor/src/lib/default-apply-flavor/default-apply-flavor.component.ts","../../../../../libs/yuuvis/client-framework/object-flavor/src/lib/default-apply-flavor/default-apply-flavor.component.html","../../../../../libs/yuuvis/client-framework/object-flavor/src/lib/object-flavor-picker/object-flavor-picker.component.ts","../../../../../libs/yuuvis/client-framework/object-flavor/src/lib/object-flavor-picker/object-flavor-picker.component.html","../../../../../libs/yuuvis/client-framework/object-flavor/src/lib/object-flavor/object-flavor.component.ts","../../../../../libs/yuuvis/client-framework/object-flavor/src/lib/object-flavor/object-flavor.component.html","../../../../../libs/yuuvis/client-framework/object-flavor/src/lib/abstract-apply-create-flavor/abstract-apply-create-flavor.component.ts","../../../../../libs/yuuvis/client-framework/object-flavor/src/yuuvis-client-framework-object-flavor.ts"],"sourcesContent":["import { Component, inject, input, output } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { SystemService, TranslateService } from '@yuuvis/client-core';\nimport { ObjectFlavor } from '@yuuvis/client-shell-core';\n\n@Component({\n selector: 'yuv-flavor-chip',\n standalone: true,\n imports: [MatIconModule, MatButtonModule],\n templateUrl: './flavor-chip.component.html',\n styleUrl: './flavor-chip.component.scss'\n})\nexport class FlavorChipComponent {\n private translate = inject(TranslateService);\n #system = inject(SystemService);\n\n flavor = input.required<ObjectFlavor>();\n\n enableRemove = input<boolean>();\n enableDescription = input<boolean>();\n\n flavorRemove = output();\n\n remove(e: MouseEvent | KeyboardEvent) {\n e.preventDefault();\n e.stopPropagation();\n this.flavorRemove.emit();\n }\n}\n","@let fo = flavor();\n\n@if (fo.icon) {\n @if (fo.svgIcon) {\n <mat-icon [svgIcon]=\"fo.icon\"></mat-icon>\n } @else {\n <mat-icon>{{ fo.icon }}</mat-icon>\n }\n} @else {\n <div class=\"empty-icon\"></div>\n}\n\n<div>\n {{ fo.name }}\n @if (enableDescription()) {\n <span class=\"description\">{{ fo.description }}</span>\n }\n</div>\n@if (enableRemove() && !flavor().preventRemove) {\n <button mat-icon-button class=\"ymt-icon-button--size-s\" (click)=\"remove($event)\">\n <mat-icon>close</mat-icon>\n </button>\n}\n","import { Component, inject, input } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { DmsObject } from '@yuuvis/client-core';\nimport { ObjectFlavor } from '@yuuvis/client-shell-core';\n\n@Component({\n selector: 'yuv-apply-object-flavor',\n standalone: true,\n imports: [],\n template: '',\n styles: ''\n})\nexport abstract class AbstractApplyObjectFlavorComponent {\n protected readonly dialogData = inject<any>(MAT_DIALOG_DATA);\n protected readonly dialogRef = inject(MatDialogRef<any>);\n // the dmsObject the flavor should be applied to\n dmsObject = input<DmsObject>(this.dialogData.dmsObject);\n // the flavor that should be applied\n flavor = input<ObjectFlavor>(this.dialogData.flavor);\n // Optional data \n data = input<any>(this.dialogData.data);\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, computed, effect, inject, signal, untracked, viewChild } from '@angular/core';\nimport { NotificationService, Situation, SystemService, TranslatePipe, TranslateService } from '@yuuvis/client-core';\n\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { BusyOverlayDirective, DialogComponent } from '@yuuvis/client-framework/common';\nimport { FormStatusChangedEvent, ObjectFormComponent, ObjectFormOptions } from '@yuuvis/client-framework/object-form';\nimport { ObjectPreviewComponent } from '@yuuvis/client-framework/object-preview';\nimport { YuvSplitViewModule } from '@yuuvis/client-framework/split-view';\nimport { ObjectFlavor, ShellService } from '@yuuvis/client-shell-core';\nimport { YmtButtonDirective } from '@yuuvis/material';\nimport { finalize } from 'rxjs/operators';\nimport { AbstractApplyObjectFlavorComponent } from '../abstract-apply-object-flavor/abstract-apply-object-flavor.component';\n\n@Component({\n selector: 'yuv-default-apply-flavor',\n imports: [\n CommonModule,\n TranslatePipe,\n MatDialogModule,\n YuvSplitViewModule,\n BusyOverlayDirective,\n ObjectFormComponent,\n ObjectPreviewComponent,\n DialogComponent,\n YmtButtonDirective\n ],\n templateUrl: './default-apply-flavor.component.html',\n styleUrl: './default-apply-flavor.component.scss'\n})\nexport class DefaultApplyFlavorComponent extends AbstractApplyObjectFlavorComponent {\n #system = inject(SystemService);\n #shell = inject(ShellService);\n #notification = inject(NotificationService);\n private translate = inject(TranslateService);\n\n objectForm = viewChild(ObjectFormComponent);\n\n flavorLabel = computed(() =>\n this.flavor().origin === 'app'\n ? this.translate.instant(this.flavor().id)\n : this.#system.getLocalizedLabel(this.flavor().id)\n );\n #flavorEffect = effect(() => {\n const f = this.flavor();\n untracked(() => {\n if (f) this.#loadForm(f);\n });\n });\n\n error = signal<boolean>(false);\n applyDisabled = signal<boolean>(true);\n busyLoading = signal<boolean>(false);\n busySaving = signal<boolean>(false);\n formOptions = signal<ObjectFormOptions | null>(null);\n\n #loadForm(f: ObjectFlavor) {\n this.busyLoading.set(true);\n this.#system\n .getObjectTypeForm(f.sot, Situation.CREATE)\n .pipe(finalize(() => this.busyLoading.set(false)))\n .subscribe({\n next: (form) => {\n this.formOptions.set({\n formModel: form,\n data: {},\n objectTypeId: f.sot\n });\n }\n });\n }\n\n onFormStatusChanged(status: FormStatusChangedEvent) {\n this.applyDisabled.set(status.invalid);\n }\n\n applyFlavor() {\n const of = this.objectForm();\n const data: Record<string, unknown> = of ? of.getFormData() : {};\n\n this.busySaving.set(true);\n this.#shell\n .applyObjectFlavor(this.dmsObject(), this.flavor(), data)\n .pipe(finalize(() => this.busySaving.set(false)))\n .subscribe({\n next: () => this.close(),\n // keep the dialog open so the entered form data is not lost and the user can retry\n error: () => this.#notification.error(this.translate.instant('yuv.object-flavor.apply-flavor.error'))\n });\n }\n\n close() {\n this.dialogRef.close();\n }\n}\n","@let o = dmsObject();\n@if (o) {\n <yuv-dialog [yuvBusyOverlay]=\"busyLoading()\" [headertitel]=\"'yuv.object-flavor.apply-flavor.headline' | translate: { name: flavorLabel() }\">\n <main>\n <yuv-split-view [gutterSize]=\"1\">\n <ng-template yuvSplitArea [size]=\"60\" [visible]=\"!!o.content\">\n @if (o.content) {\n <yuv-object-preview [objectId]=\"dmsObject().id\"></yuv-object-preview>\n }\n </ng-template>\n\n <ng-template yuvSplitArea [size]=\"40\">\n <div class=\"metadata\">\n @let fo = formOptions();\n @if (fo) {\n <yuv-object-form [inert]=\"busySaving()\" [formOptions]=\"fo\" (statusChanged)=\"onFormStatusChanged($event)\"></yuv-object-form>\n }\n </div>\n </ng-template>\n </yuv-split-view>\n </main>\n <footer>\n <button ymtButton=\"secondary\" mat-dialog-close [disabled]=\"busySaving()\">{{ 'yuv.object-flavor.apply-flavor.button.cancel' | translate }}</button>\n <button ymtButton=\"primary\" [ngClass]=\"{ spinning: busySaving() }\" [disabled]=\"applyDisabled() || busySaving()\" (click)=\"applyFlavor()\">\n {{ 'yuv.object-flavor.apply-flavor.button.apply' | translate }}\n </button>\n </footer>\n </yuv-dialog>\n}\n","import { Component, inject } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';\nimport { DmsObject, NotificationService, TranslatePipe, TranslateService } from '@yuuvis/client-core';\nimport { DialogComponent } from '@yuuvis/client-framework/common';\nimport { YuvListModule } from '@yuuvis/client-framework/list';\nimport { ObjectFlavor, ShellService } from '@yuuvis/client-shell-core';\nimport { YmtButtonDirective } from '@yuuvis/material';\nimport { DefaultApplyFlavorComponent } from '../default-apply-flavor/default-apply-flavor.component';\nimport { FlavorChipComponent } from '../flavor-chip/flavor-chip.component';\n\n@Component({\n selector: 'yuv-object-flavor-picker',\n standalone: true,\n imports: [\n YuvListModule,\n DialogComponent,\n MatButtonModule,\n MatDialogModule,\n FlavorChipComponent,\n TranslatePipe,\n YmtButtonDirective\n ],\n templateUrl: './object-flavor-picker.component.html',\n styleUrl: './object-flavor-picker.component.scss',\n host: {\n '[class.cmp]': '!!applyComponent'\n }\n})\nexport class ObjectFlavorPickerComponent {\n #shell = inject(ShellService);\n #dialogData = inject<any>(MAT_DIALOG_DATA);\n #notification = inject(NotificationService);\n #translate = inject(TranslateService);\n readonly #dialogRef = inject(MatDialogRef<ObjectFlavorPickerComponent>);\n\n // TODO: This was previously not there but used as a host component class, so what the fuck?\n applyComponent = null;\n\n applicableObjectFlavors: ObjectFlavor[] = this.#dialogData.applicableFlavors;\n\n applicableFlavors: ObjectFlavor[] = this.#dialogData.applicableFlavors.sort((a: ObjectFlavor, b: ObjectFlavor) =>\n (a.name || '').localeCompare(b.name || '')\n );\n #dmsObject: DmsObject = this.#dialogData.dmsObject;\n\n itemSelected(idx: number[]) {\n const flavor = this.applicableObjectFlavors[idx[0]];\n if (this.#dmsObject && flavor)\n this.#shell\n .triggerApplyObjectFlavor(\n this.#dmsObject,\n flavor,\n undefined,\n flavor.useDefaultApplyComponent ? DefaultApplyFlavorComponent : undefined\n )\n .subscribe({\n next: () => {\n this.#dialogRef.close();\n },\n // keep the dialog open so the user sees the type was not applied and can retry\n error: () => this.#notification.error(this.#translate.instant('yuv.object-flavor.apply-flavor.error'))\n });\n }\n}\n","<yuv-dialog [headertitel]=\"'yuv.object-flavor.picker.title' | translate\">\n <main>\n <p>{{ 'yuv.object-flavor.picker.text' | translate }}</p>\n <yuv-list (itemSelect)=\"itemSelected($event)\" selectOnEnter=\"true\">\n @for (f of applicableFlavors; track $index) {\n <yuv-flavor-chip [flavor]=\"f\" [enableDescription]=\"true\" yuvListItem></yuv-flavor-chip>\n }\n </yuv-list>\n </main>\n <footer>\n <button ymtButton=\"secondary\" mat-dialog-close>{{ 'yuv.object-flavor.picker.button.cancel' | translate }}</button>\n </footer>\n</yuv-dialog>\n","import {\n Component,\n effect,\n HostAttributeToken,\n inject,\n input,\n output,\n signal,\n untracked,\n viewChild\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { DmsObject, SystemService, TranslatePipe, TranslateService } from '@yuuvis/client-core';\nimport { ConfirmService, DragScrollDirective } from '@yuuvis/client-framework/common';\nimport { ListComponent, YuvListModule } from '@yuuvis/client-framework/list';\nimport { ObjectFlavor, ShellService } from '@yuuvis/client-shell-core';\nimport { of, switchMap } from 'rxjs';\nimport { FlavorChipComponent } from '../flavor-chip/flavor-chip.component';\nimport { ObjectFlavorPickerComponent } from '../object-flavor-picker/object-flavor-picker.component';\n\n@Component({\n selector: 'yuv-object-flavor',\n standalone: true,\n imports: [\n FlavorChipComponent,\n MatTooltipModule,\n MatProgressBarModule,\n DragScrollDirective,\n MatIconModule,\n MatButtonModule,\n YuvListModule,\n TranslatePipe\n ],\n templateUrl: './object-flavor.component.html',\n styleUrl: './object-flavor.component.scss',\n host: {\n '[attr.aria-hidden]': 'hidden()',\n '[class.busy]': 'busy()',\n '[class.selection]': 'selectedIndex() > -1',\n '[class.selectionDisabled]': 'disableSelection'\n }\n})\nexport class ObjectFlavorComponent {\n #shell = inject(ShellService);\n #dialog = inject(MatDialog);\n #confirm = inject(ConfirmService);\n #system = inject(SystemService);\n private translate = inject(TranslateService);\n\n list = viewChild(ListComponent);\n\n dmsObject = input.required<DmsObject>();\n #dmsObjectEffect = effect(() => {\n const o = this.dmsObject();\n const listCmp = this.list();\n if (o)\n untracked(() => {\n this.#getAppliedFlavors(o);\n if (listCmp) listCmp.clear(true);\n });\n });\n\n flavorSelect = output<ObjectFlavor | undefined>();\n\n appliedFlavors: ObjectFlavor[] = [];\n applicableFlavors: ObjectFlavor[] = [];\n\n hidden = signal<boolean>(false);\n busy = signal<boolean>(false);\n\n selectedIndex = signal<number>(-1);\n\n disableSelection: boolean =\n (inject(new HostAttributeToken('disableSelection'), { optional: true }) || 'false') === 'true';\n\n clearSelection() {\n const listCmp = this.list();\n if (listCmp) listCmp.clear();\n this.selectedIndex.set(-1);\n this.flavorSelect.emit(undefined);\n }\n\n onItemsSelect(idx: number[]) {\n const ci = idx[0];\n this.selectedIndex.set(ci);\n this.flavorSelect.emit(this.appliedFlavors[ci]);\n }\n\n startApplyFlavor() {\n this.#dialog.open(ObjectFlavorPickerComponent, {\n data: {\n applicableFlavors: this.applicableFlavors,\n dmsObject: structuredClone(this.dmsObject())\n }\n });\n }\n\n removeFlavor(flavor: ObjectFlavor, index: number) {\n if (flavor.preventRemove) return;\n const o = this.dmsObject();\n if (o) {\n this.busy.set(true);\n this.#confirm\n .confirm({\n title: this.translate.instant('yuv.shell.action.manage-flavors.applicable.button.remove.tooltip'),\n message: this.translate.instant('yuv.object-flavor.flavor.remove.confirm.message', {\n flavor: this.#shell.getFlavorLabel(flavor.id)\n }),\n confirmLabel: this.translate.instant('yuv.shell.action.manage-flavors.button.remove')\n })\n .pipe(\n switchMap((confirmed: boolean) => (confirmed ? this.#shell.removeObjectFlavor(o, flavor) : of(undefined)))\n )\n .subscribe({\n next: () => {\n if (index === this.selectedIndex() || !this.appliedFlavors.length) this.clearSelection();\n this.busy.set(false);\n },\n error: () => {\n // TODO: error handling\n this.busy.set(false);\n }\n });\n }\n }\n\n #getAppliedFlavors(dmsObject: DmsObject) {\n const res = this.#shell.getAppliedObjectFlavors(dmsObject);\n this.appliedFlavors = res.applied;\n this.applicableFlavors = res.applicable;\n this.hidden.set(this.applicableFlavors.length === 0 && this.appliedFlavors.length === 0);\n }\n}\n","\n<div class=\"object-flavor\">\n <span class=\"label\">{{ 'yuv.object-flavor.label' | translate }}</span>\n@if (applicableFlavors.length) {\n <button mat-icon-button class=\"add ymt-icon-button--size-s secondary\"\n [matTooltip]=\"'yuv.object-flavor.button.add' | translate\" (click)=\"startApplyFlavor()\">\n <mat-icon>add</mat-icon>\n </button>\n}\n</div>\n@if (appliedFlavors.length) {\n <yuv-list horizontal=\"true\" [disableSelection]=\"disableSelection\" (itemSelect)=\"onItemsSelect($event)\" yuvDragScroll>\n @for (f of appliedFlavors; track f.id) {\n <yuv-flavor-chip yuvListItem [flavor]=\"f\" [enableRemove]=\"true\" (flavorRemove)=\"removeFlavor(f, $index)\"></yuv-flavor-chip>\n }\n </yuv-list>\n}\n<button mat-icon-button class=\"clear\" [matTooltip]=\"'yuv.object-flavor.button.clear-selection' | translate\" (click)=\"clearSelection()\">\n <mat-icon>close</mat-icon>\n</button>\n\n@if (busy()) {\n <mat-progress-bar mode=\"indeterminate\" class=\"progress-bar\"></mat-progress-bar>\n}\n","\nimport { Component, inject, output, signal } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { ObjectCreateFlavor } from '@yuuvis/client-core';\n\n@Component({\n selector: 'yuv-abstract-apply-create-flavor',\n standalone: true,\n imports: [],\n template: ''\n})\nexport abstract class AbstractApplyCreateFlavorComponent {\n #dialogData = inject<any>(MAT_DIALOG_DATA);\n readonly #dialogRef = inject(MatDialogRef<any>);\n createdObjectIDs = signal<string[]>(this.#dialogData.createdObjectIDs);\n flavor = signal<ObjectCreateFlavor>(this.#dialogData.flavor);\n data = signal<any>(this.#dialogData.data);\n cancel = output();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3","i4"],"mappings":"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"}
|
|
@@ -1444,7 +1444,9 @@ class ObjectFormComponent {
|
|
|
1444
1444
|
// catalog-backed string renders as a catalog dropdown bound to its catalog id
|
|
1445
1445
|
// instead of a plain text input. The form payload stays authoritative when it
|
|
1446
1446
|
// does provide these values.
|
|
1447
|
-
|
|
1447
|
+
// Resolved in the context of the form's own type: a type may bind a shared property
|
|
1448
|
+
// to its own catalog, and that override only exists on the type's resolved fields.
|
|
1449
|
+
const schemaField = this.#systemService.getObjectTypeField(formElement.name, fo.objectTypeId ?? fo.formModel?.id);
|
|
1448
1450
|
if (schemaField) {
|
|
1449
1451
|
formElement.catalog ??= schemaField.catalog;
|
|
1450
1452
|
formElement.classifications ??= schemaField.classifications;
|