@arsedizioni/ars-utils 22.6.92 → 22.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs +15 -15
- package/fesm2022/arsedizioni-ars-utils-clipper.ui-document.component-B9qqPb0A.mjs +1573 -0
- package/fesm2022/arsedizioni-ars-utils-clipper.ui-document.component-B9qqPb0A.mjs.map +1 -0
- package/fesm2022/{arsedizioni-ars-utils-clipper.ui-document.component-BjMnaZGf.mjs → arsedizioni-ars-utils-clipper.ui-document.component-BKjGXtXa.mjs} +5 -5
- package/fesm2022/{arsedizioni-ars-utils-clipper.ui-document.component-BjMnaZGf.mjs.map → arsedizioni-ars-utils-clipper.ui-document.component-BKjGXtXa.mjs.map} +1 -1
- package/fesm2022/arsedizioni-ars-utils-clipper.ui-references.component-CBuJnNIf.mjs +806 -0
- package/fesm2022/arsedizioni-ars-utils-clipper.ui-references.component-CBuJnNIf.mjs.map +1 -0
- package/fesm2022/{arsedizioni-ars-utils-clipper.ui-references.component-C21l0EtN.mjs → arsedizioni-ars-utils-clipper.ui-references.component-CEA_wJTS.mjs} +4 -4
- package/fesm2022/{arsedizioni-ars-utils-clipper.ui-references.component-C21l0EtN.mjs.map → arsedizioni-ars-utils-clipper.ui-references.component-CEA_wJTS.mjs.map} +1 -1
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs +38 -38
- package/fesm2022/arsedizioni-ars-utils-core.date.mjs +6 -6
- package/fesm2022/arsedizioni-ars-utils-core.markdown.mjs +3 -3
- package/fesm2022/arsedizioni-ars-utils-core.mjs +48 -48
- package/fesm2022/arsedizioni-ars-utils-core.validators.mjs +42 -42
- package/fesm2022/arsedizioni-ars-utils-evolution.common.mjs +15 -15
- package/fesm2022/arsedizioni-ars-utils-support.common.mjs +9 -9
- package/fesm2022/arsedizioni-ars-utils-ui.controls.date.mjs +6 -6
- package/fesm2022/arsedizioni-ars-utils-ui.controls.mjs +9 -9
- package/fesm2022/arsedizioni-ars-utils-ui.controls.tree.mjs +3 -3
- package/fesm2022/arsedizioni-ars-utils-ui.dialogs.auth.mjs +18 -18
- package/fesm2022/arsedizioni-ars-utils-ui.dialogs.mjs +12 -12
- package/fesm2022/arsedizioni-ars-utils-ui.dialogs.prompt.mjs +9 -9
- package/fesm2022/arsedizioni-ars-utils-ui.dialogs.select.mjs +15 -15
- package/fesm2022/arsedizioni-ars-utils-ui.files.mjs +12 -12
- package/fesm2022/arsedizioni-ars-utils-ui.filters.mjs +3 -3
- package/fesm2022/arsedizioni-ars-utils-ui.help.mjs +9 -9
- package/fesm2022/arsedizioni-ars-utils-ui.mjs +61 -61
- package/fesm2022/arsedizioni-ars-utils-ui.navigation.mjs +51 -7
- package/fesm2022/arsedizioni-ars-utils-ui.navigation.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.notifications.mjs +6 -6
- package/fesm2022/arsedizioni-ars-utils-ui.oauth.mjs +6 -6
- package/fesm2022/arsedizioni-ars-utils-ui.paginator.mjs +3 -3
- package/fesm2022/arsedizioni-ars-utils-ui.shell.mjs +9 -9
- package/fesm2022/arsedizioni-ars-utils-ui.tinymce.mjs +9 -9
- package/package.json +1 -1
- package/types/arsedizioni-ars-utils-clipper.common.d.ts.map +1 -0
- package/types/arsedizioni-ars-utils-clipper.ui.d.ts.map +1 -0
- package/types/arsedizioni-ars-utils-core.d.ts.map +1 -0
- package/types/arsedizioni-ars-utils-core.date.d.ts.map +1 -0
- package/types/arsedizioni-ars-utils-core.markdown.d.ts.map +1 -0
- package/types/arsedizioni-ars-utils-core.validators.d.ts.map +1 -0
- package/types/arsedizioni-ars-utils-evolution.common.d.ts.map +1 -0
- package/types/arsedizioni-ars-utils-support.common.d.ts.map +1 -0
- package/types/arsedizioni-ars-utils-ui.controls.d.ts.map +1 -0
- package/types/arsedizioni-ars-utils-ui.controls.date.d.ts.map +1 -0
- package/types/arsedizioni-ars-utils-ui.controls.tree.d.ts.map +1 -0
- package/types/arsedizioni-ars-utils-ui.d.ts.map +1 -0
- package/types/arsedizioni-ars-utils-ui.dialogs.auth.d.ts.map +1 -0
- package/types/arsedizioni-ars-utils-ui.dialogs.d.ts.map +1 -0
- package/types/arsedizioni-ars-utils-ui.dialogs.prompt.d.ts.map +1 -0
- package/types/arsedizioni-ars-utils-ui.dialogs.select.d.ts.map +1 -0
- package/types/arsedizioni-ars-utils-ui.files.d.ts.map +1 -0
- package/types/arsedizioni-ars-utils-ui.filters.d.ts.map +1 -0
- package/types/arsedizioni-ars-utils-ui.help.d.ts.map +1 -0
- package/types/arsedizioni-ars-utils-ui.navigation.d.ts +26 -1
- package/types/arsedizioni-ars-utils-ui.navigation.d.ts.map +1 -0
- package/types/arsedizioni-ars-utils-ui.notifications.d.ts.map +1 -0
- package/types/arsedizioni-ars-utils-ui.oauth.d.ts.map +1 -0
- package/types/arsedizioni-ars-utils-ui.paginator.d.ts.map +1 -0
- package/types/arsedizioni-ars-utils-ui.shell.d.ts.map +1 -0
- package/types/arsedizioni-ars-utils-ui.tinymce.d.ts.map +1 -0
- package/types/arsedizioni-ars-utils.d.ts.map +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arsedizioni-ars-utils-clipper.ui-references.component-CBuJnNIf.mjs","names":[],"sources":["../../../projects/ars-utils/clipper.ui/references/references.component.ts","../../../projects/ars-utils/clipper.ui/references/references.component.html"],"sourcesContent":["import { Breakpoints } from '@angular/cdk/layout';\nimport { ChangeDetectionStrategy, Component, afterNextRender, inject, viewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MAT_DIALOG_DATA, MatDialogContent, MatDialogRef, MatDialogTitle } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatPaginatorModule, PageEvent } from '@angular/material/paginator';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatDrawer, MatSidenavModule } from '@angular/material/sidenav';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { ClipperDocumentInfo, ClipperQueryReferencesMode, ClipperReferencesSearchParams, ClipperSearchFacetsResult, ClipperSearchFacetsSnapshot, ClipperSearchParams, ClipperUserInfo } from '@arsedizioni/ars-utils/clipper.common';\nimport { ApiResult, SelectableModel, SystemUtils } from '@arsedizioni/ars-utils/core';\nimport { FlexLayoutModule } from '@arsedizioni/ars-utils/ui';\nimport { finalize } from 'rxjs/operators';\nimport { ClipperSearchResultManager } from '../search-result-manager/search-result-manager';\nimport { ClipperDocumentMenuComponent } from '../document-menu/document-menu.component';\nimport { ClipperSearchFacetsComponent } from '../search-facets/search-facets.component';\nimport { ClipperSearchResultItemComponent } from '../search-result-item/search-result-item.component';\n\n\nexport interface ClipperReferencesDialogData {\n mode?: ClipperQueryReferencesMode;\n anchor?: string;\n anchorTitle?: string;\n documentId: string;\n model: number;\n canHandleTooManyResults?: boolean;\n}\n\nexport interface ClipperReferenceDialogResult {\n documentId: string;\n}\n\n@Component({\n host: { 'Bind': SystemUtils.generateUUID() },\n templateUrl: './references.component.html',\n styleUrls: ['./references.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n FlexLayoutModule,\n MatDialogTitle,\n MatButtonModule,\n MatTooltipModule,\n MatIconModule,\n MatCheckboxModule,\n MatSlideToggleModule,\n MatMenuModule,\n MatBadgeModule,\n MatPaginatorModule,\n MatDialogContent,\n MatSidenavModule,\n MatProgressBarModule,\n ClipperDocumentMenuComponent,\n ClipperSearchFacetsComponent,\n ClipperSearchResultItemComponent,\n ],\n})\nexport class ClipperReferencesComponent extends ClipperSearchResultManager {\n readonly filterPane = viewChild<MatDrawer>('filterPane');\n\n private readonly dialogRef = inject(MatDialogRef<ClipperReferencesComponent>);\n protected readonly dialogData: ClipperReferencesDialogData = inject(MAT_DIALOG_DATA) ?? { mode: ClipperQueryReferencesMode.ReferencesIn };\n protected title?: string;\n protected item?: ClipperDocumentInfo;\n protected readonly user: ClipperUserInfo | undefined = this.clipperService.user;\n private _viewReady = false;\n\n constructor() {\n super();\n if (this.dialogData) {\n switch (this.dialogData.mode) {\n case ClipperQueryReferencesMode.ReferencesIn:\n this.title = \"Documenti richiamati nelle note o nel testo\";\n break;\n case ClipperQueryReferencesMode.ReferencesOut:\n this.title = \"Documenti che richiamano quello in visione\";\n break;\n case ClipperQueryReferencesMode.ChangesIn:\n this.title = \"Modifiche subite\";\n break;\n case ClipperQueryReferencesMode.ChangesOut:\n this.title = \"Modifiche apportate\";\n break;\n case ClipperQueryReferencesMode.Juris:\n this.title = \"Giurisprudenza associata\";\n break;\n }\n if (this.dialogData.anchorTitle) {\n this.title += \" - \" + this.dialogData.anchorTitle;\n }\n // Use service snapshot\n this.snapshot = this.clipperService.referencesSnapshot() ?? { searchParams: new ClipperSearchParams(), interval: \"-1\" };\n if (\n this.filterParams.mode !== this.dialogData.mode ||\n this.filterParams.id !== this.dialogData.documentId ||\n this.filterParams.anchor !== this.dialogData.anchor\n ) {\n this.filterParams = new ClipperSearchParams();\n this.filterParams.mode = this.dialogData.mode;\n this.filterParams.model = this.dialogData.model;\n this.filterParams.anchor = this.dialogData.anchor;\n this.filterParams.id = this.dialogData.documentId;\n this.filterParams.useModifierInfo = this.dialogData.mode === ClipperQueryReferencesMode.ChangesOut;\n this.filterParams.returnModifierInfo = this.dialogData.mode !== ClipperQueryReferencesMode.ChangesOut;\n this.clipperService.referencesSnapshot.set(this.snapshot);\n }\n }\n\n // Initialize selection\n this.selection = new SelectableModel<ClipperDocumentInfo, string>(true, 'documentId');\n\n // Observe layout changes\n this.breakpointObserver\n .observe([\n Breakpoints.XSmall,\n Breakpoints.Small,\n Breakpoints.Medium,\n Breakpoints.Large,\n Breakpoints.XLarge,\n ])\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((result: any) => {\n if (!this._viewReady) return; // DOM not ready yet\n for (const query of Object.keys(result.breakpoints)) {\n if (result.breakpoints[query]) {\n this.handleFilterPaneVisibility();\n }\n }\n });\n\n // Run view-dependent initialization after the first render.\n afterNextRender(() => {\n this._viewReady = true;\n this.handleFilterPaneVisibility();\n const filterPane = this.filterPane();\n if (filterPane) {\n filterPane.openedChange\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(opened => {\n if (filterPane.mode === 'over') {\n this.filterPaneHasBackdrop.set(opened);\n }\n });\n }\n const facets = this.facets();\n if (facets) {\n facets.changed\n .subscribe((value: ClipperSearchFacetsSnapshot) => {\n this.snapshot.facets = value;\n this.fetch(true);\n });\n }\n this.fetch(true);\n this.restoreFacets();\n this.changeDetector.markForCheck();\n });\n }\n\n\n /**\n * Toggles the filter pane open/closed state.\n */\n protected toggleFilterPane(): void {\n this.filterPaneClosed.set(!this.filterPaneClosed());\n this.filterPane()?.toggle();\n }\n\n\n\n /**\n * Adjusts the filter pane mode (side vs. overlay) and backdrop based on the current breakpoint.\n */\n private handleFilterPaneVisibility(): void {\n const filterPane = this.filterPane();\n if (filterPane) {\n if (this.breakpointObserver.isMatched(Breakpoints.XSmall) ||\n this.breakpointObserver.isMatched(Breakpoints.Small) ||\n this.breakpointObserver.isMatched(Breakpoints.Medium)) {\n if (filterPane.opened) {\n filterPane.close();\n }\n filterPane.mode = 'over';\n filterPane.disableClose = false;\n this.filterPaneHasBackdrop.set(filterPane.opened);\n } else {\n if (!this.hasFacets()) {\n filterPane.close();\n } else if (!filterPane.opened && !this.filterPaneClosed()) {\n filterPane.open();\n } else if (filterPane.opened && this.filterPaneClosed()) {\n filterPane.close();\n }\n filterPane.mode = 'side';\n filterPane.disableClose = true;\n this.filterPaneHasBackdrop.set(false);\n }\n }\n }\n\n\n /**\n * Closes the references dialog without returning a result.\n */\n close(): void {\n this.dialogRef.close();\n }\n\n\n\n /**\n * Sends document links by email for the given item or, when omitted, for all selected items.\n * @param item - The specific document to send, or `undefined` to use the current selection.\n */\n sendTo(item?: ClipperDocumentInfo): void {\n this.sendItemsTo(item ? [item] : this.selection?.all);\n }\n\n\n\n /**\n * Builds the search parameters for the next fetch call.\n * @param newSearch - When `true`, resets the pagination offset to 0.\n * @returns A cloned and enriched `ClipperSearchParams` ready to be sent to the API.\n */\n private prepareFetch(newSearch: boolean = false): ClipperSearchParams {\n const newParams = SystemUtils.clone(this.filterParams) as ClipperSearchParams;\n newParams.count = 15;\n newParams.useModifierInfo =\n newParams.mode === ClipperQueryReferencesMode.ChangesOut;\n newParams.returnModifierInfo =\n newParams.mode !== ClipperQueryReferencesMode.ChangesOut;\n // New search, reset paging\n if (newSearch) {\n newParams.first = 0;\n this.filterParams.first = 0;\n }\n\n // Apply facets\n if (this.snapshot.facets?.fromDate) {\n newParams.fromDate = this.snapshot.facets?.fromDate;\n newParams.toDate = this.snapshot.facets?.toDate;\n newParams.year = this.snapshot.facets?.fromDate.getFullYear();\n }\n if (this.snapshot.facets?.sector) {\n newParams.sector = this.snapshot.facets?.sector;\n }\n if (this.snapshot.facets?.type) {\n newParams.type = this.snapshot.facets?.type;\n }\n if (this.snapshot.facets?.author) {\n newParams.author = this.snapshot.facets?.author;\n }\n return newParams;\n }\n\n /**\n * Maps a generic `ClipperSearchParams` to the references-specific API parameter shape.\n * @param params - The base search parameters to convert.\n * @returns A `ClipperReferencesSearchParams` object ready for the references endpoint.\n */\n private toReferencesSearchParams(params: ClipperSearchParams): ClipperReferencesSearchParams {\n return {\n documentId: params.id,\n year: params.year,\n sector: params.sector,\n author: params.author,\n anchor: params.anchor,\n model: params.model?.toString() ?? null,\n mode: params.mode,\n excludeTextReferences: params.excludeTextReferences,\n excludeNotesReferences: params.excludeNotesReferences,\n returnModifierInfo: params.returnModifierInfo,\n useModifierInfo: params.useModifierInfo,\n count: 15,\n first: params.first ?? 0\n }\n }\n\n /**\n * Executes the references search and updates the result snapshot.\n * @param newSearch - When `true`, resets pagination and reloads facets. Defaults to `false`.\n */\n fetch(newSearch: boolean = false): void {\n if (!this.clipperService.loggedIn()) return;\n this.dialogService.busy('Ricerca in corso...');\n const searchParams = this.prepareFetch(newSearch);\n if (searchParams) {\n this.clipperService.documents.references(this.toReferencesSearchParams(searchParams))\n .pipe(finalize(() => this.dialogService.clearBusy()))\n .subscribe(r => {\n if (!r.success) this.dialogService.error(r.message);\n else {\n this.prepareResults(r.value, newSearch);\n\n // Handle facets\n if (this.snapshot.total > 0) {\n if (newSearch)\n // Update facets\n this.fetchFacets(searchParams);\n } else {\n this.hideFacets();\n }\n\n if (newSearch) {\n const paginator = this.paginator();\n if (paginator) paginator.pageIndex = 0;\n }\n\n this.scroll(0);\n }\n });\n }\n }\n\n /**\n * Navigates to the next result page.\n * @param e - The `PageEvent` emitted by the paginator with the new page index and size.\n */\n fetchMore(e: PageEvent): void {\n const first = e.pageIndex * (this.filterParams.count ?? 15);\n this.filterParams.first = first;\n this.fetch();\n }\n\n /**\n * Loads available facets for the current search parameters and updates the filter pane.\n * @param params - The search parameters used to request facets from the API.\n */\n fetchFacets(params: ClipperSearchParams): void {\n if (!this.clipperService.loggedIn() || !params) return;\n if (!this.snapshot.facets || this.snapshot.facets?.hasMoreFacets) {\n this.filterBusy.set(true);\n this.clipperService.documents.referencesFacets(this.toReferencesSearchParams(params))\n .subscribe({\n next: (r: ApiResult<ClipperSearchFacetsResult>) => {\n if (r.success) {\n let hasFacets = (r.value.facets?.length ?? 0) > 0;\n if (r.value.facets) {\n const facets = this.facets();\n facets?.update(r.value.facets, r.value.interval);\n if (facets && this.snapshot) {\n hasFacets = facets.hasFacets();\n this.snapshot.facets = facets.save();\n this.snapshot.facets.hasTooManyResults = (this.snapshot?.total ?? 0) >= 1000;\n }\n }\n this.hasFacets.set(hasFacets);\n this.handleFilterPaneVisibility();\n }\n },\n complete: () => {\n this.filterBusy.set(false);\n }\n });\n }\n }\n\n /**\n * Hides the facet filter pane and resets all applied facet filters.\n */\n protected hideFacets(): void {\n this.hasFacets.set(false);\n this.facets()?.reset();\n this.filterPane().close();\n this.filterPaneClosed.set(false);\n }\n /**\n * Restores previously saved facets from the snapshot and adjusts the filter pane accordingly.\n */\n restoreFacets(): void {\n if (this.snapshot.facets) {\n this.facets().restore(this.snapshot.facets);\n this.handleFilterPaneVisibility();\n }\n }\n\n /**\n * Closes the dialog and navigates to the selected document.\n * @param documentId - The ID of the document to open.\n */\n override open(documentId?: string): void {\n if (documentId) this.dialogRef.close({ documentId });\n }\n\n /**\n * Returns the CSS class reflecting the item's validity state.\n * @param item - The document to evaluate.\n * @returns A CSS class name string, or `undefined` when no special state applies.\n */\n override getItemStateCssClass(item: ClipperDocumentInfo): string | undefined {\n if (item.isExpired) return 'expired-bg';\n return undefined;\n }\n\n /**\n * Returns the tooltip text explaining the item's current validity state.\n * @param item - The document to evaluate.\n * @returns A human-readable state description, or an empty string when no special state applies.\n */\n override getItemStateTooltip(item: ClipperDocumentInfo): string {\n if (item.isExpired) return 'Non più vigente';\n return '';\n }\n}\n","<div class=\"clipper-references-fixed\">\n <div class=\"dialog-header\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap='10px' fxFill>\n <div fxFlex=\"*\">\n <div mat-dialog-title>{{title}} </div>\n </div>\n <div fxLayoutAlign=\"end\">\n <button fxFlexAlign=\"start\" type=\"button\" mat-icon-button matTooltip=\"Chiudi\" aria-label=\"Chiudi\"\n (click)=\"close()\" class=\"dialog-close\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n </div>\n @if (dialogData.mode > 0 || selection?.hasValue() || (snapshot && snapshot.facets?.hasFacets && filterPane &&\n (!filterPane.opened || filterPaneClosed()))) {\n <div class=\"dialog-toolbar\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxFill>\n <div fxFlex=\"*\">\n @if (dialogData.mode === 1) {\n <mat-slide-toggle [checked]=\"filterParams.excludeTextReferences === true\"\n (change)=\"filterParams.excludeTextReferences = $event.checked; fetch(true)\">\n Mostra solo se citati nelle note\n </mat-slide-toggle>\n } @else if (dialogData.mode == 2) {\n <mat-slide-toggle [checked]=\"filterParams.excludeNotesReferences === true\"\n (change)=\"filterParams.excludeNotesReferences = $event.checked; fetch(true)\">\n Mostra solo se citano nel testo il documento\n </mat-slide-toggle>\n }\n </div>\n <div fxLayoutAlign=\"end\">\n @if (selection?.hasValue()) {\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button\n matTooltip=\"Azioni da eseguire sugli elementi selezionati\"\n [attr.aria-label]=\"'Menu opzioni per elementi selezionati'\" [matMenuTriggerFor]=\"menuSelections\"\n [disabled]=\"!snapshot.total\" [matBadge]=\"selection?.all?.length\">\n <mat-icon>checklist</mat-icon>\n </button>\n }\n <mat-menu #menuSelections=\"matMenu\">\n <clipper-document-menu [parent]=\"this\" selectionSource=\"selection\" [useSelections]=\"true\"\n [isReadable]=\"false\" [isReference]=\"true\" [canUseAIAssistant]=\"user?.hasAIAssistant ?? false\">\n </clipper-document-menu>\n </mat-menu>\n @if (snapshot && snapshot.facets?.hasFacets && filterPane && (!filterPane.opened || filterPaneClosed())) {\n <div fxFlexAlign=\"center\">\n <button type=\"button\" mat-icon-button matTooltip=\"Affina ricerca\" aria-label=\"'Affina ricerca'\"\n (click)=\"toggleFilterPane()\">\n <mat-icon>right_panel_open</mat-icon>\n </button>\n </div>\n }\n </div>\n </div>\n </div>\n }\n </div>\n</div>\n<mat-dialog-content id=\"clipper-references-scrollable\">\n <mat-drawer-container class=\"fill\" [hasBackdrop]=\"filterPaneHasBackdrop()\">\n <mat-drawer #filterPane position=\"end\" class=\"drawer-small drawer-with-loader\" opened=\"false\">\n @if (filterBusy()) {\n <div class=\"overlay\"></div>\n }\n <div fxLayout=\"column\" fxFill>\n <div fxFlex=\"6px\">\n @if (filterBusy()) {\n <mat-progress-bar style=\"z-index: 11;\" mode=\"indeterminate\">\n </mat-progress-bar>\n }\n </div>\n <div fxFlex=\"78px\" class=\"title-container-with-loader\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxFill>\n <div class=\"title\">Affina ricerca</div>\n <div fxFlex=\"*\" fxLayoutAlign=\"end\">\n <button mat-icon-button (click)=\"toggleFilterPane()\"\n matTooltip=\"Nascondi\"><mat-icon>right_panel_close</mat-icon></button>\n </div>\n </div>\n </div>\n <div fxFlex=\"*\" class=\"scroll-hidden\" style=\"padding: 0 5px;\">\n <clipper-search-facets #facets [handleTooManyResults]=\"dialogData.canHandleTooManyResults\" ></clipper-search-facets>\n </div>\n </div>\n </mat-drawer>\n <div fxLayout=\"column\" fxFill>\n <div fxFlex=\"*\" [id]=\"scrollerId\" class=\"scroll-auto\" style=\"padding: 0 5px;\">\n @if (!snapshot.total) {\n <div class=\"message-container\">\n <p class=\"message\"><b>Nessun elemento da visualizzare.</b></p>\n </div>\n } @else {\n <div>\n @for (item of snapshot.items; track $index; let i = $index) {\n @if (item.group) {\n <div class=\"items-group-title\">\n <div [class.group-spaced]=\"i > 0\">{{item.group}}</div>\n </div>\n }\n <clipper-search-result-item [item]=\"item\" [parent]=\"this\" [isReadable]=\"false\"\n [actions]=\"contextMenu\"></clipper-search-result-item>\n }\n <mat-menu #contextMenu=\"matMenu\" (closed)=\"updateMenuButtonsVisibility()\">\n <ng-template matMenuContent let-item=\"item\">\n <clipper-document-menu [parent]=\"this\" [item]=\"item\" [isReadable]=\"false\" [isReference]=\"true\"\n [canUseAIAssistant]=\"user?.hasAIAssistant ?? false\">\n </clipper-document-menu>\n </ng-template>\n </mat-menu>\n </div>\n }\n </div>\n <!-- footer -->\n @if ((snapshot?.total ?? 0) > 0) {\n <div class=\"items-footer\">\n <div fxLayout=\"row wrap\" fxLayoutGap=\"10px\" fxLayoutAlign=\"space-between center\" fxFill>\n <!-- legend -->\n <div fxFlex.lt-md=\"100\" class=\"legend-container\">\n <div class=\"legend expired-bg \"></div>\n non più vigente\n </div>\n <div fxFlex.lt-md=\"100\" fxLayoutAlign=\"end\" [class.wide]=\"filterPane?.opened\">\n <div fxLayout=\"row\">\n <mat-paginator fxFlexAlign=\"center\" #paginator class=\"paginator\" [hidePageSize]=\"true\"\n [length]=\"snapshot?.total ?? 0\" [pageSize]=\"filterParams.count ?? 15\" [showFirstLastButtons]=\"true\"\n (page)=\"fetchMore($event)\">\n </mat-paginator>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n </mat-drawer-container>\n</mat-dialog-content>"],"mappings":"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"}
|
|
@@ -236,7 +236,7 @@ var ClipperReferencesComponent = class ClipperReferencesComponent extends Clippe
|
|
|
236
236
|
static {
|
|
237
237
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
238
238
|
minVersion: "12.0.0",
|
|
239
|
-
version: "22.2.
|
|
239
|
+
version: "22.2.2",
|
|
240
240
|
ngImport: i0,
|
|
241
241
|
type: ClipperReferencesComponent,
|
|
242
242
|
deps: [],
|
|
@@ -246,7 +246,7 @@ var ClipperReferencesComponent = class ClipperReferencesComponent extends Clippe
|
|
|
246
246
|
static {
|
|
247
247
|
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
248
248
|
minVersion: "17.0.0",
|
|
249
|
-
version: "22.2.
|
|
249
|
+
version: "22.2.2",
|
|
250
250
|
type: ClipperReferencesComponent,
|
|
251
251
|
isStandalone: true,
|
|
252
252
|
selector: "ng-component",
|
|
@@ -676,7 +676,7 @@ var ClipperReferencesComponent = class ClipperReferencesComponent extends Clippe
|
|
|
676
676
|
};
|
|
677
677
|
i0.ɵɵngDeclareClassMetadata({
|
|
678
678
|
minVersion: "12.0.0",
|
|
679
|
-
version: "22.2.
|
|
679
|
+
version: "22.2.2",
|
|
680
680
|
ngImport: i0,
|
|
681
681
|
type: ClipperReferencesComponent,
|
|
682
682
|
decorators: [{
|
|
@@ -715,4 +715,4 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
715
715
|
});
|
|
716
716
|
export { ClipperReferencesComponent };
|
|
717
717
|
|
|
718
|
-
//# sourceMappingURL=arsedizioni-ars-utils-clipper.ui-references.component-
|
|
718
|
+
//# sourceMappingURL=arsedizioni-ars-utils-clipper.ui-references.component-CEA_wJTS.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arsedizioni-ars-utils-clipper.ui-references.component-C21l0EtN.mjs","names":[],"sources":["../../../projects/ars-utils/clipper.ui/references/references.component.ts","../../../projects/ars-utils/clipper.ui/references/references.component.html"],"sourcesContent":["import { Breakpoints } from '@angular/cdk/layout';\nimport { ChangeDetectionStrategy, Component, afterNextRender, inject, viewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MAT_DIALOG_DATA, MatDialogContent, MatDialogRef, MatDialogTitle } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatPaginatorModule, PageEvent } from '@angular/material/paginator';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatDrawer, MatSidenavModule } from '@angular/material/sidenav';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { ClipperDocumentInfo, ClipperQueryReferencesMode, ClipperReferencesSearchParams, ClipperSearchFacetsResult, ClipperSearchFacetsSnapshot, ClipperSearchParams, ClipperUserInfo } from '@arsedizioni/ars-utils/clipper.common';\nimport { ApiResult, SelectableModel, SystemUtils } from '@arsedizioni/ars-utils/core';\nimport { FlexLayoutModule } from '@arsedizioni/ars-utils/ui';\nimport { finalize } from 'rxjs/operators';\nimport { ClipperSearchResultManager } from '../search-result-manager/search-result-manager';\nimport { ClipperDocumentMenuComponent } from '../document-menu/document-menu.component';\nimport { ClipperSearchFacetsComponent } from '../search-facets/search-facets.component';\nimport { ClipperSearchResultItemComponent } from '../search-result-item/search-result-item.component';\n\n\nexport interface ClipperReferencesDialogData {\n mode?: ClipperQueryReferencesMode;\n anchor?: string;\n anchorTitle?: string;\n documentId: string;\n model: number;\n canHandleTooManyResults?: boolean;\n}\n\nexport interface ClipperReferenceDialogResult {\n documentId: string;\n}\n\n@Component({\n host: { 'Bind': SystemUtils.generateUUID() },\n templateUrl: './references.component.html',\n styleUrls: ['./references.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n FlexLayoutModule,\n MatDialogTitle,\n MatButtonModule,\n MatTooltipModule,\n MatIconModule,\n MatCheckboxModule,\n MatSlideToggleModule,\n MatMenuModule,\n MatBadgeModule,\n MatPaginatorModule,\n MatDialogContent,\n MatSidenavModule,\n MatProgressBarModule,\n ClipperDocumentMenuComponent,\n ClipperSearchFacetsComponent,\n ClipperSearchResultItemComponent,\n ],\n})\nexport class ClipperReferencesComponent extends ClipperSearchResultManager {\n readonly filterPane = viewChild<MatDrawer>('filterPane');\n\n private readonly dialogRef = inject(MatDialogRef<ClipperReferencesComponent>);\n protected readonly dialogData: ClipperReferencesDialogData = inject(MAT_DIALOG_DATA) ?? { mode: ClipperQueryReferencesMode.ReferencesIn };\n protected title?: string;\n protected item?: ClipperDocumentInfo;\n protected readonly user: ClipperUserInfo | undefined = this.clipperService.user;\n private _viewReady = false;\n\n constructor() {\n super();\n if (this.dialogData) {\n switch (this.dialogData.mode) {\n case ClipperQueryReferencesMode.ReferencesIn:\n this.title = \"Documenti richiamati nelle note o nel testo\";\n break;\n case ClipperQueryReferencesMode.ReferencesOut:\n this.title = \"Documenti che richiamano quello in visione\";\n break;\n case ClipperQueryReferencesMode.ChangesIn:\n this.title = \"Modifiche subite\";\n break;\n case ClipperQueryReferencesMode.ChangesOut:\n this.title = \"Modifiche apportate\";\n break;\n case ClipperQueryReferencesMode.Juris:\n this.title = \"Giurisprudenza associata\";\n break;\n }\n if (this.dialogData.anchorTitle) {\n this.title += \" - \" + this.dialogData.anchorTitle;\n }\n // Use service snapshot\n this.snapshot = this.clipperService.referencesSnapshot() ?? { searchParams: new ClipperSearchParams(), interval: \"-1\" };\n if (\n this.filterParams.mode !== this.dialogData.mode ||\n this.filterParams.id !== this.dialogData.documentId ||\n this.filterParams.anchor !== this.dialogData.anchor\n ) {\n this.filterParams = new ClipperSearchParams();\n this.filterParams.mode = this.dialogData.mode;\n this.filterParams.model = this.dialogData.model;\n this.filterParams.anchor = this.dialogData.anchor;\n this.filterParams.id = this.dialogData.documentId;\n this.filterParams.useModifierInfo = this.dialogData.mode === ClipperQueryReferencesMode.ChangesOut;\n this.filterParams.returnModifierInfo = this.dialogData.mode !== ClipperQueryReferencesMode.ChangesOut;\n this.clipperService.referencesSnapshot.set(this.snapshot);\n }\n }\n\n // Initialize selection\n this.selection = new SelectableModel<ClipperDocumentInfo, string>(true, 'documentId');\n\n // Observe layout changes\n this.breakpointObserver\n .observe([\n Breakpoints.XSmall,\n Breakpoints.Small,\n Breakpoints.Medium,\n Breakpoints.Large,\n Breakpoints.XLarge,\n ])\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((result: any) => {\n if (!this._viewReady) return; // DOM not ready yet\n for (const query of Object.keys(result.breakpoints)) {\n if (result.breakpoints[query]) {\n this.handleFilterPaneVisibility();\n }\n }\n });\n\n // Run view-dependent initialization after the first render.\n afterNextRender(() => {\n this._viewReady = true;\n this.handleFilterPaneVisibility();\n const filterPane = this.filterPane();\n if (filterPane) {\n filterPane.openedChange\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(opened => {\n if (filterPane.mode === 'over') {\n this.filterPaneHasBackdrop.set(opened);\n }\n });\n }\n const facets = this.facets();\n if (facets) {\n facets.changed\n .subscribe((value: ClipperSearchFacetsSnapshot) => {\n this.snapshot.facets = value;\n this.fetch(true);\n });\n }\n this.fetch(true);\n this.restoreFacets();\n this.changeDetector.markForCheck();\n });\n }\n\n\n /**\n * Toggles the filter pane open/closed state.\n */\n protected toggleFilterPane(): void {\n this.filterPaneClosed.set(!this.filterPaneClosed());\n this.filterPane()?.toggle();\n }\n\n\n\n /**\n * Adjusts the filter pane mode (side vs. overlay) and backdrop based on the current breakpoint.\n */\n private handleFilterPaneVisibility(): void {\n const filterPane = this.filterPane();\n if (filterPane) {\n if (this.breakpointObserver.isMatched(Breakpoints.XSmall) ||\n this.breakpointObserver.isMatched(Breakpoints.Small) ||\n this.breakpointObserver.isMatched(Breakpoints.Medium)) {\n if (filterPane.opened) {\n filterPane.close();\n }\n filterPane.mode = 'over';\n filterPane.disableClose = false;\n this.filterPaneHasBackdrop.set(filterPane.opened);\n } else {\n if (!this.hasFacets()) {\n filterPane.close();\n } else if (!filterPane.opened && !this.filterPaneClosed()) {\n filterPane.open();\n } else if (filterPane.opened && this.filterPaneClosed()) {\n filterPane.close();\n }\n filterPane.mode = 'side';\n filterPane.disableClose = true;\n this.filterPaneHasBackdrop.set(false);\n }\n }\n }\n\n\n /**\n * Closes the references dialog without returning a result.\n */\n close(): void {\n this.dialogRef.close();\n }\n\n\n\n /**\n * Sends document links by email for the given item or, when omitted, for all selected items.\n * @param item - The specific document to send, or `undefined` to use the current selection.\n */\n sendTo(item?: ClipperDocumentInfo): void {\n this.sendItemsTo(item ? [item] : this.selection?.all);\n }\n\n\n\n /**\n * Builds the search parameters for the next fetch call.\n * @param newSearch - When `true`, resets the pagination offset to 0.\n * @returns A cloned and enriched `ClipperSearchParams` ready to be sent to the API.\n */\n private prepareFetch(newSearch: boolean = false): ClipperSearchParams {\n const newParams = SystemUtils.clone(this.filterParams) as ClipperSearchParams;\n newParams.count = 15;\n newParams.useModifierInfo =\n newParams.mode === ClipperQueryReferencesMode.ChangesOut;\n newParams.returnModifierInfo =\n newParams.mode !== ClipperQueryReferencesMode.ChangesOut;\n // New search, reset paging\n if (newSearch) {\n newParams.first = 0;\n this.filterParams.first = 0;\n }\n\n // Apply facets\n if (this.snapshot.facets?.fromDate) {\n newParams.fromDate = this.snapshot.facets?.fromDate;\n newParams.toDate = this.snapshot.facets?.toDate;\n newParams.year = this.snapshot.facets?.fromDate.getFullYear();\n }\n if (this.snapshot.facets?.sector) {\n newParams.sector = this.snapshot.facets?.sector;\n }\n if (this.snapshot.facets?.type) {\n newParams.type = this.snapshot.facets?.type;\n }\n if (this.snapshot.facets?.author) {\n newParams.author = this.snapshot.facets?.author;\n }\n return newParams;\n }\n\n /**\n * Maps a generic `ClipperSearchParams` to the references-specific API parameter shape.\n * @param params - The base search parameters to convert.\n * @returns A `ClipperReferencesSearchParams` object ready for the references endpoint.\n */\n private toReferencesSearchParams(params: ClipperSearchParams): ClipperReferencesSearchParams {\n return {\n documentId: params.id,\n year: params.year,\n sector: params.sector,\n author: params.author,\n anchor: params.anchor,\n model: params.model?.toString() ?? null,\n mode: params.mode,\n excludeTextReferences: params.excludeTextReferences,\n excludeNotesReferences: params.excludeNotesReferences,\n returnModifierInfo: params.returnModifierInfo,\n useModifierInfo: params.useModifierInfo,\n count: 15,\n first: params.first ?? 0\n }\n }\n\n /**\n * Executes the references search and updates the result snapshot.\n * @param newSearch - When `true`, resets pagination and reloads facets. Defaults to `false`.\n */\n fetch(newSearch: boolean = false): void {\n if (!this.clipperService.loggedIn()) return;\n this.dialogService.busy('Ricerca in corso...');\n const searchParams = this.prepareFetch(newSearch);\n if (searchParams) {\n this.clipperService.documents.references(this.toReferencesSearchParams(searchParams))\n .pipe(finalize(() => this.dialogService.clearBusy()))\n .subscribe(r => {\n if (!r.success) this.dialogService.error(r.message);\n else {\n this.prepareResults(r.value, newSearch);\n\n // Handle facets\n if (this.snapshot.total > 0) {\n if (newSearch)\n // Update facets\n this.fetchFacets(searchParams);\n } else {\n this.hideFacets();\n }\n\n if (newSearch) {\n const paginator = this.paginator();\n if (paginator) paginator.pageIndex = 0;\n }\n\n this.scroll(0);\n }\n });\n }\n }\n\n /**\n * Navigates to the next result page.\n * @param e - The `PageEvent` emitted by the paginator with the new page index and size.\n */\n fetchMore(e: PageEvent): void {\n const first = e.pageIndex * (this.filterParams.count ?? 15);\n this.filterParams.first = first;\n this.fetch();\n }\n\n /**\n * Loads available facets for the current search parameters and updates the filter pane.\n * @param params - The search parameters used to request facets from the API.\n */\n fetchFacets(params: ClipperSearchParams): void {\n if (!this.clipperService.loggedIn() || !params) return;\n if (!this.snapshot.facets || this.snapshot.facets?.hasMoreFacets) {\n this.filterBusy.set(true);\n this.clipperService.documents.referencesFacets(this.toReferencesSearchParams(params))\n .subscribe({\n next: (r: ApiResult<ClipperSearchFacetsResult>) => {\n if (r.success) {\n let hasFacets = (r.value.facets?.length ?? 0) > 0;\n if (r.value.facets) {\n const facets = this.facets();\n facets?.update(r.value.facets, r.value.interval);\n if (facets && this.snapshot) {\n hasFacets = facets.hasFacets();\n this.snapshot.facets = facets.save();\n this.snapshot.facets.hasTooManyResults = (this.snapshot?.total ?? 0) >= 1000;\n }\n }\n this.hasFacets.set(hasFacets);\n this.handleFilterPaneVisibility();\n }\n },\n complete: () => {\n this.filterBusy.set(false);\n }\n });\n }\n }\n\n /**\n * Hides the facet filter pane and resets all applied facet filters.\n */\n protected hideFacets(): void {\n this.hasFacets.set(false);\n this.facets()?.reset();\n this.filterPane().close();\n this.filterPaneClosed.set(false);\n }\n /**\n * Restores previously saved facets from the snapshot and adjusts the filter pane accordingly.\n */\n restoreFacets(): void {\n if (this.snapshot.facets) {\n this.facets().restore(this.snapshot.facets);\n this.handleFilterPaneVisibility();\n }\n }\n\n /**\n * Closes the dialog and navigates to the selected document.\n * @param documentId - The ID of the document to open.\n */\n override open(documentId?: string): void {\n if (documentId) this.dialogRef.close({ documentId });\n }\n\n /**\n * Returns the CSS class reflecting the item's validity state.\n * @param item - The document to evaluate.\n * @returns A CSS class name string, or `undefined` when no special state applies.\n */\n override getItemStateCssClass(item: ClipperDocumentInfo): string | undefined {\n if (item.isExpired) return 'expired-bg';\n return undefined;\n }\n\n /**\n * Returns the tooltip text explaining the item's current validity state.\n * @param item - The document to evaluate.\n * @returns A human-readable state description, or an empty string when no special state applies.\n */\n override getItemStateTooltip(item: ClipperDocumentInfo): string {\n if (item.isExpired) return 'Non più vigente';\n return '';\n }\n}\n","<div class=\"clipper-references-fixed\">\n <div class=\"dialog-header\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap='10px' fxFill>\n <div fxFlex=\"*\">\n <div mat-dialog-title>{{title}} </div>\n </div>\n <div fxLayoutAlign=\"end\">\n <button fxFlexAlign=\"start\" type=\"button\" mat-icon-button matTooltip=\"Chiudi\" aria-label=\"Chiudi\"\n (click)=\"close()\" class=\"dialog-close\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n </div>\n @if (dialogData.mode > 0 || selection?.hasValue() || (snapshot && snapshot.facets?.hasFacets && filterPane &&\n (!filterPane.opened || filterPaneClosed()))) {\n <div class=\"dialog-toolbar\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxFill>\n <div fxFlex=\"*\">\n @if (dialogData.mode === 1) {\n <mat-slide-toggle [checked]=\"filterParams.excludeTextReferences === true\"\n (change)=\"filterParams.excludeTextReferences = $event.checked; fetch(true)\">\n Mostra solo se citati nelle note\n </mat-slide-toggle>\n } @else if (dialogData.mode == 2) {\n <mat-slide-toggle [checked]=\"filterParams.excludeNotesReferences === true\"\n (change)=\"filterParams.excludeNotesReferences = $event.checked; fetch(true)\">\n Mostra solo se citano nel testo il documento\n </mat-slide-toggle>\n }\n </div>\n <div fxLayoutAlign=\"end\">\n @if (selection?.hasValue()) {\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button\n matTooltip=\"Azioni da eseguire sugli elementi selezionati\"\n [attr.aria-label]=\"'Menu opzioni per elementi selezionati'\" [matMenuTriggerFor]=\"menuSelections\"\n [disabled]=\"!snapshot.total\" [matBadge]=\"selection?.all?.length\">\n <mat-icon>checklist</mat-icon>\n </button>\n }\n <mat-menu #menuSelections=\"matMenu\">\n <clipper-document-menu [parent]=\"this\" selectionSource=\"selection\" [useSelections]=\"true\"\n [isReadable]=\"false\" [isReference]=\"true\" [canUseAIAssistant]=\"user?.hasAIAssistant ?? false\">\n </clipper-document-menu>\n </mat-menu>\n @if (snapshot && snapshot.facets?.hasFacets && filterPane && (!filterPane.opened || filterPaneClosed())) {\n <div fxFlexAlign=\"center\">\n <button type=\"button\" mat-icon-button matTooltip=\"Affina ricerca\" aria-label=\"'Affina ricerca'\"\n (click)=\"toggleFilterPane()\">\n <mat-icon>right_panel_open</mat-icon>\n </button>\n </div>\n }\n </div>\n </div>\n </div>\n }\n </div>\n</div>\n<mat-dialog-content id=\"clipper-references-scrollable\">\n <mat-drawer-container class=\"fill\" [hasBackdrop]=\"filterPaneHasBackdrop()\">\n <mat-drawer #filterPane position=\"end\" class=\"drawer-small drawer-with-loader\" opened=\"false\">\n @if (filterBusy()) {\n <div class=\"overlay\"></div>\n }\n <div fxLayout=\"column\" fxFill>\n <div fxFlex=\"6px\">\n @if (filterBusy()) {\n <mat-progress-bar style=\"z-index: 11;\" mode=\"indeterminate\">\n </mat-progress-bar>\n }\n </div>\n <div fxFlex=\"78px\" class=\"title-container-with-loader\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxFill>\n <div class=\"title\">Affina ricerca</div>\n <div fxFlex=\"*\" fxLayoutAlign=\"end\">\n <button mat-icon-button (click)=\"toggleFilterPane()\"\n matTooltip=\"Nascondi\"><mat-icon>right_panel_close</mat-icon></button>\n </div>\n </div>\n </div>\n <div fxFlex=\"*\" class=\"scroll-hidden\" style=\"padding: 0 5px;\">\n <clipper-search-facets #facets [handleTooManyResults]=\"dialogData.canHandleTooManyResults\" ></clipper-search-facets>\n </div>\n </div>\n </mat-drawer>\n <div fxLayout=\"column\" fxFill>\n <div fxFlex=\"*\" [id]=\"scrollerId\" class=\"scroll-auto\" style=\"padding: 0 5px;\">\n @if (!snapshot.total) {\n <div class=\"message-container\">\n <p class=\"message\"><b>Nessun elemento da visualizzare.</b></p>\n </div>\n } @else {\n <div>\n @for (item of snapshot.items; track $index; let i = $index) {\n @if (item.group) {\n <div class=\"items-group-title\">\n <div [class.group-spaced]=\"i > 0\">{{item.group}}</div>\n </div>\n }\n <clipper-search-result-item [item]=\"item\" [parent]=\"this\" [isReadable]=\"false\"\n [actions]=\"contextMenu\"></clipper-search-result-item>\n }\n <mat-menu #contextMenu=\"matMenu\" (closed)=\"updateMenuButtonsVisibility()\">\n <ng-template matMenuContent let-item=\"item\">\n <clipper-document-menu [parent]=\"this\" [item]=\"item\" [isReadable]=\"false\" [isReference]=\"true\"\n [canUseAIAssistant]=\"user?.hasAIAssistant ?? false\">\n </clipper-document-menu>\n </ng-template>\n </mat-menu>\n </div>\n }\n </div>\n <!-- footer -->\n @if ((snapshot?.total ?? 0) > 0) {\n <div class=\"items-footer\">\n <div fxLayout=\"row wrap\" fxLayoutGap=\"10px\" fxLayoutAlign=\"space-between center\" fxFill>\n <!-- legend -->\n <div fxFlex.lt-md=\"100\" class=\"legend-container\">\n <div class=\"legend expired-bg \"></div>\n non più vigente\n </div>\n <div fxFlex.lt-md=\"100\" fxLayoutAlign=\"end\" [class.wide]=\"filterPane?.opened\">\n <div fxLayout=\"row\">\n <mat-paginator fxFlexAlign=\"center\" #paginator class=\"paginator\" [hidePageSize]=\"true\"\n [length]=\"snapshot?.total ?? 0\" [pageSize]=\"filterParams.count ?? 15\" [showFirstLastButtons]=\"true\"\n (page)=\"fetchMore($event)\">\n </mat-paginator>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n </mat-drawer-container>\n</mat-dialog-content>"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8DA,IAAa,6BAAb,MAAa,mCAAmC,2BAA0B;CAUxE,cAAA;EACE,MAAK;EAVE,KAAA,aAAa,UAAqB,cAAa,GAAA,YAAA,CAAA,EAAA,WAAA,aAAA,CAAA,+BAAA,CAAA,CAAA;EAEvC,KAAA,YAAY,OAAO,YAAwC;EACzD,KAAA,aAA0C,OAAO,eAAe,KAAK,EAAE,MAAM,2BAA2B,aAAY;EAGpH,KAAA,OAAoC,KAAK,eAAe;EACnE,KAAA,aAAa;EAInB,IAAI,KAAK,YAAY;GACnB,QAAQ,KAAK,WAAW,MAAxB;IACE,KAAK,2BAA2B;KAC9B,KAAK,QAAQ;KACb;IACF,KAAK,2BAA2B;KAC9B,KAAK,QAAQ;KACb;IACF,KAAK,2BAA2B;KAC9B,KAAK,QAAQ;KACb;IACF,KAAK,2BAA2B;KAC9B,KAAK,QAAQ;KACb;IACF,KAAK,2BAA2B,OAC9B,KAAK,QAAQ;GAEjB;GACA,IAAI,KAAK,WAAW,aAClB,KAAK,SAAS,QAAQ,KAAK,WAAW;GAGxC,KAAK,WAAW,KAAK,eAAe,mBAAkB,KAAM;IAAE,cAAc,IAAI,oBAAmB;IAAI,UAAU;GAAI;GACrH,IACE,KAAK,aAAa,SAAS,KAAK,WAAW,QAC3C,KAAK,aAAa,OAAO,KAAK,WAAW,cACzC,KAAK,aAAa,WAAW,KAAK,WAAW,QAC7C;IACA,KAAK,eAAe,IAAI,oBAAmB;IAC3C,KAAK,aAAa,OAAO,KAAK,WAAW;IACzC,KAAK,aAAa,QAAQ,KAAK,WAAW;IAC1C,KAAK,aAAa,SAAS,KAAK,WAAW;IAC3C,KAAK,aAAa,KAAK,KAAK,WAAW;IACvC,KAAK,aAAa,kBAAkB,KAAK,WAAW,SAAS,2BAA2B;IACxF,KAAK,aAAa,qBAAqB,KAAK,WAAW,SAAS,2BAA2B;IAC3F,KAAK,eAAe,mBAAmB,IAAI,KAAK,QAAQ;GAC1D;EACF;EAGA,KAAK,YAAY,IAAI,gBAA6C,MAAM,YAAY;EAGpF,KAAK,mBACF,QAAQ;GACP,YAAY;GACZ,YAAY;GACZ,YAAY;GACZ,YAAY;GACZ,YAAY;EACb,CAAA,CAAC,CACD,KAAK,mBAAmB,KAAK,UAAU,CAAC,CAAC,CACzC,WAAW,WAAe;GACzB,IAAI,CAAC,KAAK,YAAY;GACtB,KAAK,MAAM,SAAS,OAAO,KAAK,OAAO,WAAW,GAChD,IAAI,OAAO,YAAY,QACrB,KAAK,2BAA0B;EAGrC,CAAC;EAGH,sBAAqB;GACnB,KAAK,aAAa;GAClB,KAAK,2BAA0B;GAC/B,MAAM,aAAa,KAAK,WAAU;GAClC,IAAI,YACF,WAAW,aACR,KAAK,mBAAmB,KAAK,UAAU,CAAC,CAAC,CACzC,WAAU,WAAS;IAClB,IAAI,WAAW,SAAS,QACtB,KAAK,sBAAsB,IAAI,MAAM;GAEzC,CAAC;GAEL,MAAM,SAAS,KAAK,OAAM;GAC1B,IAAI,QACF,OAAO,QACJ,WAAW,UAAsC;IAChD,KAAK,SAAS,SAAS;IACvB,KAAK,MAAM,IAAI;GACjB,CAAC;GAEL,KAAK,MAAM,IAAI;GACf,KAAK,cAAa;GAClB,KAAK,eAAe,aAAY;EAClC,CAAC;CACH;CAMU,mBAAgB;EACxB,KAAK,iBAAiB,IAAI,CAAC,KAAK,iBAAgB,CAAE;EAClD,KAAK,WAAU,CAAE,EAAE,OAAM;CAC3B;CAOQ,6BAA0B;EAChC,MAAM,aAAa,KAAK,WAAU;EAClC,IAAI,YAAY;GACd,IAAI,KAAK,mBAAmB,UAAU,YAAY,MAAM,KACtD,KAAK,mBAAmB,UAAU,YAAY,KAAK,KACnD,KAAK,mBAAmB,UAAU,YAAY,MAAM,GAAG;IACvD,IAAI,WAAW,QACb,WAAW,MAAK;IAElB,WAAW,OAAO;IAClB,WAAW,eAAe;IAC1B,KAAK,sBAAsB,IAAI,WAAW,MAAM;GAClD,OAAO;IACL,IAAI,CAAC,KAAK,UAAS,GACjB,WAAW,MAAK;SACX,IAAI,CAAC,WAAW,UAAU,CAAC,KAAK,iBAAgB,GACrD,WAAW,KAAI;SACV,IAAI,WAAW,UAAU,KAAK,iBAAgB,GACnD,WAAW,MAAK;IAElB,WAAW,OAAO;IAClB,WAAW,eAAe;IAC1B,KAAK,sBAAsB,IAAI,KAAK;GACtC;EACF;CACF;CAMA,QAAK;EACH,KAAK,UAAU,MAAK;CACtB;CAQA,OAAO,MAA0B;EAC/B,KAAK,YAAY,OAAO,CAAC,IAAI,IAAI,KAAK,WAAW,GAAG;CACtD;CASQ,aAAa,YAAqB,OAAK;EAC7C,MAAM,YAAY,YAAY,MAAM,KAAK,YAAY;EACrD,UAAU,QAAQ;EAClB,UAAU,kBACR,UAAU,SAAS,2BAA2B;EAChD,UAAU,qBACR,UAAU,SAAS,2BAA2B;EAEhD,IAAI,WAAW;GACb,UAAU,QAAQ;GAClB,KAAK,aAAa,QAAQ;EAC5B;EAGA,IAAI,KAAK,SAAS,QAAQ,UAAU;GAClC,UAAU,WAAW,KAAK,SAAS,QAAQ;GAC3C,UAAU,SAAS,KAAK,SAAS,QAAQ;GACzC,UAAU,OAAO,KAAK,SAAS,QAAQ,SAAS,YAAW;EAC7D;EACA,IAAI,KAAK,SAAS,QAAQ,QACxB,UAAU,SAAS,KAAK,SAAS,QAAQ;EAE3C,IAAI,KAAK,SAAS,QAAQ,MACxB,UAAU,OAAO,KAAK,SAAS,QAAQ;EAEzC,IAAI,KAAK,SAAS,QAAQ,QACxB,UAAU,SAAS,KAAK,SAAS,QAAQ;EAE3C,OAAO;CACT;CAOQ,yBAAyB,QAA2B;EAC1D,OAAO;GACL,YAAY,OAAO;GACnB,MAAM,OAAO;GACb,QAAQ,OAAO;GACf,QAAQ,OAAO;GACf,QAAQ,OAAO;GACf,OAAO,OAAO,OAAO,SAAQ,KAAM;GACnC,MAAM,OAAO;GACb,uBAAuB,OAAO;GAC9B,wBAAwB,OAAO;GAC/B,oBAAoB,OAAO;GAC3B,iBAAiB,OAAO;GACxB,OAAO;GACP,OAAO,OAAO,SAAS;EACxB;CACH;CAMA,MAAM,YAAqB,OAAK;EAC9B,IAAI,CAAC,KAAK,eAAe,SAAQ,GAAI;EACrC,KAAK,cAAc,KAAK,qBAAqB;EAC7C,MAAM,eAAe,KAAK,aAAa,SAAS;EAChD,IAAI,cACF,KAAK,eAAe,UAAU,WAAW,KAAK,yBAAyB,YAAY,CAAC,CAAC,CAClF,KAAK,eAAe,KAAK,cAAc,UAAS,CAAE,CAAC,CAAC,CACpD,WAAU,MAAI;GACb,IAAI,CAAC,EAAE,SAAS,KAAK,cAAc,MAAM,EAAE,OAAO;QAC7C;IACH,KAAK,eAAe,EAAE,OAAO,SAAS;IAGtC,IAAI,KAAK,SAAS,QAAQ,GACxB;SAAI,WAEF,KAAK,YAAY,YAAY;IAAA,OAE/B,KAAK,WAAU;IAGjB,IAAI,WAAW;KACb,MAAM,YAAY,KAAK,UAAS;KAChC,IAAI,WAAW,UAAU,YAAY;IACvC;IAEA,KAAK,OAAO,CAAC;GACf;EACF,CAAC;CAEP;CAMA,UAAU,GAAY;EACpB,MAAM,QAAQ,EAAE,aAAa,KAAK,aAAa,SAAS;EACxD,KAAK,aAAa,QAAQ;EAC1B,KAAK,MAAK;CACZ;CAMA,YAAY,QAA2B;EACrC,IAAI,CAAC,KAAK,eAAe,SAAQ,KAAM,CAAC,QAAQ;EAChD,IAAI,CAAC,KAAK,SAAS,UAAU,KAAK,SAAS,QAAQ,eAAe;GAChE,KAAK,WAAW,IAAI,IAAI;GACxB,KAAK,eAAe,UAAU,iBAAiB,KAAK,yBAAyB,MAAM,CAAC,CAAC,CAClF,UAAU;IACT,OAAO,MAA2C;KAChD,IAAI,EAAE,SAAS;MACb,IAAI,aAAa,EAAE,MAAM,QAAQ,UAAU,KAAK;MAChD,IAAI,EAAE,MAAM,QAAQ;OAClB,MAAM,SAAS,KAAK,OAAM;OAC1B,QAAQ,OAAO,EAAE,MAAM,QAAQ,EAAE,MAAM,QAAQ;OAC/C,IAAI,UAAU,KAAK,UAAU;QAC3B,YAAY,OAAO,UAAS;QAC5B,KAAK,SAAS,SAAS,OAAO,KAAI;QAClC,KAAK,SAAS,OAAO,qBAAqB,KAAK,UAAU,SAAS,MAAM;OAC1E;MACF;MACA,KAAK,UAAU,IAAI,SAAS;MAC5B,KAAK,2BAA0B;KACjC;IACF;IACA,gBAAe;KACb,KAAK,WAAW,IAAI,KAAK;IAC3B;GACD,CAAA;EACL;CACF;CAKU,aAAU;EAClB,KAAK,UAAU,IAAI,KAAK;EACxB,KAAK,OAAM,CAAE,EAAE,MAAK;EACpB,KAAK,WAAU,CAAE,CAAC,MAAK;EACvB,KAAK,iBAAiB,IAAI,KAAK;CACjC;CAIA,gBAAa;EACX,IAAI,KAAK,SAAS,QAAQ;GACxB,KAAK,OAAM,CAAE,CAAC,QAAQ,KAAK,SAAS,MAAM;GAC1C,KAAK,2BAA0B;EACjC;CACF;CAMS,KAAK,YAAmB;EAC/B,IAAI,YAAY,KAAK,UAAU,MAAM,EAAE,WAAU,CAAE;CACrD;CAOS,qBAAqB,MAAyB;EACrD,IAAI,KAAK,WAAW,OAAO;CAE7B;CAOS,oBAAoB,MAAyB;EACpD,IAAI,KAAK,WAAW,OAAO;EAC3B,OAAO;CACT;CAzVW;EAAA,KAAA,OAAA,GAAA,mBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,UAAA;GAAA,MAAA;GAA0B,MAAA,CAAA;GAAA,QAAA,GAAA,gBAAA;EAAA,CAAA;CAAA;CAA1B;EAAA,KAAA,OAAA,GAAA,qBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,MAAA;GAA0B,cAAA;GAAA,UAAA;GAAA,MAAA,EAAA,YAAA,EAAA,QAxBrB,YAAY,aAAY,EAAE,EAAA;GAAA,aAAA,CAAA;IAAA,cAAA;IAAA,OAAA;IAAA,WAAA,CAAA,YAAA;IAAA,aAAA;IAAA,UAAA;GAAA,CAAA;GAAA,iBAAA;GAAA,UAAA;GAAA,UCtC5C;GAsIqB,QAAA,CAAA,w3dAAA;GAAA,cAAA;IAAA;KAAA,MAAA;KAAA,MD1FjB;IAAgB;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAChB;KAAc,UAAA;KAAA,QAAA,CAAA,IAAA;KAAA,UAAA,CAAA,gBAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MACd;IAAe;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;KAAA,UAAA,CAAA,aAAA,WAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MACf;IAAgB;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;KAAA,UAAA,CAAA,YAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAChB;IAAa;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;KAAA,UAAA,CAAA,SAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MACb;IAAiB;IAAA;KAAA,MAAA;KAAA,MACjB;IAAoB;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;KAAA,SAAA,CAAA,UAAA,cAAA;KAAA,UAAA,CAAA,gBAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MACpB;IAAa;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;KAAA,SAAA,CAAA,UAAA,OAAA;KAAA,UAAA,CAAA,SAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;KAAA;KAAA,SAAA;MAAA;MAAA;MAAA;MAAA;KAAA;KAAA,UAAA,CAAA,gBAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MACb;IAAc;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MACd;IAAkB;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;KAAA,SAAA,CAAA,MAAA;KAAA,UAAA,CAAA,cAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAClB;KAAgB,UAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAChB;IAAgB;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;KAAA,SAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;KAAA,UAAA,CAAA,WAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;KAAA,QAAA,CAAA,YAAA,aAAA;KAAA,SAAA,CAAA,eAAA;KAAA,UAAA,CAAA,oBAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAChB;IAAoB;IAAA;KAAA,MAAA;KAAA,MAAA,IAAA;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;KAAA;KAAA,SAAA,CAAA,cAAA;KAAA,UAAA,CAAA,gBAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MACpB;KAA4B,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAC5B;KAA4B,UAAA;KAAA,QAAA,CAAA,sBAAA;KAAA,SAAA,CAAA,SAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAC5B;KAAgC,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;KAAA,SAAA,CAAA,YAAA;IAAA;GAAA;GAAA,iBAAA,GAAA,wBAAA;EAAA,CAAA;CAAA;;AAGvB,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAA0B,YAAA,CAAA;EAzBtC,MAAA;EACO,MAAA,CAAA;GAAA,MAAA,EAAE,QAAQ,YAAY,aAAY,EAAE;GAAE,YAGhC;GAAI,iBACC,wBAAwB;GAAM,SACtC;IACP;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACD;GAAA,UAAA;GAAA,QAAA,CAAA,w3dAAA;EAAA,CAAA;CAG0C,CAAA;CAAA,sBAAA,CAAA;CAAA,gBAAA,EAAA,YAAA,CAAA;EAAA,MAAA,GAAA;EAAA,MAAA,CAAA,cAAY,EAAA,UAAA,KAAA,CAAA;CAAA,CAAA,EAAA;AAAA,CAAA"}
|
|
1
|
+
{"version":3,"file":"arsedizioni-ars-utils-clipper.ui-references.component-CEA_wJTS.mjs","names":[],"sources":["../../../projects/ars-utils/clipper.ui/references/references.component.ts","../../../projects/ars-utils/clipper.ui/references/references.component.html"],"sourcesContent":["import { Breakpoints } from '@angular/cdk/layout';\nimport { ChangeDetectionStrategy, Component, afterNextRender, inject, viewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MAT_DIALOG_DATA, MatDialogContent, MatDialogRef, MatDialogTitle } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatPaginatorModule, PageEvent } from '@angular/material/paginator';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatDrawer, MatSidenavModule } from '@angular/material/sidenav';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { ClipperDocumentInfo, ClipperQueryReferencesMode, ClipperReferencesSearchParams, ClipperSearchFacetsResult, ClipperSearchFacetsSnapshot, ClipperSearchParams, ClipperUserInfo } from '@arsedizioni/ars-utils/clipper.common';\nimport { ApiResult, SelectableModel, SystemUtils } from '@arsedizioni/ars-utils/core';\nimport { FlexLayoutModule } from '@arsedizioni/ars-utils/ui';\nimport { finalize } from 'rxjs/operators';\nimport { ClipperSearchResultManager } from '../search-result-manager/search-result-manager';\nimport { ClipperDocumentMenuComponent } from '../document-menu/document-menu.component';\nimport { ClipperSearchFacetsComponent } from '../search-facets/search-facets.component';\nimport { ClipperSearchResultItemComponent } from '../search-result-item/search-result-item.component';\n\n\nexport interface ClipperReferencesDialogData {\n mode?: ClipperQueryReferencesMode;\n anchor?: string;\n anchorTitle?: string;\n documentId: string;\n model: number;\n canHandleTooManyResults?: boolean;\n}\n\nexport interface ClipperReferenceDialogResult {\n documentId: string;\n}\n\n@Component({\n host: { 'Bind': SystemUtils.generateUUID() },\n templateUrl: './references.component.html',\n styleUrls: ['./references.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n FlexLayoutModule,\n MatDialogTitle,\n MatButtonModule,\n MatTooltipModule,\n MatIconModule,\n MatCheckboxModule,\n MatSlideToggleModule,\n MatMenuModule,\n MatBadgeModule,\n MatPaginatorModule,\n MatDialogContent,\n MatSidenavModule,\n MatProgressBarModule,\n ClipperDocumentMenuComponent,\n ClipperSearchFacetsComponent,\n ClipperSearchResultItemComponent,\n ],\n})\nexport class ClipperReferencesComponent extends ClipperSearchResultManager {\n readonly filterPane = viewChild<MatDrawer>('filterPane');\n\n private readonly dialogRef = inject(MatDialogRef<ClipperReferencesComponent>);\n protected readonly dialogData: ClipperReferencesDialogData = inject(MAT_DIALOG_DATA) ?? { mode: ClipperQueryReferencesMode.ReferencesIn };\n protected title?: string;\n protected item?: ClipperDocumentInfo;\n protected readonly user: ClipperUserInfo | undefined = this.clipperService.user;\n private _viewReady = false;\n\n constructor() {\n super();\n if (this.dialogData) {\n switch (this.dialogData.mode) {\n case ClipperQueryReferencesMode.ReferencesIn:\n this.title = \"Documenti richiamati nelle note o nel testo\";\n break;\n case ClipperQueryReferencesMode.ReferencesOut:\n this.title = \"Documenti che richiamano quello in visione\";\n break;\n case ClipperQueryReferencesMode.ChangesIn:\n this.title = \"Modifiche subite\";\n break;\n case ClipperQueryReferencesMode.ChangesOut:\n this.title = \"Modifiche apportate\";\n break;\n case ClipperQueryReferencesMode.Juris:\n this.title = \"Giurisprudenza associata\";\n break;\n }\n if (this.dialogData.anchorTitle) {\n this.title += \" - \" + this.dialogData.anchorTitle;\n }\n // Use service snapshot\n this.snapshot = this.clipperService.referencesSnapshot() ?? { searchParams: new ClipperSearchParams(), interval: \"-1\" };\n if (\n this.filterParams.mode !== this.dialogData.mode ||\n this.filterParams.id !== this.dialogData.documentId ||\n this.filterParams.anchor !== this.dialogData.anchor\n ) {\n this.filterParams = new ClipperSearchParams();\n this.filterParams.mode = this.dialogData.mode;\n this.filterParams.model = this.dialogData.model;\n this.filterParams.anchor = this.dialogData.anchor;\n this.filterParams.id = this.dialogData.documentId;\n this.filterParams.useModifierInfo = this.dialogData.mode === ClipperQueryReferencesMode.ChangesOut;\n this.filterParams.returnModifierInfo = this.dialogData.mode !== ClipperQueryReferencesMode.ChangesOut;\n this.clipperService.referencesSnapshot.set(this.snapshot);\n }\n }\n\n // Initialize selection\n this.selection = new SelectableModel<ClipperDocumentInfo, string>(true, 'documentId');\n\n // Observe layout changes\n this.breakpointObserver\n .observe([\n Breakpoints.XSmall,\n Breakpoints.Small,\n Breakpoints.Medium,\n Breakpoints.Large,\n Breakpoints.XLarge,\n ])\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((result: any) => {\n if (!this._viewReady) return; // DOM not ready yet\n for (const query of Object.keys(result.breakpoints)) {\n if (result.breakpoints[query]) {\n this.handleFilterPaneVisibility();\n }\n }\n });\n\n // Run view-dependent initialization after the first render.\n afterNextRender(() => {\n this._viewReady = true;\n this.handleFilterPaneVisibility();\n const filterPane = this.filterPane();\n if (filterPane) {\n filterPane.openedChange\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(opened => {\n if (filterPane.mode === 'over') {\n this.filterPaneHasBackdrop.set(opened);\n }\n });\n }\n const facets = this.facets();\n if (facets) {\n facets.changed\n .subscribe((value: ClipperSearchFacetsSnapshot) => {\n this.snapshot.facets = value;\n this.fetch(true);\n });\n }\n this.fetch(true);\n this.restoreFacets();\n this.changeDetector.markForCheck();\n });\n }\n\n\n /**\n * Toggles the filter pane open/closed state.\n */\n protected toggleFilterPane(): void {\n this.filterPaneClosed.set(!this.filterPaneClosed());\n this.filterPane()?.toggle();\n }\n\n\n\n /**\n * Adjusts the filter pane mode (side vs. overlay) and backdrop based on the current breakpoint.\n */\n private handleFilterPaneVisibility(): void {\n const filterPane = this.filterPane();\n if (filterPane) {\n if (this.breakpointObserver.isMatched(Breakpoints.XSmall) ||\n this.breakpointObserver.isMatched(Breakpoints.Small) ||\n this.breakpointObserver.isMatched(Breakpoints.Medium)) {\n if (filterPane.opened) {\n filterPane.close();\n }\n filterPane.mode = 'over';\n filterPane.disableClose = false;\n this.filterPaneHasBackdrop.set(filterPane.opened);\n } else {\n if (!this.hasFacets()) {\n filterPane.close();\n } else if (!filterPane.opened && !this.filterPaneClosed()) {\n filterPane.open();\n } else if (filterPane.opened && this.filterPaneClosed()) {\n filterPane.close();\n }\n filterPane.mode = 'side';\n filterPane.disableClose = true;\n this.filterPaneHasBackdrop.set(false);\n }\n }\n }\n\n\n /**\n * Closes the references dialog without returning a result.\n */\n close(): void {\n this.dialogRef.close();\n }\n\n\n\n /**\n * Sends document links by email for the given item or, when omitted, for all selected items.\n * @param item - The specific document to send, or `undefined` to use the current selection.\n */\n sendTo(item?: ClipperDocumentInfo): void {\n this.sendItemsTo(item ? [item] : this.selection?.all);\n }\n\n\n\n /**\n * Builds the search parameters for the next fetch call.\n * @param newSearch - When `true`, resets the pagination offset to 0.\n * @returns A cloned and enriched `ClipperSearchParams` ready to be sent to the API.\n */\n private prepareFetch(newSearch: boolean = false): ClipperSearchParams {\n const newParams = SystemUtils.clone(this.filterParams) as ClipperSearchParams;\n newParams.count = 15;\n newParams.useModifierInfo =\n newParams.mode === ClipperQueryReferencesMode.ChangesOut;\n newParams.returnModifierInfo =\n newParams.mode !== ClipperQueryReferencesMode.ChangesOut;\n // New search, reset paging\n if (newSearch) {\n newParams.first = 0;\n this.filterParams.first = 0;\n }\n\n // Apply facets\n if (this.snapshot.facets?.fromDate) {\n newParams.fromDate = this.snapshot.facets?.fromDate;\n newParams.toDate = this.snapshot.facets?.toDate;\n newParams.year = this.snapshot.facets?.fromDate.getFullYear();\n }\n if (this.snapshot.facets?.sector) {\n newParams.sector = this.snapshot.facets?.sector;\n }\n if (this.snapshot.facets?.type) {\n newParams.type = this.snapshot.facets?.type;\n }\n if (this.snapshot.facets?.author) {\n newParams.author = this.snapshot.facets?.author;\n }\n return newParams;\n }\n\n /**\n * Maps a generic `ClipperSearchParams` to the references-specific API parameter shape.\n * @param params - The base search parameters to convert.\n * @returns A `ClipperReferencesSearchParams` object ready for the references endpoint.\n */\n private toReferencesSearchParams(params: ClipperSearchParams): ClipperReferencesSearchParams {\n return {\n documentId: params.id,\n year: params.year,\n sector: params.sector,\n author: params.author,\n anchor: params.anchor,\n model: params.model?.toString() ?? null,\n mode: params.mode,\n excludeTextReferences: params.excludeTextReferences,\n excludeNotesReferences: params.excludeNotesReferences,\n returnModifierInfo: params.returnModifierInfo,\n useModifierInfo: params.useModifierInfo,\n count: 15,\n first: params.first ?? 0\n }\n }\n\n /**\n * Executes the references search and updates the result snapshot.\n * @param newSearch - When `true`, resets pagination and reloads facets. Defaults to `false`.\n */\n fetch(newSearch: boolean = false): void {\n if (!this.clipperService.loggedIn()) return;\n this.dialogService.busy('Ricerca in corso...');\n const searchParams = this.prepareFetch(newSearch);\n if (searchParams) {\n this.clipperService.documents.references(this.toReferencesSearchParams(searchParams))\n .pipe(finalize(() => this.dialogService.clearBusy()))\n .subscribe(r => {\n if (!r.success) this.dialogService.error(r.message);\n else {\n this.prepareResults(r.value, newSearch);\n\n // Handle facets\n if (this.snapshot.total > 0) {\n if (newSearch)\n // Update facets\n this.fetchFacets(searchParams);\n } else {\n this.hideFacets();\n }\n\n if (newSearch) {\n const paginator = this.paginator();\n if (paginator) paginator.pageIndex = 0;\n }\n\n this.scroll(0);\n }\n });\n }\n }\n\n /**\n * Navigates to the next result page.\n * @param e - The `PageEvent` emitted by the paginator with the new page index and size.\n */\n fetchMore(e: PageEvent): void {\n const first = e.pageIndex * (this.filterParams.count ?? 15);\n this.filterParams.first = first;\n this.fetch();\n }\n\n /**\n * Loads available facets for the current search parameters and updates the filter pane.\n * @param params - The search parameters used to request facets from the API.\n */\n fetchFacets(params: ClipperSearchParams): void {\n if (!this.clipperService.loggedIn() || !params) return;\n if (!this.snapshot.facets || this.snapshot.facets?.hasMoreFacets) {\n this.filterBusy.set(true);\n this.clipperService.documents.referencesFacets(this.toReferencesSearchParams(params))\n .subscribe({\n next: (r: ApiResult<ClipperSearchFacetsResult>) => {\n if (r.success) {\n let hasFacets = (r.value.facets?.length ?? 0) > 0;\n if (r.value.facets) {\n const facets = this.facets();\n facets?.update(r.value.facets, r.value.interval);\n if (facets && this.snapshot) {\n hasFacets = facets.hasFacets();\n this.snapshot.facets = facets.save();\n this.snapshot.facets.hasTooManyResults = (this.snapshot?.total ?? 0) >= 1000;\n }\n }\n this.hasFacets.set(hasFacets);\n this.handleFilterPaneVisibility();\n }\n },\n complete: () => {\n this.filterBusy.set(false);\n }\n });\n }\n }\n\n /**\n * Hides the facet filter pane and resets all applied facet filters.\n */\n protected hideFacets(): void {\n this.hasFacets.set(false);\n this.facets()?.reset();\n this.filterPane().close();\n this.filterPaneClosed.set(false);\n }\n /**\n * Restores previously saved facets from the snapshot and adjusts the filter pane accordingly.\n */\n restoreFacets(): void {\n if (this.snapshot.facets) {\n this.facets().restore(this.snapshot.facets);\n this.handleFilterPaneVisibility();\n }\n }\n\n /**\n * Closes the dialog and navigates to the selected document.\n * @param documentId - The ID of the document to open.\n */\n override open(documentId?: string): void {\n if (documentId) this.dialogRef.close({ documentId });\n }\n\n /**\n * Returns the CSS class reflecting the item's validity state.\n * @param item - The document to evaluate.\n * @returns A CSS class name string, or `undefined` when no special state applies.\n */\n override getItemStateCssClass(item: ClipperDocumentInfo): string | undefined {\n if (item.isExpired) return 'expired-bg';\n return undefined;\n }\n\n /**\n * Returns the tooltip text explaining the item's current validity state.\n * @param item - The document to evaluate.\n * @returns A human-readable state description, or an empty string when no special state applies.\n */\n override getItemStateTooltip(item: ClipperDocumentInfo): string {\n if (item.isExpired) return 'Non più vigente';\n return '';\n }\n}\n","<div class=\"clipper-references-fixed\">\n <div class=\"dialog-header\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap='10px' fxFill>\n <div fxFlex=\"*\">\n <div mat-dialog-title>{{title}} </div>\n </div>\n <div fxLayoutAlign=\"end\">\n <button fxFlexAlign=\"start\" type=\"button\" mat-icon-button matTooltip=\"Chiudi\" aria-label=\"Chiudi\"\n (click)=\"close()\" class=\"dialog-close\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n </div>\n @if (dialogData.mode > 0 || selection?.hasValue() || (snapshot && snapshot.facets?.hasFacets && filterPane &&\n (!filterPane.opened || filterPaneClosed()))) {\n <div class=\"dialog-toolbar\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxFill>\n <div fxFlex=\"*\">\n @if (dialogData.mode === 1) {\n <mat-slide-toggle [checked]=\"filterParams.excludeTextReferences === true\"\n (change)=\"filterParams.excludeTextReferences = $event.checked; fetch(true)\">\n Mostra solo se citati nelle note\n </mat-slide-toggle>\n } @else if (dialogData.mode == 2) {\n <mat-slide-toggle [checked]=\"filterParams.excludeNotesReferences === true\"\n (change)=\"filterParams.excludeNotesReferences = $event.checked; fetch(true)\">\n Mostra solo se citano nel testo il documento\n </mat-slide-toggle>\n }\n </div>\n <div fxLayoutAlign=\"end\">\n @if (selection?.hasValue()) {\n <button fxFlexAlign=\"center\" type=\"button\" mat-icon-button\n matTooltip=\"Azioni da eseguire sugli elementi selezionati\"\n [attr.aria-label]=\"'Menu opzioni per elementi selezionati'\" [matMenuTriggerFor]=\"menuSelections\"\n [disabled]=\"!snapshot.total\" [matBadge]=\"selection?.all?.length\">\n <mat-icon>checklist</mat-icon>\n </button>\n }\n <mat-menu #menuSelections=\"matMenu\">\n <clipper-document-menu [parent]=\"this\" selectionSource=\"selection\" [useSelections]=\"true\"\n [isReadable]=\"false\" [isReference]=\"true\" [canUseAIAssistant]=\"user?.hasAIAssistant ?? false\">\n </clipper-document-menu>\n </mat-menu>\n @if (snapshot && snapshot.facets?.hasFacets && filterPane && (!filterPane.opened || filterPaneClosed())) {\n <div fxFlexAlign=\"center\">\n <button type=\"button\" mat-icon-button matTooltip=\"Affina ricerca\" aria-label=\"'Affina ricerca'\"\n (click)=\"toggleFilterPane()\">\n <mat-icon>right_panel_open</mat-icon>\n </button>\n </div>\n }\n </div>\n </div>\n </div>\n }\n </div>\n</div>\n<mat-dialog-content id=\"clipper-references-scrollable\">\n <mat-drawer-container class=\"fill\" [hasBackdrop]=\"filterPaneHasBackdrop()\">\n <mat-drawer #filterPane position=\"end\" class=\"drawer-small drawer-with-loader\" opened=\"false\">\n @if (filterBusy()) {\n <div class=\"overlay\"></div>\n }\n <div fxLayout=\"column\" fxFill>\n <div fxFlex=\"6px\">\n @if (filterBusy()) {\n <mat-progress-bar style=\"z-index: 11;\" mode=\"indeterminate\">\n </mat-progress-bar>\n }\n </div>\n <div fxFlex=\"78px\" class=\"title-container-with-loader\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxFill>\n <div class=\"title\">Affina ricerca</div>\n <div fxFlex=\"*\" fxLayoutAlign=\"end\">\n <button mat-icon-button (click)=\"toggleFilterPane()\"\n matTooltip=\"Nascondi\"><mat-icon>right_panel_close</mat-icon></button>\n </div>\n </div>\n </div>\n <div fxFlex=\"*\" class=\"scroll-hidden\" style=\"padding: 0 5px;\">\n <clipper-search-facets #facets [handleTooManyResults]=\"dialogData.canHandleTooManyResults\" ></clipper-search-facets>\n </div>\n </div>\n </mat-drawer>\n <div fxLayout=\"column\" fxFill>\n <div fxFlex=\"*\" [id]=\"scrollerId\" class=\"scroll-auto\" style=\"padding: 0 5px;\">\n @if (!snapshot.total) {\n <div class=\"message-container\">\n <p class=\"message\"><b>Nessun elemento da visualizzare.</b></p>\n </div>\n } @else {\n <div>\n @for (item of snapshot.items; track $index; let i = $index) {\n @if (item.group) {\n <div class=\"items-group-title\">\n <div [class.group-spaced]=\"i > 0\">{{item.group}}</div>\n </div>\n }\n <clipper-search-result-item [item]=\"item\" [parent]=\"this\" [isReadable]=\"false\"\n [actions]=\"contextMenu\"></clipper-search-result-item>\n }\n <mat-menu #contextMenu=\"matMenu\" (closed)=\"updateMenuButtonsVisibility()\">\n <ng-template matMenuContent let-item=\"item\">\n <clipper-document-menu [parent]=\"this\" [item]=\"item\" [isReadable]=\"false\" [isReference]=\"true\"\n [canUseAIAssistant]=\"user?.hasAIAssistant ?? false\">\n </clipper-document-menu>\n </ng-template>\n </mat-menu>\n </div>\n }\n </div>\n <!-- footer -->\n @if ((snapshot?.total ?? 0) > 0) {\n <div class=\"items-footer\">\n <div fxLayout=\"row wrap\" fxLayoutGap=\"10px\" fxLayoutAlign=\"space-between center\" fxFill>\n <!-- legend -->\n <div fxFlex.lt-md=\"100\" class=\"legend-container\">\n <div class=\"legend expired-bg \"></div>\n non più vigente\n </div>\n <div fxFlex.lt-md=\"100\" fxLayoutAlign=\"end\" [class.wide]=\"filterPane?.opened\">\n <div fxLayout=\"row\">\n <mat-paginator fxFlexAlign=\"center\" #paginator class=\"paginator\" [hidePageSize]=\"true\"\n [length]=\"snapshot?.total ?? 0\" [pageSize]=\"filterParams.count ?? 15\" [showFirstLastButtons]=\"true\"\n (page)=\"fetchMore($event)\">\n </mat-paginator>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n </mat-drawer-container>\n</mat-dialog-content>"],"mappings":"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"}
|
|
@@ -163,7 +163,7 @@ var ClipperDocumentMenuComponent = class ClipperDocumentMenuComponent {
|
|
|
163
163
|
static {
|
|
164
164
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
165
165
|
minVersion: "12.0.0",
|
|
166
|
-
version: "22.2.
|
|
166
|
+
version: "22.2.2",
|
|
167
167
|
ngImport: i0,
|
|
168
168
|
type: ClipperDocumentMenuComponent,
|
|
169
169
|
deps: [],
|
|
@@ -173,7 +173,7 @@ var ClipperDocumentMenuComponent = class ClipperDocumentMenuComponent {
|
|
|
173
173
|
static {
|
|
174
174
|
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
175
175
|
minVersion: "17.0.0",
|
|
176
|
-
version: "22.2.
|
|
176
|
+
version: "22.2.2",
|
|
177
177
|
type: ClipperDocumentMenuComponent,
|
|
178
178
|
isStandalone: true,
|
|
179
179
|
selector: "clipper-document-menu",
|
|
@@ -514,7 +514,7 @@ var ClipperDocumentMenuComponent = class ClipperDocumentMenuComponent {
|
|
|
514
514
|
};
|
|
515
515
|
i0.ɵɵngDeclareClassMetadata({
|
|
516
516
|
minVersion: "12.0.0",
|
|
517
|
-
version: "22.2.
|
|
517
|
+
version: "22.2.2",
|
|
518
518
|
ngImport: i0,
|
|
519
519
|
type: ClipperDocumentMenuComponent,
|
|
520
520
|
decorators: [{
|
|
@@ -777,7 +777,7 @@ var ClipperSearchFacetsComponent = class ClipperSearchFacetsComponent {
|
|
|
777
777
|
static {
|
|
778
778
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
779
779
|
minVersion: "12.0.0",
|
|
780
|
-
version: "22.2.
|
|
780
|
+
version: "22.2.2",
|
|
781
781
|
ngImport: i0,
|
|
782
782
|
type: ClipperSearchFacetsComponent,
|
|
783
783
|
deps: [],
|
|
@@ -787,7 +787,7 @@ var ClipperSearchFacetsComponent = class ClipperSearchFacetsComponent {
|
|
|
787
787
|
static {
|
|
788
788
|
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
789
789
|
minVersion: "17.0.0",
|
|
790
|
-
version: "22.2.
|
|
790
|
+
version: "22.2.2",
|
|
791
791
|
type: ClipperSearchFacetsComponent,
|
|
792
792
|
isStandalone: true,
|
|
793
793
|
selector: "clipper-search-facets",
|
|
@@ -1068,7 +1068,7 @@ var ClipperSearchFacetsComponent = class ClipperSearchFacetsComponent {
|
|
|
1068
1068
|
};
|
|
1069
1069
|
i0.ɵɵngDeclareClassMetadata({
|
|
1070
1070
|
minVersion: "12.0.0",
|
|
1071
|
-
version: "22.2.
|
|
1071
|
+
version: "22.2.2",
|
|
1072
1072
|
ngImport: i0,
|
|
1073
1073
|
type: ClipperSearchFacetsComponent,
|
|
1074
1074
|
decorators: [{
|
|
@@ -1233,7 +1233,7 @@ var ClipperDocumentManager = class ClipperDocumentManager {
|
|
|
1233
1233
|
}
|
|
1234
1234
|
openReferences(documentId, mode = ClipperQueryReferencesMode.ReferencesIn) {
|
|
1235
1235
|
if (!documentId) return;
|
|
1236
|
-
import("./arsedizioni-ars-utils-clipper.ui-references.component-
|
|
1236
|
+
import("./arsedizioni-ars-utils-clipper.ui-references.component-CEA_wJTS.mjs").then(({ ClipperReferencesComponent }) => {
|
|
1237
1237
|
this.dialogService.open(ClipperReferencesComponent, {
|
|
1238
1238
|
ariaLabel: "riferimenti legati al documento",
|
|
1239
1239
|
autoFocus: "dialog",
|
|
@@ -1339,7 +1339,7 @@ var ClipperDocumentManager = class ClipperDocumentManager {
|
|
|
1339
1339
|
static {
|
|
1340
1340
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
1341
1341
|
minVersion: "12.0.0",
|
|
1342
|
-
version: "22.2.
|
|
1342
|
+
version: "22.2.2",
|
|
1343
1343
|
ngImport: i0,
|
|
1344
1344
|
type: ClipperDocumentManager,
|
|
1345
1345
|
deps: [],
|
|
@@ -1349,7 +1349,7 @@ var ClipperDocumentManager = class ClipperDocumentManager {
|
|
|
1349
1349
|
static {
|
|
1350
1350
|
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
1351
1351
|
minVersion: "14.0.0",
|
|
1352
|
-
version: "22.2.
|
|
1352
|
+
version: "22.2.2",
|
|
1353
1353
|
type: ClipperDocumentManager,
|
|
1354
1354
|
isStandalone: true,
|
|
1355
1355
|
selector: "ng-component",
|
|
@@ -1363,7 +1363,7 @@ var ClipperDocumentManager = class ClipperDocumentManager {
|
|
|
1363
1363
|
};
|
|
1364
1364
|
i0.ɵɵngDeclareClassMetadata({
|
|
1365
1365
|
minVersion: "12.0.0",
|
|
1366
|
-
version: "22.2.
|
|
1366
|
+
version: "22.2.2",
|
|
1367
1367
|
ngImport: i0,
|
|
1368
1368
|
type: ClipperDocumentManager,
|
|
1369
1369
|
decorators: [{
|
|
@@ -1393,7 +1393,7 @@ var ClipperDocumentViewerService = class ClipperDocumentViewerService {
|
|
|
1393
1393
|
this.dialogService.error("Documento non valido.");
|
|
1394
1394
|
return;
|
|
1395
1395
|
}
|
|
1396
|
-
import("./arsedizioni-ars-utils-clipper.ui-document.component-
|
|
1396
|
+
import("./arsedizioni-ars-utils-clipper.ui-document.component-BKjGXtXa.mjs").then(({ ClipperDocumentComponent }) => {
|
|
1397
1397
|
const ref = this.dialogService.open(ClipperDocumentComponent, {
|
|
1398
1398
|
ariaLabel: "documento",
|
|
1399
1399
|
autoFocus: "dialog",
|
|
@@ -1424,7 +1424,7 @@ var ClipperDocumentViewerService = class ClipperDocumentViewerService {
|
|
|
1424
1424
|
static {
|
|
1425
1425
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
1426
1426
|
minVersion: "12.0.0",
|
|
1427
|
-
version: "22.2.
|
|
1427
|
+
version: "22.2.2",
|
|
1428
1428
|
ngImport: i0,
|
|
1429
1429
|
type: ClipperDocumentViewerService,
|
|
1430
1430
|
deps: [],
|
|
@@ -1434,7 +1434,7 @@ var ClipperDocumentViewerService = class ClipperDocumentViewerService {
|
|
|
1434
1434
|
static {
|
|
1435
1435
|
this.ɵprov = i0.ɵɵngDeclareService({
|
|
1436
1436
|
minVersion: "22.0.0",
|
|
1437
|
-
version: "22.2.
|
|
1437
|
+
version: "22.2.2",
|
|
1438
1438
|
ngImport: i0,
|
|
1439
1439
|
type: ClipperDocumentViewerService
|
|
1440
1440
|
});
|
|
@@ -1442,7 +1442,7 @@ var ClipperDocumentViewerService = class ClipperDocumentViewerService {
|
|
|
1442
1442
|
};
|
|
1443
1443
|
i0.ɵɵngDeclareClassMetadata({
|
|
1444
1444
|
minVersion: "12.0.0",
|
|
1445
|
-
version: "22.2.
|
|
1445
|
+
version: "22.2.2",
|
|
1446
1446
|
ngImport: i0,
|
|
1447
1447
|
type: ClipperDocumentViewerService,
|
|
1448
1448
|
decorators: [{ type: Service }]
|
|
@@ -1804,7 +1804,7 @@ var ClipperSearchResultManager = class ClipperSearchResultManager extends Clippe
|
|
|
1804
1804
|
static {
|
|
1805
1805
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
1806
1806
|
minVersion: "12.0.0",
|
|
1807
|
-
version: "22.2.
|
|
1807
|
+
version: "22.2.2",
|
|
1808
1808
|
ngImport: i0,
|
|
1809
1809
|
type: ClipperSearchResultManager,
|
|
1810
1810
|
deps: null,
|
|
@@ -1814,7 +1814,7 @@ var ClipperSearchResultManager = class ClipperSearchResultManager extends Clippe
|
|
|
1814
1814
|
static {
|
|
1815
1815
|
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
1816
1816
|
minVersion: "17.2.0",
|
|
1817
|
-
version: "22.2.
|
|
1817
|
+
version: "22.2.2",
|
|
1818
1818
|
type: ClipperSearchResultManager,
|
|
1819
1819
|
isStandalone: true,
|
|
1820
1820
|
selector: "ng-component",
|
|
@@ -1851,7 +1851,7 @@ var ClipperSearchResultManager = class ClipperSearchResultManager extends Clippe
|
|
|
1851
1851
|
};
|
|
1852
1852
|
i0.ɵɵngDeclareClassMetadata({
|
|
1853
1853
|
minVersion: "12.0.0",
|
|
1854
|
-
version: "22.2.
|
|
1854
|
+
version: "22.2.2",
|
|
1855
1855
|
ngImport: i0,
|
|
1856
1856
|
type: ClipperSearchResultManager,
|
|
1857
1857
|
decorators: [{
|
|
@@ -1881,7 +1881,7 @@ var ClipperSearchFreeTextHelpComponent = class ClipperSearchFreeTextHelpComponen
|
|
|
1881
1881
|
static {
|
|
1882
1882
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
1883
1883
|
minVersion: "12.0.0",
|
|
1884
|
-
version: "22.2.
|
|
1884
|
+
version: "22.2.2",
|
|
1885
1885
|
ngImport: i0,
|
|
1886
1886
|
type: ClipperSearchFreeTextHelpComponent,
|
|
1887
1887
|
deps: [],
|
|
@@ -1891,7 +1891,7 @@ var ClipperSearchFreeTextHelpComponent = class ClipperSearchFreeTextHelpComponen
|
|
|
1891
1891
|
static {
|
|
1892
1892
|
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
1893
1893
|
minVersion: "14.0.0",
|
|
1894
|
-
version: "22.2.
|
|
1894
|
+
version: "22.2.2",
|
|
1895
1895
|
type: ClipperSearchFreeTextHelpComponent,
|
|
1896
1896
|
isStandalone: true,
|
|
1897
1897
|
selector: "ng-component",
|
|
@@ -2037,7 +2037,7 @@ var ClipperSearchFreeTextHelpComponent = class ClipperSearchFreeTextHelpComponen
|
|
|
2037
2037
|
};
|
|
2038
2038
|
i0.ɵɵngDeclareClassMetadata({
|
|
2039
2039
|
minVersion: "12.0.0",
|
|
2040
|
-
version: "22.2.
|
|
2040
|
+
version: "22.2.2",
|
|
2041
2041
|
ngImport: i0,
|
|
2042
2042
|
type: ClipperSearchFreeTextHelpComponent,
|
|
2043
2043
|
decorators: [{
|
|
@@ -2125,7 +2125,7 @@ var ClipperSearchFreeTextQueryBuilderComponent = class ClipperSearchFreeTextQuer
|
|
|
2125
2125
|
static {
|
|
2126
2126
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
2127
2127
|
minVersion: "12.0.0",
|
|
2128
|
-
version: "22.2.
|
|
2128
|
+
version: "22.2.2",
|
|
2129
2129
|
ngImport: i0,
|
|
2130
2130
|
type: ClipperSearchFreeTextQueryBuilderComponent,
|
|
2131
2131
|
deps: [],
|
|
@@ -2135,7 +2135,7 @@ var ClipperSearchFreeTextQueryBuilderComponent = class ClipperSearchFreeTextQuer
|
|
|
2135
2135
|
static {
|
|
2136
2136
|
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
2137
2137
|
minVersion: "17.0.0",
|
|
2138
|
-
version: "22.2.
|
|
2138
|
+
version: "22.2.2",
|
|
2139
2139
|
type: ClipperSearchFreeTextQueryBuilderComponent,
|
|
2140
2140
|
isStandalone: true,
|
|
2141
2141
|
selector: "ng-component",
|
|
@@ -2397,7 +2397,7 @@ var ClipperSearchFreeTextQueryBuilderComponent = class ClipperSearchFreeTextQuer
|
|
|
2397
2397
|
};
|
|
2398
2398
|
i0.ɵɵngDeclareClassMetadata({
|
|
2399
2399
|
minVersion: "12.0.0",
|
|
2400
|
-
version: "22.2.
|
|
2400
|
+
version: "22.2.2",
|
|
2401
2401
|
ngImport: i0,
|
|
2402
2402
|
type: ClipperSearchFreeTextQueryBuilderComponent,
|
|
2403
2403
|
decorators: [{
|
|
@@ -2487,7 +2487,7 @@ var ClipperSearchResultItemComponent = class ClipperSearchResultItemComponent {
|
|
|
2487
2487
|
static {
|
|
2488
2488
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
2489
2489
|
minVersion: "12.0.0",
|
|
2490
|
-
version: "22.2.
|
|
2490
|
+
version: "22.2.2",
|
|
2491
2491
|
ngImport: i0,
|
|
2492
2492
|
type: ClipperSearchResultItemComponent,
|
|
2493
2493
|
deps: [],
|
|
@@ -2497,7 +2497,7 @@ var ClipperSearchResultItemComponent = class ClipperSearchResultItemComponent {
|
|
|
2497
2497
|
static {
|
|
2498
2498
|
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
2499
2499
|
minVersion: "17.0.0",
|
|
2500
|
-
version: "22.2.
|
|
2500
|
+
version: "22.2.2",
|
|
2501
2501
|
type: ClipperSearchResultItemComponent,
|
|
2502
2502
|
isStandalone: true,
|
|
2503
2503
|
selector: "clipper-search-result-item",
|
|
@@ -2883,7 +2883,7 @@ var ClipperSearchResultItemComponent = class ClipperSearchResultItemComponent {
|
|
|
2883
2883
|
};
|
|
2884
2884
|
i0.ɵɵngDeclareClassMetadata({
|
|
2885
2885
|
minVersion: "12.0.0",
|
|
2886
|
-
version: "22.2.
|
|
2886
|
+
version: "22.2.2",
|
|
2887
2887
|
ngImport: i0,
|
|
2888
2888
|
type: ClipperSearchResultItemComponent,
|
|
2889
2889
|
decorators: [{
|
|
@@ -3951,7 +3951,7 @@ var ClipperBrowserComponent = class ClipperBrowserComponent extends ClipperSearc
|
|
|
3951
3951
|
static {
|
|
3952
3952
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
3953
3953
|
minVersion: "12.0.0",
|
|
3954
|
-
version: "22.2.
|
|
3954
|
+
version: "22.2.2",
|
|
3955
3955
|
ngImport: i0,
|
|
3956
3956
|
type: ClipperBrowserComponent,
|
|
3957
3957
|
deps: [],
|
|
@@ -3961,7 +3961,7 @@ var ClipperBrowserComponent = class ClipperBrowserComponent extends ClipperSearc
|
|
|
3961
3961
|
static {
|
|
3962
3962
|
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
3963
3963
|
minVersion: "17.0.0",
|
|
3964
|
-
version: "22.2.
|
|
3964
|
+
version: "22.2.2",
|
|
3965
3965
|
type: ClipperBrowserComponent,
|
|
3966
3966
|
isStandalone: true,
|
|
3967
3967
|
selector: "clipper-browser",
|
|
@@ -4872,7 +4872,7 @@ var ClipperBrowserComponent = class ClipperBrowserComponent extends ClipperSearc
|
|
|
4872
4872
|
};
|
|
4873
4873
|
i0.ɵɵngDeclareClassMetadata({
|
|
4874
4874
|
minVersion: "12.0.0",
|
|
4875
|
-
version: "22.2.
|
|
4875
|
+
version: "22.2.2",
|
|
4876
4876
|
ngImport: i0,
|
|
4877
4877
|
type: ClipperBrowserComponent,
|
|
4878
4878
|
decorators: [{
|
|
@@ -5043,7 +5043,7 @@ var ClipperBrowserDialogComponent = class ClipperBrowserDialogComponent {
|
|
|
5043
5043
|
static {
|
|
5044
5044
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
5045
5045
|
minVersion: "12.0.0",
|
|
5046
|
-
version: "22.2.
|
|
5046
|
+
version: "22.2.2",
|
|
5047
5047
|
ngImport: i0,
|
|
5048
5048
|
type: ClipperBrowserDialogComponent,
|
|
5049
5049
|
deps: [],
|
|
@@ -5053,7 +5053,7 @@ var ClipperBrowserDialogComponent = class ClipperBrowserDialogComponent {
|
|
|
5053
5053
|
static {
|
|
5054
5054
|
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
5055
5055
|
minVersion: "17.0.0",
|
|
5056
|
-
version: "22.2.
|
|
5056
|
+
version: "22.2.2",
|
|
5057
5057
|
type: ClipperBrowserDialogComponent,
|
|
5058
5058
|
isStandalone: true,
|
|
5059
5059
|
selector: "ng-component",
|
|
@@ -5324,7 +5324,7 @@ var ClipperBrowserDialogComponent = class ClipperBrowserDialogComponent {
|
|
|
5324
5324
|
};
|
|
5325
5325
|
i0.ɵɵngDeclareClassMetadata({
|
|
5326
5326
|
minVersion: "12.0.0",
|
|
5327
|
-
version: "22.2.
|
|
5327
|
+
version: "22.2.2",
|
|
5328
5328
|
ngImport: i0,
|
|
5329
5329
|
type: ClipperBrowserDialogComponent,
|
|
5330
5330
|
decorators: [{
|
|
@@ -5397,7 +5397,7 @@ var ClipperDocumentIndexComponent = class ClipperDocumentIndexComponent {
|
|
|
5397
5397
|
static {
|
|
5398
5398
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
5399
5399
|
minVersion: "12.0.0",
|
|
5400
|
-
version: "22.2.
|
|
5400
|
+
version: "22.2.2",
|
|
5401
5401
|
ngImport: i0,
|
|
5402
5402
|
type: ClipperDocumentIndexComponent,
|
|
5403
5403
|
deps: [],
|
|
@@ -5407,7 +5407,7 @@ var ClipperDocumentIndexComponent = class ClipperDocumentIndexComponent {
|
|
|
5407
5407
|
static {
|
|
5408
5408
|
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
5409
5409
|
minVersion: "17.0.0",
|
|
5410
|
-
version: "22.2.
|
|
5410
|
+
version: "22.2.2",
|
|
5411
5411
|
type: ClipperDocumentIndexComponent,
|
|
5412
5412
|
isStandalone: true,
|
|
5413
5413
|
selector: "ng-component",
|
|
@@ -5633,7 +5633,7 @@ var ClipperDocumentIndexComponent = class ClipperDocumentIndexComponent {
|
|
|
5633
5633
|
};
|
|
5634
5634
|
i0.ɵɵngDeclareClassMetadata({
|
|
5635
5635
|
minVersion: "12.0.0",
|
|
5636
|
-
version: "22.2.
|
|
5636
|
+
version: "22.2.2",
|
|
5637
5637
|
ngImport: i0,
|
|
5638
5638
|
type: ClipperDocumentIndexComponent,
|
|
5639
5639
|
decorators: [{
|
|
@@ -5740,7 +5740,7 @@ var ClipperSearchCalendarComponent = class ClipperSearchCalendarComponent {
|
|
|
5740
5740
|
static {
|
|
5741
5741
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
5742
5742
|
minVersion: "12.0.0",
|
|
5743
|
-
version: "22.2.
|
|
5743
|
+
version: "22.2.2",
|
|
5744
5744
|
ngImport: i0,
|
|
5745
5745
|
type: ClipperSearchCalendarComponent,
|
|
5746
5746
|
deps: [],
|
|
@@ -5750,7 +5750,7 @@ var ClipperSearchCalendarComponent = class ClipperSearchCalendarComponent {
|
|
|
5750
5750
|
static {
|
|
5751
5751
|
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
5752
5752
|
minVersion: "17.0.0",
|
|
5753
|
-
version: "22.2.
|
|
5753
|
+
version: "22.2.2",
|
|
5754
5754
|
type: ClipperSearchCalendarComponent,
|
|
5755
5755
|
isStandalone: true,
|
|
5756
5756
|
selector: "clipper-search-calendar",
|
|
@@ -5965,7 +5965,7 @@ var ClipperSearchCalendarComponent = class ClipperSearchCalendarComponent {
|
|
|
5965
5965
|
};
|
|
5966
5966
|
i0.ɵɵngDeclareClassMetadata({
|
|
5967
5967
|
minVersion: "12.0.0",
|
|
5968
|
-
version: "22.2.
|
|
5968
|
+
version: "22.2.2",
|
|
5969
5969
|
ngImport: i0,
|
|
5970
5970
|
type: ClipperSearchCalendarComponent,
|
|
5971
5971
|
decorators: [{
|