@yuuvis/client-framework 3.8.1 → 3.8.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"yuuvis-client-framework-object-versions.mjs","sources":["../../../../../libs/yuuvis/client-framework/object-versions/src/lib/object-versions.component.ts","../../../../../libs/yuuvis/client-framework/object-versions/src/lib/object-versions.component.html","../../../../../libs/yuuvis/client-framework/object-versions/src/lib/object-versions.module.ts","../../../../../libs/yuuvis/client-framework/object-versions/src/yuuvis-client-framework-object-versions.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/member-ordering */\nimport { Component, computed, effect, inject, input, output, signal, untracked, viewChild } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport {\n DmsObject,\n DmsService,\n LocaleDatePipe,\n ObjectLockingService,\n TranslatePipe,\n TranslateService,\n VirtualObjectType\n} from '@yuuvis/client-core';\nimport { BusyOverlayDirective, ConfirmService, LayoutSettingsService } from '@yuuvis/client-framework/common';\nimport { ListComponent, YuvListModule } from '@yuuvis/client-framework/list';\nimport { ObjectDetailsHeaderComponent } from '@yuuvis/client-framework/object-details';\nimport { ObjectPreviewComponent } from '@yuuvis/client-framework/object-preview';\nimport { ObjectSummaryDataComponent } from '@yuuvis/client-framework/object-summary';\nimport { YuvSplitViewModule } from '@yuuvis/client-framework/split-view';\nimport { Metadata } from '@yuuvis/media-viewer';\nimport { finalize, switchMap } from 'rxjs';\n\n@Component({\n selector: 'yuv-object-versions',\n imports: [\n YuvSplitViewModule,\n TranslatePipe,\n ObjectPreviewComponent,\n ObjectDetailsHeaderComponent,\n YuvListModule,\n BusyOverlayDirective,\n ObjectSummaryDataComponent,\n MatTabsModule,\n MatIconModule,\n MatButtonModule,\n MatTooltipModule,\n LocaleDatePipe\n ],\n templateUrl: './object-versions.component.html',\n styleUrl: './object-versions.component.scss'\n})\nexport class ObjectVersionsComponent {\n readonly #layoutSettingsService = inject(LayoutSettingsService);\n readonly #dmsService = inject(DmsService);\n readonly #confirm = inject(ConfirmService);\n readonly #objectLocking = inject(ObjectLockingService);\n\n private translate = inject(TranslateService);\n\n versionList = viewChild(ListComponent);\n #versionListEffect = effect(() => {\n const list = this.versionList();\n if (list) setTimeout(() => list.focus(), 100);\n this.#preSelect();\n });\n\n dmsObject = input.required<DmsObject>();\n #dmsObjectEffect = effect(() => {\n const obj = this.dmsObject();\n this.#fetchVersions(obj);\n });\n\n /**\n * Object type to use for retrieving header data\n */\n type = input.required<VirtualObjectType>();\n /**\n * If the object config for the given type has been stored in a certain bucket, this\n * bucket can be provided here. If no bucket is set, the config will be retrieved\n * from the main object config\n */\n objectConfigBucket = input<string | undefined>(undefined);\n\n objectRestored = output<number>();\n\n splitGutterSize = this.#layoutSettingsService.DEFAULT_SPLIT_VIEW_GUTTER_SIZE;\n busy = signal<boolean>(false);\n versions = signal<DmsObject[]>([]);\n #versionsEffect = effect(() => {\n this.versions();\n untracked(() => {\n this.#preSelect();\n });\n });\n selectedVersion = signal<DmsObject | undefined>(undefined);\n error = signal<string | undefined>(undefined);\n\n selectedIndex = signal<number | null>(null);\n isCurrentVersion = computed(() => {\n const index = this.selectedIndex();\n return index === 0;\n });\n\n documentLockedByOther = computed(() => {\n const lockState = this.#objectLocking.getLockState(this.dmsObject());\n return lockState.locked && !lockState.lockedByCurrentUser;\n });\n\n metadata: Partial<Metadata> = {\n editable: false\n };\n\n #preSelect() {\n const vl = this.versionList();\n if (vl && !this.selectedVersion()) {\n vl.select(0);\n }\n }\n\n itemSelected(selectedIndex: number[]) {\n const idx = selectedIndex[0];\n this.selectedIndex.set(idx);\n this.selectedVersion.set(this.versions()[idx]);\n }\n\n downloadCurrentVersion() {\n const o = this.selectedVersion();\n if (o) this.#dmsService.downloadContent([o], true);\n }\n\n restoreCurrentVersion() {\n const o = this.selectedVersion();\n\n if (o) {\n this.#confirm\n .confirm({\n title: this.translate.instant('yuv.object-versions.actions.restore'),\n message: this.translate.instant('yuv.object-versions.actions.restore.confirm.message', {\n version: o.version\n })\n })\n .subscribe((confirmed: boolean) => {\n if (confirmed) this.#executeRestoreCurrentVersion(o);\n });\n }\n }\n\n #executeRestoreCurrentVersion(version: DmsObject) {\n this.busy.set(true);\n this.#dmsService\n .restoreDmsObject(version.id, version.version)\n .pipe(\n switchMap((dmsObject: DmsObject) => this.#dmsService.getDmsObjectVersions(dmsObject.id)),\n finalize(() => this.busy.set(false))\n )\n .subscribe({\n next: (versions: DmsObject[]) => {\n this.versions.set(versions);\n this.versionList()?.select(0);\n this.objectRestored.emit(version.version);\n }\n });\n }\n\n #fetchVersions(dmsObject: DmsObject) {\n // if the dms object only has one version we do not need to ask the backend\n if (dmsObject.version === 1) {\n this.versions.set([dmsObject]);\n } else {\n this.busy.set(true);\n this.#dmsService\n .getDmsObjectVersions(dmsObject.id)\n .pipe(finalize(() => this.busy.set(false)))\n .subscribe({\n next: (versions: DmsObject[]) => {\n this.versions.set(versions);\n },\n error: (e) => {\n this.error.set(this.translate.instant('yuv.object-versions.error.fetch-versions'));\n console.error(e);\n }\n });\n }\n }\n}\n","@let err = error();\n@if (!err) {\n <yuv-split-view [gutterSize]=\"splitGutterSize\" layoutSettingsID=\"yuv.object-versions.split\">\n <!-- version details -->\n <ng-template yuvSplitArea [size]=\"60\">\n <div class=\"version-details ymt-panel\" [yuvBusyOverlay]=\"busy()\">\n @let selected = selectedVersion();\n @if (selected) {\n <ng-template #headerActions>\n <button\n mat-icon-button\n (click)=\"downloadCurrentVersion()\"\n [matTooltip]=\"'yuv.object-versions.actions.download' | translate\"\n >\n <mat-icon>download</mat-icon>\n </button>\n <button\n mat-icon-button\n (click)=\"restoreCurrentVersion()\"\n [disabled]=\"documentLockedByOther() || isCurrentVersion()\"\n [matTooltip]=\"'yuv.object-versions.actions.restore' | translate\"\n >\n <mat-icon>restore_page</mat-icon>\n </button>\n </ng-template>\n\n <yuv-object-details-header\n [dmsObject]=\"selected\"\n [type]=\"type()\"\n [bucket]=\"objectConfigBucket()\"\n [actions]=\"headerActions\"\n />\n\n <mat-tab-group class=\"version-tabs\">\n <mat-tab [label]=\"'yuv.object-versions.tabs.content.title' | translate\">\n <ng-template matTabContent>\n <yuv-object-preview [metadata]=\"metadata\" [dmsObject]=\"selected\" [version]=\"selected.version\" />\n </ng-template>\n </mat-tab>\n <mat-tab [label]=\"'yuv.object-versions.tabs.indexdata.title' | translate\">\n <ng-template matTabContent>\n <div class=\"metadata\">\n <yuv-object-summary-data [dmsObject]=\"selected\" [showAppliedFlavors]=\"true\" />\n </div>\n </ng-template> </mat-tab\n ></mat-tab-group>\n }\n </div>\n </ng-template>\n\n <!-- versions list -->\n <ng-template yuvSplitArea [size]=\"40\">\n <div class=\"version-list ymt-panel\">\n <yuv-list selectOnEnter=\"true\" (itemSelect)=\"itemSelected($event)\">\n @for (v of versions(); track v.version) {\n <div class=\"version\" yuvListItem>\n <div class=\"label\">{{ 'yuv.object-versions.list.version' | translate: { version: v.version } }}</div>\n\n <span class=\"modified-on\">{{ v.modified.on | localeDate }}</span>\n <span class=\"modified-by\">{{ v.modified.by.title }}</span>\n </div>\n }\n </yuv-list>\n </div>\n </ng-template>\n </yuv-split-view>\n} @else {\n <div class=\"error\">\n <p>{{ err }}</p>\n </div>\n}\n","import { NgModule } from '@angular/core';\nimport { ObjectVersionsComponent } from './object-versions.component';\n\nconst cmp = [ObjectVersionsComponent];\n@NgModule({\n imports: cmp,\n exports: cmp\n})\nexport class YuvObjectVersionsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yuuvis-client-framework-object-versions.mjs","sources":["../../../../../libs/yuuvis/client-framework/object-versions/src/lib/object-versions.component.ts","../../../../../libs/yuuvis/client-framework/object-versions/src/lib/object-versions.component.html","../../../../../libs/yuuvis/client-framework/object-versions/src/lib/object-versions.module.ts","../../../../../libs/yuuvis/client-framework/object-versions/src/yuuvis-client-framework-object-versions.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/member-ordering */\nimport { Component, computed, effect, inject, input, output, signal, untracked, viewChild } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport {\n DmsObject,\n DmsService,\n LocaleDatePipe,\n ObjectLockingService,\n TranslatePipe,\n TranslateService,\n VirtualObjectType\n} from '@yuuvis/client-core';\nimport { BusyOverlayDirective, ConfirmService, LayoutSettingsService } from '@yuuvis/client-framework/common';\nimport { ListComponent, YuvListModule } from '@yuuvis/client-framework/list';\nimport { ObjectDetailsHeaderComponent } from '@yuuvis/client-framework/object-details';\nimport { ObjectPreviewComponent } from '@yuuvis/client-framework/object-preview';\nimport { ObjectSummaryDataComponent } from '@yuuvis/client-framework/object-summary';\nimport { YuvSplitViewModule } from '@yuuvis/client-framework/split-view';\nimport { Metadata } from '@yuuvis/media-viewer';\nimport { finalize, switchMap } from 'rxjs';\n\n@Component({\n selector: 'yuv-object-versions',\n imports: [\n YuvSplitViewModule,\n TranslatePipe,\n ObjectPreviewComponent,\n ObjectDetailsHeaderComponent,\n YuvListModule,\n BusyOverlayDirective,\n ObjectSummaryDataComponent,\n MatTabsModule,\n MatIconModule,\n MatButtonModule,\n MatTooltipModule,\n LocaleDatePipe\n ],\n templateUrl: './object-versions.component.html',\n styleUrl: './object-versions.component.scss'\n})\nexport class ObjectVersionsComponent {\n readonly #layoutSettingsService = inject(LayoutSettingsService);\n readonly #dmsService = inject(DmsService);\n readonly #confirm = inject(ConfirmService);\n readonly #objectLocking = inject(ObjectLockingService);\n\n private translate = inject(TranslateService);\n\n versionList = viewChild(ListComponent);\n #versionListEffect = effect(() => {\n const list = this.versionList();\n if (list) setTimeout(() => list.focus(), 100);\n this.#preSelect();\n });\n\n dmsObject = input.required<DmsObject>();\n #dmsObjectEffect = effect(() => {\n const obj = this.dmsObject();\n this.#fetchVersions(obj);\n });\n\n /**\n * Object type to use for retrieving header data\n */\n type = input.required<VirtualObjectType>();\n /**\n * If the object config for the given type has been stored in a certain bucket, this\n * bucket can be provided here. If no bucket is set, the config will be retrieved\n * from the main object config\n */\n objectConfigBucket = input<string | undefined>(undefined);\n\n objectRestored = output<number>();\n\n splitGutterSize = this.#layoutSettingsService.DEFAULT_SPLIT_VIEW_GUTTER_SIZE;\n busy = signal<boolean>(false);\n versions = signal<DmsObject[]>([]);\n #versionsEffect = effect(() => {\n this.versions();\n untracked(() => {\n this.#preSelect();\n });\n });\n selectedVersion = signal<DmsObject | undefined>(undefined);\n error = signal<string | undefined>(undefined);\n\n selectedIndex = signal<number | null>(null);\n isCurrentVersion = computed(() => {\n const index = this.selectedIndex();\n return index === 0;\n });\n\n documentLockedByOther = computed(() => {\n const lockState = this.#objectLocking.getLockState(this.dmsObject());\n return lockState.locked && !lockState.lockedByCurrentUser;\n });\n\n metadata: Partial<Metadata> = {\n editable: false\n };\n\n #preSelect() {\n const vl = this.versionList();\n if (vl && !this.selectedVersion()) {\n vl.select(0);\n }\n }\n\n itemSelected(selectedIndex: number[]) {\n const idx = selectedIndex[0];\n this.selectedIndex.set(idx);\n this.selectedVersion.set(this.versions()[idx]);\n\n console.log({ idx, selectedIndex });\n console.log(this.selectedVersion());\n }\n\n downloadCurrentVersion() {\n const o = this.selectedVersion();\n if (o) this.#dmsService.downloadContent([o], true);\n }\n\n restoreCurrentVersion() {\n const o = this.selectedVersion();\n\n if (o) {\n this.#confirm\n .confirm({\n title: this.translate.instant('yuv.object-versions.actions.restore'),\n message: this.translate.instant('yuv.object-versions.actions.restore.confirm.message', {\n version: o.version\n })\n })\n .subscribe((confirmed: boolean) => {\n if (confirmed) this.#executeRestoreCurrentVersion(o);\n });\n }\n }\n\n #executeRestoreCurrentVersion(version: DmsObject) {\n this.busy.set(true);\n this.#dmsService\n .restoreDmsObject(version.id, version.version)\n .pipe(\n switchMap((dmsObject: DmsObject) => this.#dmsService.getDmsObjectVersions(dmsObject.id)),\n finalize(() => this.busy.set(false))\n )\n .subscribe({\n next: (versions: DmsObject[]) => {\n this.versions.set(versions);\n this.versionList()?.select(0);\n this.objectRestored.emit(version.version);\n }\n });\n }\n\n #fetchVersions(dmsObject: DmsObject) {\n // if the dms object only has one version we do not need to ask the backend\n if (dmsObject.version === 1) {\n this.versions.set([dmsObject]);\n } else {\n this.busy.set(true);\n this.#dmsService\n .getDmsObjectVersions(dmsObject.id)\n .pipe(finalize(() => this.busy.set(false)))\n .subscribe({\n next: (versions: DmsObject[]) => {\n this.versions.set(versions);\n },\n error: (e) => {\n this.error.set(this.translate.instant('yuv.object-versions.error.fetch-versions'));\n console.error(e);\n }\n });\n }\n }\n}\n","@let err = error();\n@if (!err) {\n <yuv-split-view [gutterSize]=\"splitGutterSize\" layoutSettingsID=\"yuv.object-versions.split\">\n <!-- version details -->\n <ng-template yuvSplitArea [size]=\"60\">\n <div class=\"version-details ymt-panel\" [yuvBusyOverlay]=\"busy()\">\n @let selected = selectedVersion();\n @if (selected) {\n <ng-template #headerActions>\n <button\n mat-icon-button\n (click)=\"downloadCurrentVersion()\"\n [matTooltip]=\"'yuv.object-versions.actions.download' | translate\"\n >\n <mat-icon>download</mat-icon>\n </button>\n <button\n mat-icon-button\n (click)=\"restoreCurrentVersion()\"\n [disabled]=\"documentLockedByOther() || isCurrentVersion()\"\n [matTooltip]=\"'yuv.object-versions.actions.restore' | translate\"\n >\n <mat-icon>restore_page</mat-icon>\n </button>\n </ng-template>\n\n <yuv-object-details-header\n [dmsObject]=\"selected\"\n [type]=\"type()\"\n [bucket]=\"objectConfigBucket()\"\n [actions]=\"headerActions\"\n />\n\n <mat-tab-group class=\"version-tabs\">\n <mat-tab [label]=\"'yuv.object-versions.tabs.content.title' | translate\">\n <ng-template matTabContent>\n <yuv-object-preview [metadata]=\"metadata\" [dmsObject]=\"selected\" [version]=\"selected.version\" />\n </ng-template>\n </mat-tab>\n <mat-tab [label]=\"'yuv.object-versions.tabs.indexdata.title' | translate\">\n <ng-template matTabContent>\n <div class=\"metadata\">\n <yuv-object-summary-data [dmsObject]=\"selected\" [showAppliedFlavors]=\"true\" />\n </div>\n </ng-template> </mat-tab\n ></mat-tab-group>\n }\n </div>\n </ng-template>\n\n <!-- versions list -->\n <ng-template yuvSplitArea [size]=\"40\">\n <div class=\"version-list ymt-panel\">\n <yuv-list selectOnEnter=\"true\" (itemSelect)=\"itemSelected($event)\">\n @for (v of versions(); track v.version) {\n <div class=\"version\" yuvListItem>\n <div class=\"label\">{{ 'yuv.object-versions.list.version' | translate: { version: v.version } }}</div>\n\n <span class=\"modified-on\">{{ v.modified.on | localeDate }}</span>\n <span class=\"modified-by\">{{ v.modified.by.title }}</span>\n </div>\n }\n </yuv-list>\n </div>\n </ng-template>\n </yuv-split-view>\n} @else {\n <div class=\"error\">\n <p>{{ err }}</p>\n </div>\n}\n","import { NgModule } from '@angular/core';\nimport { ObjectVersionsComponent } from './object-versions.component';\n\nconst cmp = [ObjectVersionsComponent];\n@NgModule({\n imports: cmp,\n exports: cmp\n})\nexport class YuvObjectVersionsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ import { RendererDirective } from '@yuuvis/client-framework/renderer';
21
21
  import { YmtIconButtonDirective } from '@yuuvis/material';
22
22
  import { Subscription } from 'rxjs';
23
23
  import { debounceTime } from 'rxjs/operators';
24
+ import { _ } from '@ngx-translate/core';
24
25
  import { NgTemplateOutlet } from '@angular/common';
25
26
 
26
27
  function isConditionGroup(node) {
@@ -495,6 +496,13 @@ function findOwningBlock(blocks, container) {
495
496
  }
496
497
 
497
498
  const DATE_PREFIX_LEN$1 = 5;
499
+ _('yuv.smart-search.date-preset.this-month');
500
+ _('yuv.smart-search.date-preset.this-week');
501
+ _('yuv.smart-search.date-preset.today');
502
+ _('yuv.smart-search.date-preset.this-year');
503
+ _('yuv.smart-search.operator.like');
504
+ _('yuv.smart-search.operator.empty');
505
+ _('yuv.smart-search.operator.not-empty');
498
506
  /* eslint-disable id-length */
499
507
  const OPERATOR_LABEL_KEYS = {
500
508
  like: 'yuv.smart-search.operator.like',
@@ -1099,7 +1107,9 @@ class SmartSearchEditController {
1099
1107
  value,
1100
1108
  // Omit the value segment for an unset placeholder so the chip/aria label reads
1101
1109
  // cleanly ("Name like") instead of carrying a trailing space.
1102
- conditionLabel: valueLabel ? `${field.label} ${operatorLabelText} ${valueLabel}` : `${field.label} ${operatorLabelText}`
1110
+ conditionLabel: valueLabel
1111
+ ? `${field.label} ${operatorLabelText} ${valueLabel}`
1112
+ : `${field.label} ${operatorLabelText}`
1103
1113
  };
1104
1114
  }
1105
1115
  /**