c3-components 0.14.1 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/c3-components.mjs +534 -532
- package/fesm2022/c3-components.mjs.map +1 -1
- package/index.d.ts +868 -3
- package/package.json +1 -1
- package/lib/c3-auto-animate/c3-auto-animate.directive.d.ts +0 -11
- package/lib/c3-dialog/c3-dialog.module.d.ts +0 -20
- package/lib/c3-dialog/components/c3-dialog-alert.component.d.ts +0 -15
- package/lib/c3-dialog/components/c3-dialog-confirm.component.d.ts +0 -23
- package/lib/c3-dialog/components/c3-dialog-embed-child.component.d.ts +0 -60
- package/lib/c3-dialog/components/c3-dialog-prompt.component.d.ts +0 -31
- package/lib/c3-dialog/components/c3-dialog-template/c3-dialog-template.component.d.ts +0 -9
- package/lib/c3-dialog/directives/c3-open-dialog.directive.d.ts +0 -11
- package/lib/c3-dialog/services/c3-dialog.service.d.ts +0 -82
- package/lib/c3-dropdown/c3-dropdown.module.d.ts +0 -10
- package/lib/c3-dropdown/components/c3-dropdown.component.d.ts +0 -13
- package/lib/c3-dropdown/directives/c3-dropdown.trigger.d.ts +0 -41
- package/lib/c3-expansion/c3-expansion.module.d.ts +0 -14
- package/lib/c3-expansion/components/c3-expansion/c3-expansion.component.d.ts +0 -17
- package/lib/c3-expansion/components/c3-expansion-header/c3-expansion-header.component.d.ts +0 -9
- package/lib/c3-file-displayer/c3-file-display-card/c3-file-display-card.component.d.ts +0 -20
- package/lib/c3-file-displayer/c3-file-display-grid/c3-file-display-grid.component.d.ts +0 -24
- package/lib/c3-file-displayer/c3-file-display-icon/c3-file-display-icon.component.d.ts +0 -8
- package/lib/c3-file-displayer/c3-file-display-list/c3-file-display-list-column-def.directive.d.ts +0 -21
- package/lib/c3-file-displayer/c3-file-display-list/c3-file-display-list.component.d.ts +0 -27
- package/lib/c3-file-displayer/c3-file-display-list/tokens.d.ts +0 -2
- package/lib/c3-file-displayer/c3-file-displayer.module.d.ts +0 -12
- package/lib/c3-file-viewer/c3-file-viewer.module.d.ts +0 -20
- package/lib/c3-file-viewer/components/c3-file-viewer-actions/c3-file-viewer-actions.component.d.ts +0 -8
- package/lib/c3-file-viewer/components/c3-file-viewer-default/c3-file-viewer-default.component.d.ts +0 -7
- package/lib/c3-file-viewer/components/c3-file-viewer-image/c3-file-viewer-image.component.d.ts +0 -9
- package/lib/c3-file-viewer/components/c3-file-viewer-pdf/c3-file-viewer-pdf.component.d.ts +0 -9
- package/lib/c3-file-viewer/components/c3-file-viewer-video/c3-file-viewer-video.component.d.ts +0 -7
- package/lib/c3-file-viewer/components/public/c3-file-viewer/c3-file-viewer.component.d.ts +0 -25
- package/lib/c3-file-viewer/components/public/c3-file-viewer-dialog/c3-file-viewer-dialog.component.d.ts +0 -12
- package/lib/c3-file-viewer/components/public/c3-file-viewer-dialog/c3-file-viewer-dialog.d.ts +0 -8
- package/lib/c3-file-viewer/consts/default.config.d.ts +0 -2
- package/lib/c3-file-viewer/consts/supported-type.d.ts +0 -2
- package/lib/c3-file-viewer/directives/full-screen.directive.d.ts +0 -12
- package/lib/c3-file-viewer/models/custom-file-event.model.d.ts +0 -5
- package/lib/c3-file-viewer/models/file-metadata.d.ts +0 -19
- package/lib/c3-file-viewer/models/file-viewer-config.model.d.ts +0 -50
- package/lib/c3-file-viewer/models/file-viewer.d.ts +0 -73
- package/lib/c3-file-viewer/models/http.client.d.ts +0 -14
- package/lib/c3-flowing-menu/c3-flowing-menu.module.d.ts +0 -10
- package/lib/c3-flowing-menu/components/c3-flowing-menu/c3-flowing-menu.component.d.ts +0 -12
- package/lib/c3-flowing-menu/components/c3-flowing-menu-item/c3-flowing-menu-item.component.d.ts +0 -9
- package/lib/c3-flowing-menu/components/c3-flowing-menu-item-content/c3-flowing-menu-item-content.component.d.ts +0 -5
- package/lib/c3-menu/c3-menu.module.d.ts +0 -11
- package/lib/c3-menu/components/c3-menu/c3-menu.component.d.ts +0 -7
- package/lib/c3-menu/components/c3-nav-item/c3-nav-item.component.d.ts +0 -14
- package/lib/c3-menu/services/c3-menu.service.d.ts +0 -14
- package/lib/c3-prevent-event/c3-prevent-click-event.directive.d.ts +0 -13
- package/lib/c3-prevent-event/c3-prevent-keyboard-event.directive.d.ts +0 -17
- package/lib/c3-prevent-event/c3-stop-click-propagation.directive.d.ts +0 -6
- package/lib/c3-prevent-event/index.d.ts +0 -3
- package/lib/c3-safe-url/pipes/c3-safe-url.pipe.d.ts +0 -10
- package/lib/c3-select-on-focus/c3-select-on-focus.directive.d.ts +0 -6
- package/lib/c3-trace-card/c3-trace-card.module.d.ts +0 -12
- package/lib/c3-trace-card/components/c3-trace-card/c3-trace-card.component.d.ts +0 -8
- package/lib/c3-trace-card/components/c3-trace-card-content/c3-trace-card-content.component.d.ts +0 -5
- package/lib/c3-trace-card/components/c3-trace-card-title/c3-trace-card-title.component.d.ts +0 -5
- package/lib/c3-trace-card/directives/align-left.directive.d.ts +0 -7
- package/lib/c3-trace-card/directives/align-right.directive.d.ts +0 -7
- package/lib/c3-tree/c3-tree.component.d.ts +0 -28
- package/public-api.d.ts +0 -91
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input, signal, viewChild, TemplateRef, inject, ChangeDetectorRef, effect, Component, forwardRef, model, HostListener, Directive, NgModule, Inject,
|
|
2
|
+
import { input, signal, viewChild, TemplateRef, inject, ChangeDetectorRef, effect, Component, forwardRef, model, HostListener, Directive, NgModule, Inject, Injector, Injectable, Pipe, output, ViewEncapsulation, Optional, computed, InjectionToken, contentChild, contentChildren, ViewContainerRef, HostBinding, ElementRef, DestroyRef } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
|
-
import * as i2
|
|
5
|
+
import * as i2 from '@angular/forms';
|
|
6
6
|
import { NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
7
7
|
import * as i1$1 from '@angular/cdk/overlay';
|
|
8
8
|
import { OverlayConfig, OverlayModule } from '@angular/cdk/overlay';
|
|
@@ -10,29 +10,29 @@ import { TemplatePortal } from '@angular/cdk/portal';
|
|
|
10
10
|
import { Subscription, Subject, merge, takeUntil, BehaviorSubject, filter, skip, debounceTime, of, mergeMap, map, tap, startWith } from 'rxjs';
|
|
11
11
|
import * as i1$2 from '@angular/material/dialog';
|
|
12
12
|
import { MAT_DIALOG_DATA, MatDialog, MatDialogModule } from '@angular/material/dialog';
|
|
13
|
-
import * as
|
|
13
|
+
import * as i3 from '@angular/material/button';
|
|
14
14
|
import { MatButtonModule } from '@angular/material/button';
|
|
15
|
-
import * as
|
|
15
|
+
import * as i4 from '@angular/material/form-field';
|
|
16
16
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
17
|
-
import * as
|
|
17
|
+
import * as i5 from '@angular/material/input';
|
|
18
18
|
import { MatInputModule } from '@angular/material/input';
|
|
19
|
-
import * as
|
|
20
|
-
import * as i2$
|
|
19
|
+
import * as i6 from '@angular/cdk/text-field';
|
|
20
|
+
import * as i2$1 from '@angular/material/icon';
|
|
21
21
|
import { MatIconModule } from '@angular/material/icon';
|
|
22
22
|
import * as i5$1 from '@angular/material/toolbar';
|
|
23
23
|
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
24
24
|
import * as i1$4 from '@angular/common/http';
|
|
25
25
|
import { provideHttpClient, withInterceptorsFromDi, HttpClient } from '@angular/common/http';
|
|
26
26
|
import * as i1$3 from '@angular/platform-browser';
|
|
27
|
-
import * as i3$
|
|
27
|
+
import * as i3$2 from '@angular/material/core';
|
|
28
28
|
import { MatNativeDateModule, MatRippleModule } from '@angular/material/core';
|
|
29
29
|
import * as i5$2 from '@angular/material/menu';
|
|
30
30
|
import { MatMenuModule } from '@angular/material/menu';
|
|
31
|
-
import * as i3 from '@angular/material/tooltip';
|
|
31
|
+
import * as i3$1 from '@angular/material/tooltip';
|
|
32
32
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
33
33
|
import autoAnimate from '@formkit/auto-animate';
|
|
34
34
|
import { FlatTreeControl } from '@angular/cdk/tree';
|
|
35
|
-
import * as i4 from '@angular/material/progress-spinner';
|
|
35
|
+
import * as i4$1 from '@angular/material/progress-spinner';
|
|
36
36
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
37
37
|
import * as i1$5 from '@angular/material/tree';
|
|
38
38
|
import { MatTreeFlattener, MatTreeFlatDataSource, MatTreeModule } from '@angular/material/tree';
|
|
@@ -42,8 +42,8 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
|
42
42
|
|
|
43
43
|
class C3DropdownComponent {
|
|
44
44
|
constructor() {
|
|
45
|
-
this.panelClass = input();
|
|
46
|
-
this.isOpen = signal(false);
|
|
45
|
+
this.panelClass = input(...(ngDevMode ? [undefined, { debugName: "panelClass" }] : []));
|
|
46
|
+
this.isOpen = signal(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
|
|
47
47
|
this.template = viewChild.required((TemplateRef));
|
|
48
48
|
this._changeDetectorRef = inject(ChangeDetectorRef);
|
|
49
49
|
effect(() => {
|
|
@@ -52,8 +52,8 @@ class C3DropdownComponent {
|
|
|
52
52
|
}
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
56
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
55
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
56
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.14", type: C3DropdownComponent, isStandalone: false, selector: "c3-dropdown", inputs: { panelClass: { classPropertyName: "panelClass", publicName: "panelClass", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "template", first: true, predicate: (TemplateRef), descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
57
57
|
<ng-template>
|
|
58
58
|
<div class="c3-dropdown-panel" [ngClass]="panelClass()">
|
|
59
59
|
<ng-content></ng-content>
|
|
@@ -61,7 +61,7 @@ class C3DropdownComponent {
|
|
|
61
61
|
</ng-template>
|
|
62
62
|
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
63
63
|
}
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3DropdownComponent, decorators: [{
|
|
65
65
|
type: Component,
|
|
66
66
|
args: [{
|
|
67
67
|
selector: 'c3-dropdown',
|
|
@@ -74,7 +74,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
|
|
|
74
74
|
`,
|
|
75
75
|
standalone: false,
|
|
76
76
|
}]
|
|
77
|
-
}], ctorParameters: () => [] });
|
|
77
|
+
}], ctorParameters: () => [], propDecorators: { panelClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelClass", required: false }] }], template: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });
|
|
78
78
|
|
|
79
79
|
const MAT_DROPDOWN_VALUE_ACCESSOR = {
|
|
80
80
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -99,13 +99,13 @@ class C3DropdownTrigger {
|
|
|
99
99
|
this._closingActionsSubscription = Subscription.EMPTY;
|
|
100
100
|
this._destroyed = new Subject();
|
|
101
101
|
/** The dropdown menu instance */
|
|
102
|
-
this.dropdown = model.required({
|
|
103
|
-
|
|
104
|
-
|
|
102
|
+
this.dropdown = model.required(...(ngDevMode ? [{ debugName: "dropdown", alias: 'c3DropdownTrigger' }] : [{
|
|
103
|
+
alias: 'c3DropdownTrigger',
|
|
104
|
+
}]));
|
|
105
105
|
/** Whether the dropdown is disabled. */
|
|
106
|
-
this.dropdownDisabled = input(false);
|
|
106
|
+
this.dropdownDisabled = input(false, ...(ngDevMode ? [{ debugName: "dropdownDisabled" }] : []));
|
|
107
107
|
/** Classes to be passed to the dropdown menu. Supports the same syntax as `ngClass`. */
|
|
108
|
-
this.dropdownClass = input('');
|
|
108
|
+
this.dropdownClass = input('', ...(ngDevMode ? [{ debugName: "dropdownClass" }] : []));
|
|
109
109
|
}
|
|
110
110
|
onClick() {
|
|
111
111
|
this.show();
|
|
@@ -165,27 +165,27 @@ class C3DropdownTrigger {
|
|
|
165
165
|
const detachments = this.overlayRef.detachments();
|
|
166
166
|
return merge(backdrop, detachments).pipe(takeUntil(this._destroyed));
|
|
167
167
|
}
|
|
168
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
169
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
168
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3DropdownTrigger, deps: [{ token: i0.ElementRef }, { token: i1$1.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
169
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.14", type: C3DropdownTrigger, isStandalone: false, selector: "[c3DropdownTrigger]", inputs: { dropdown: { classPropertyName: "dropdown", publicName: "c3DropdownTrigger", isSignal: true, isRequired: true, transformFunction: null }, dropdownDisabled: { classPropertyName: "dropdownDisabled", publicName: "dropdownDisabled", isSignal: true, isRequired: false, transformFunction: null }, dropdownClass: { classPropertyName: "dropdownClass", publicName: "dropdownClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dropdown: "c3DropdownTriggerChange" }, host: { listeners: { "click": "onClick()" } }, providers: [MAT_DROPDOWN_VALUE_ACCESSOR], ngImport: i0 }); }
|
|
170
170
|
}
|
|
171
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
171
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3DropdownTrigger, decorators: [{
|
|
172
172
|
type: Directive,
|
|
173
173
|
args: [{
|
|
174
174
|
selector: '[c3DropdownTrigger]',
|
|
175
175
|
providers: [MAT_DROPDOWN_VALUE_ACCESSOR],
|
|
176
176
|
standalone: false,
|
|
177
177
|
}]
|
|
178
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1$1.Overlay }, { type: i0.ViewContainerRef }], propDecorators: { onClick: [{
|
|
178
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1$1.Overlay }, { type: i0.ViewContainerRef }], propDecorators: { dropdown: [{ type: i0.Input, args: [{ isSignal: true, alias: "c3DropdownTrigger", required: true }] }, { type: i0.Output, args: ["c3DropdownTriggerChange"] }], dropdownDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "dropdownDisabled", required: false }] }], dropdownClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "dropdownClass", required: false }] }], onClick: [{
|
|
179
179
|
type: HostListener,
|
|
180
180
|
args: ['click']
|
|
181
181
|
}] } });
|
|
182
182
|
|
|
183
183
|
class C3DropdownModule {
|
|
184
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
185
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
186
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
184
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3DropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
185
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: C3DropdownModule, declarations: [C3DropdownComponent, C3DropdownTrigger], imports: [CommonModule, OverlayModule], exports: [C3DropdownComponent, C3DropdownTrigger] }); }
|
|
186
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3DropdownModule, imports: [CommonModule, OverlayModule] }); }
|
|
187
187
|
}
|
|
188
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
188
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3DropdownModule, decorators: [{
|
|
189
189
|
type: NgModule,
|
|
190
190
|
args: [{
|
|
191
191
|
imports: [CommonModule, OverlayModule],
|
|
@@ -202,8 +202,8 @@ class C3AlertDialogComponent {
|
|
|
202
202
|
onNoClick() {
|
|
203
203
|
this.dialogRef.close();
|
|
204
204
|
}
|
|
205
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
206
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
205
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3AlertDialogComponent, deps: [{ token: i1$2.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
206
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: C3AlertDialogComponent, isStandalone: false, selector: "AlertDialogComponent", ngImport: i0, template: `
|
|
207
207
|
<mat-dialog-content>
|
|
208
208
|
<div [innerHtml]="data.text"></div>
|
|
209
209
|
</mat-dialog-content>
|
|
@@ -212,9 +212,9 @@ class C3AlertDialogComponent {
|
|
|
212
212
|
{{ data.acceptText || 'ok' }}
|
|
213
213
|
</button>
|
|
214
214
|
</mat-dialog-actions>
|
|
215
|
-
`, isInline: true, dependencies: [{ kind: "component", type:
|
|
215
|
+
`, isInline: true, dependencies: [{ kind: "component", type: i3.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] }); }
|
|
216
216
|
}
|
|
217
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
217
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3AlertDialogComponent, decorators: [{
|
|
218
218
|
type: Component,
|
|
219
219
|
args: [{
|
|
220
220
|
selector: 'AlertDialogComponent',
|
|
@@ -243,8 +243,8 @@ class ConfirmDialogComponent {
|
|
|
243
243
|
onNoClick() {
|
|
244
244
|
this.dialogRef.close();
|
|
245
245
|
}
|
|
246
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
247
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
246
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: i1$2.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
247
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: ConfirmDialogComponent, isStandalone: false, selector: "ConfirmDialogComponent", ngImport: i0, template: `
|
|
248
248
|
<mat-dialog-content>
|
|
249
249
|
<div [innerHtml]="data.text"></div>
|
|
250
250
|
</mat-dialog-content>
|
|
@@ -256,9 +256,9 @@ class ConfirmDialogComponent {
|
|
|
256
256
|
{{ data.accept?.text }}
|
|
257
257
|
</button>
|
|
258
258
|
</mat-dialog-actions>
|
|
259
|
-
`, isInline: true, dependencies: [{ kind: "component", type:
|
|
259
|
+
`, isInline: true, dependencies: [{ kind: "component", type: i3.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] }); }
|
|
260
260
|
}
|
|
261
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
261
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
|
|
262
262
|
type: Component,
|
|
263
263
|
args: [{
|
|
264
264
|
selector: 'ConfirmDialogComponent',
|
|
@@ -292,93 +292,102 @@ class C3PromptDialogComponent {
|
|
|
292
292
|
onNoClick() {
|
|
293
293
|
this.dialogRef.close();
|
|
294
294
|
}
|
|
295
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
296
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
297
|
-
<div mat-dialog-title>{{ data.text }}</div>
|
|
298
|
-
<mat-dialog-content>
|
|
299
|
-
<mat-form-field>
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
295
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3PromptDialogComponent, deps: [{ token: i1$2.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
296
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: C3PromptDialogComponent, isStandalone: false, selector: "PrompDialogComponent", ngImport: i0, template: `
|
|
297
|
+
<div mat-dialog-title>{{ data.text }}</div>
|
|
298
|
+
<mat-dialog-content>
|
|
299
|
+
<mat-form-field>
|
|
300
|
+
@if (data.placeholder) {
|
|
301
|
+
<mat-label>{{ data.placeholder }}</mat-label>
|
|
302
|
+
}
|
|
303
|
+
@if (!data.multiline) {
|
|
304
|
+
<input
|
|
305
|
+
matInput
|
|
306
|
+
[formControl]="result"
|
|
307
|
+
(keydown.enter)="dialogRef.close(result.value)"
|
|
308
|
+
/>
|
|
309
|
+
}
|
|
310
|
+
@if (data.multiline) {
|
|
311
|
+
<textarea
|
|
312
|
+
matInput
|
|
313
|
+
[formControl]="result"
|
|
314
|
+
cdkTextareaAutosize
|
|
315
|
+
></textarea>
|
|
316
|
+
}
|
|
317
|
+
</mat-form-field>
|
|
318
|
+
</mat-dialog-content>
|
|
319
|
+
<mat-dialog-actions align="center">
|
|
320
|
+
<button mat-raised-button mat-dialog-close [class]="data.reject?.color">
|
|
321
|
+
{{ data.reject?.text }}
|
|
322
|
+
</button>
|
|
323
|
+
<button
|
|
324
|
+
mat-raised-button
|
|
325
|
+
[disabled]="result.invalid || (data.required && !result.value)"
|
|
326
|
+
[class]="data.accept?.color"
|
|
327
|
+
[mat-dialog-close]="result.value"
|
|
328
|
+
>
|
|
329
|
+
{{ data.accept?.text }}
|
|
330
|
+
</button>
|
|
331
|
+
</mat-dialog-actions>
|
|
332
|
+
`, isInline: true, styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i3.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i6.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
|
329
333
|
}
|
|
330
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
334
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3PromptDialogComponent, decorators: [{
|
|
331
335
|
type: Component,
|
|
332
|
-
args: [{ selector: 'PrompDialogComponent', template: `
|
|
333
|
-
<div mat-dialog-title>{{ data.text }}</div>
|
|
334
|
-
<mat-dialog-content>
|
|
335
|
-
<mat-form-field>
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
336
|
+
args: [{ selector: 'PrompDialogComponent', template: `
|
|
337
|
+
<div mat-dialog-title>{{ data.text }}</div>
|
|
338
|
+
<mat-dialog-content>
|
|
339
|
+
<mat-form-field>
|
|
340
|
+
@if (data.placeholder) {
|
|
341
|
+
<mat-label>{{ data.placeholder }}</mat-label>
|
|
342
|
+
}
|
|
343
|
+
@if (!data.multiline) {
|
|
344
|
+
<input
|
|
345
|
+
matInput
|
|
346
|
+
[formControl]="result"
|
|
347
|
+
(keydown.enter)="dialogRef.close(result.value)"
|
|
348
|
+
/>
|
|
349
|
+
}
|
|
350
|
+
@if (data.multiline) {
|
|
351
|
+
<textarea
|
|
352
|
+
matInput
|
|
353
|
+
[formControl]="result"
|
|
354
|
+
cdkTextareaAutosize
|
|
355
|
+
></textarea>
|
|
356
|
+
}
|
|
357
|
+
</mat-form-field>
|
|
358
|
+
</mat-dialog-content>
|
|
359
|
+
<mat-dialog-actions align="center">
|
|
360
|
+
<button mat-raised-button mat-dialog-close [class]="data.reject?.color">
|
|
361
|
+
{{ data.reject?.text }}
|
|
362
|
+
</button>
|
|
363
|
+
<button
|
|
364
|
+
mat-raised-button
|
|
365
|
+
[disabled]="result.invalid || (data.required && !result.value)"
|
|
366
|
+
[class]="data.accept?.color"
|
|
367
|
+
[mat-dialog-close]="result.value"
|
|
368
|
+
>
|
|
369
|
+
{{ data.accept?.text }}
|
|
370
|
+
</button>
|
|
371
|
+
</mat-dialog-actions>
|
|
372
|
+
`, standalone: false, styles: ["mat-form-field{width:100%}\n"] }]
|
|
365
373
|
}], ctorParameters: () => [{ type: i1$2.MatDialogRef }, { type: undefined, decorators: [{
|
|
366
374
|
type: Inject,
|
|
367
375
|
args: [MAT_DIALOG_DATA]
|
|
368
|
-
}] }, { type: i2
|
|
376
|
+
}] }, { type: i2.FormBuilder }] });
|
|
369
377
|
|
|
370
378
|
class C3DialogEmbedChildComponent {
|
|
371
379
|
constructor(dialogRef, data, _cdr) {
|
|
372
380
|
this.dialogRef = dialogRef;
|
|
373
381
|
this.data = data;
|
|
374
382
|
this._cdr = _cdr;
|
|
383
|
+
this.target = viewChild.required('target');
|
|
375
384
|
// On utilise un signal pour stocker la référence du composant créé
|
|
376
|
-
this.createdComponent = signal(null);
|
|
385
|
+
this.createdComponent = signal(null, ...(ngDevMode ? [{ debugName: "createdComponent" }] : []));
|
|
377
386
|
}
|
|
378
387
|
ngAfterViewInit() {
|
|
379
388
|
// Si on a un composant, on le crée dynamiquement
|
|
380
389
|
if (this.data.component && !this.data.templateRef) {
|
|
381
|
-
const compRef = this.target.createComponent(this.data.component);
|
|
390
|
+
const compRef = this.target().createComponent(this.data.component);
|
|
382
391
|
this.createdComponent.set(compRef);
|
|
383
392
|
// Injecter les inputs dans le composant
|
|
384
393
|
if (this.data.inputs) {
|
|
@@ -386,11 +395,11 @@ class C3DialogEmbedChildComponent {
|
|
|
386
395
|
}
|
|
387
396
|
}
|
|
388
397
|
// Si on a juste un templateRef, on ne crée pas de composant :
|
|
389
|
-
// l
|
|
398
|
+
// l'affichage est déjà géré dans le template via <ng-template *ngTemplateOutlet="...">
|
|
390
399
|
else if (this.data.templateRef) {
|
|
391
400
|
this.createdComponent.set(null);
|
|
392
401
|
}
|
|
393
|
-
// Si on n
|
|
402
|
+
// Si on n'a rien, on ferme le dialog
|
|
394
403
|
else {
|
|
395
404
|
this.dialogRef.close(false);
|
|
396
405
|
}
|
|
@@ -422,85 +431,57 @@ class C3DialogEmbedChildComponent {
|
|
|
422
431
|
}
|
|
423
432
|
}
|
|
424
433
|
}
|
|
425
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
426
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
434
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3DialogEmbedChildComponent, deps: [{ token: i1$2.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
435
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: C3DialogEmbedChildComponent, isStandalone: false, selector: "C3DialogEmbedChildComponent", viewQueries: [{ propertyName: "target", first: true, predicate: ["target"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
427
436
|
<div [class]="'dialog-content-container ' + (data.classContainer || '')">
|
|
428
437
|
@if (data.toolbar) {
|
|
429
|
-
<mat-toolbar
|
|
430
|
-
[color]="data.toolbar.color || 'default'"
|
|
431
|
-
class="py-1"
|
|
432
|
-
>
|
|
438
|
+
<mat-toolbar [color]="data.toolbar.color || 'default'" class="py-1">
|
|
433
439
|
<span>{{ data.toolbar.title }}</span>
|
|
434
440
|
<span class="spacer"></span>
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
>
|
|
441
|
-
<mat-icon>close</mat-icon>
|
|
442
|
-
</button>
|
|
441
|
+
@if (data.toolbar.closeBtn) {
|
|
442
|
+
<button mat-icon-button mat-dialog-close color="{{ data.toolbar.closeColor }}">
|
|
443
|
+
<mat-icon>close</mat-icon>
|
|
444
|
+
</button>
|
|
445
|
+
}
|
|
443
446
|
</mat-toolbar>
|
|
444
447
|
}
|
|
445
|
-
|
|
448
|
+
|
|
446
449
|
<div [class]="'dialog-content ' + (data.classContent || '')">
|
|
447
450
|
<!-- Si templateRef est présent, on l'affiche directement,
|
|
448
|
-
|
|
451
|
+
sinon on laisse la place au composant dynamique -->
|
|
449
452
|
@if (data.templateRef) {
|
|
450
|
-
<ng-container
|
|
451
|
-
|
|
452
|
-
></ng-container>
|
|
453
|
-
}
|
|
454
|
-
@else {
|
|
453
|
+
<ng-container *ngTemplateOutlet="data.templateRef"></ng-container>
|
|
454
|
+
} @else {
|
|
455
455
|
<ng-template #target></ng-template>
|
|
456
456
|
}
|
|
457
457
|
</div>
|
|
458
|
-
|
|
458
|
+
|
|
459
459
|
@if (data.actions && data.actions.length > 0) {
|
|
460
460
|
<div [class]="'dialog-actions ' + (data.classActions || '')">
|
|
461
461
|
@for (action of data.actions; track action.label) {
|
|
462
462
|
@switch (action.apperance) {
|
|
463
463
|
@case ('basic') {
|
|
464
|
-
<button
|
|
465
|
-
[class]="action.class"
|
|
466
|
-
(click)="action.action()"
|
|
467
|
-
>
|
|
464
|
+
<button [class]="action.class" (click)="action.action()">
|
|
468
465
|
{{ action.label }}
|
|
469
466
|
</button>
|
|
470
467
|
}
|
|
471
468
|
@case ('raised') {
|
|
472
|
-
<button
|
|
473
|
-
mat-raised-button
|
|
474
|
-
[class]="action.class"
|
|
475
|
-
(click)="action.action()"
|
|
476
|
-
>
|
|
469
|
+
<button mat-raised-button [class]="action.class" (click)="action.action()">
|
|
477
470
|
{{ action.label }}
|
|
478
471
|
</button>
|
|
479
472
|
}
|
|
480
473
|
@case ('stroked') {
|
|
481
|
-
<button
|
|
482
|
-
mat-stroked-button
|
|
483
|
-
[class]="action.class"
|
|
484
|
-
(click)="action.action()"
|
|
485
|
-
>
|
|
474
|
+
<button mat-stroked-button [class]="action.class" (click)="action.action()">
|
|
486
475
|
{{ action.label }}
|
|
487
476
|
</button>
|
|
488
477
|
}
|
|
489
478
|
@case ('flat') {
|
|
490
|
-
<button
|
|
491
|
-
mat-flat-button
|
|
492
|
-
[class]="action.class"
|
|
493
|
-
(click)="action.action()"
|
|
494
|
-
>
|
|
479
|
+
<button mat-flat-button [class]="action.class" (click)="action.action()">
|
|
495
480
|
{{ action.label }}
|
|
496
481
|
</button>
|
|
497
482
|
}
|
|
498
483
|
@default {
|
|
499
|
-
<button
|
|
500
|
-
mat-button
|
|
501
|
-
[class]="action.class"
|
|
502
|
-
(click)="action.action()"
|
|
503
|
-
>
|
|
484
|
+
<button mat-button [class]="action.class" (click)="action.action()">
|
|
504
485
|
{{ action.label }}
|
|
505
486
|
</button>
|
|
506
487
|
}
|
|
@@ -509,88 +490,60 @@ class C3DialogEmbedChildComponent {
|
|
|
509
490
|
</div>
|
|
510
491
|
}
|
|
511
492
|
</div>
|
|
512
|
-
|
|
493
|
+
`, isInline: true, styles: [".dialog-content-container{display:flex;flex-direction:column;height:100%;padding:1rem;overflow:auto}.dialog-content-container .dialog-content{display:flex;flex-direction:column;height:100%;overflow:auto;flex-grow:1}.dialog-content-container .mat-toolbar{display:flex;justify-content:space-between;align-items:center;border-radius:.25rem}.dialog-content-container .mat-toolbar span{color:inherit}.dialog-content-container .spacer{flex:1 1 auto;min-width:16px}.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }] }); }
|
|
513
494
|
}
|
|
514
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
495
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3DialogEmbedChildComponent, decorators: [{
|
|
515
496
|
type: Component,
|
|
516
497
|
args: [{ selector: 'C3DialogEmbedChildComponent', template: `
|
|
517
498
|
<div [class]="'dialog-content-container ' + (data.classContainer || '')">
|
|
518
499
|
@if (data.toolbar) {
|
|
519
|
-
<mat-toolbar
|
|
520
|
-
[color]="data.toolbar.color || 'default'"
|
|
521
|
-
class="py-1"
|
|
522
|
-
>
|
|
500
|
+
<mat-toolbar [color]="data.toolbar.color || 'default'" class="py-1">
|
|
523
501
|
<span>{{ data.toolbar.title }}</span>
|
|
524
502
|
<span class="spacer"></span>
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
>
|
|
531
|
-
<mat-icon>close</mat-icon>
|
|
532
|
-
</button>
|
|
503
|
+
@if (data.toolbar.closeBtn) {
|
|
504
|
+
<button mat-icon-button mat-dialog-close color="{{ data.toolbar.closeColor }}">
|
|
505
|
+
<mat-icon>close</mat-icon>
|
|
506
|
+
</button>
|
|
507
|
+
}
|
|
533
508
|
</mat-toolbar>
|
|
534
509
|
}
|
|
535
|
-
|
|
510
|
+
|
|
536
511
|
<div [class]="'dialog-content ' + (data.classContent || '')">
|
|
537
512
|
<!-- Si templateRef est présent, on l'affiche directement,
|
|
538
|
-
|
|
513
|
+
sinon on laisse la place au composant dynamique -->
|
|
539
514
|
@if (data.templateRef) {
|
|
540
|
-
<ng-container
|
|
541
|
-
|
|
542
|
-
></ng-container>
|
|
543
|
-
}
|
|
544
|
-
@else {
|
|
515
|
+
<ng-container *ngTemplateOutlet="data.templateRef"></ng-container>
|
|
516
|
+
} @else {
|
|
545
517
|
<ng-template #target></ng-template>
|
|
546
518
|
}
|
|
547
519
|
</div>
|
|
548
|
-
|
|
520
|
+
|
|
549
521
|
@if (data.actions && data.actions.length > 0) {
|
|
550
522
|
<div [class]="'dialog-actions ' + (data.classActions || '')">
|
|
551
523
|
@for (action of data.actions; track action.label) {
|
|
552
524
|
@switch (action.apperance) {
|
|
553
525
|
@case ('basic') {
|
|
554
|
-
<button
|
|
555
|
-
[class]="action.class"
|
|
556
|
-
(click)="action.action()"
|
|
557
|
-
>
|
|
526
|
+
<button [class]="action.class" (click)="action.action()">
|
|
558
527
|
{{ action.label }}
|
|
559
528
|
</button>
|
|
560
529
|
}
|
|
561
530
|
@case ('raised') {
|
|
562
|
-
<button
|
|
563
|
-
mat-raised-button
|
|
564
|
-
[class]="action.class"
|
|
565
|
-
(click)="action.action()"
|
|
566
|
-
>
|
|
531
|
+
<button mat-raised-button [class]="action.class" (click)="action.action()">
|
|
567
532
|
{{ action.label }}
|
|
568
533
|
</button>
|
|
569
534
|
}
|
|
570
535
|
@case ('stroked') {
|
|
571
|
-
<button
|
|
572
|
-
mat-stroked-button
|
|
573
|
-
[class]="action.class"
|
|
574
|
-
(click)="action.action()"
|
|
575
|
-
>
|
|
536
|
+
<button mat-stroked-button [class]="action.class" (click)="action.action()">
|
|
576
537
|
{{ action.label }}
|
|
577
538
|
</button>
|
|
578
539
|
}
|
|
579
540
|
@case ('flat') {
|
|
580
|
-
<button
|
|
581
|
-
mat-flat-button
|
|
582
|
-
[class]="action.class"
|
|
583
|
-
(click)="action.action()"
|
|
584
|
-
>
|
|
541
|
+
<button mat-flat-button [class]="action.class" (click)="action.action()">
|
|
585
542
|
{{ action.label }}
|
|
586
543
|
</button>
|
|
587
544
|
}
|
|
588
545
|
@default {
|
|
589
|
-
<button
|
|
590
|
-
mat-button
|
|
591
|
-
[class]="action.class"
|
|
592
|
-
(click)="action.action()"
|
|
593
|
-
>
|
|
546
|
+
<button mat-button [class]="action.class" (click)="action.action()">
|
|
594
547
|
{{ action.label }}
|
|
595
548
|
</button>
|
|
596
549
|
}
|
|
@@ -599,29 +552,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
|
|
|
599
552
|
</div>
|
|
600
553
|
}
|
|
601
554
|
</div>
|
|
602
|
-
|
|
555
|
+
`, standalone: false, styles: [".dialog-content-container{display:flex;flex-direction:column;height:100%;padding:1rem;overflow:auto}.dialog-content-container .dialog-content{display:flex;flex-direction:column;height:100%;overflow:auto;flex-grow:1}.dialog-content-container .mat-toolbar{display:flex;justify-content:space-between;align-items:center;border-radius:.25rem}.dialog-content-container .mat-toolbar span{color:inherit}.dialog-content-container .spacer{flex:1 1 auto;min-width:16px}.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem}\n"] }]
|
|
603
556
|
}], ctorParameters: () => [{ type: i1$2.MatDialogRef }, { type: undefined, decorators: [{
|
|
604
557
|
type: Inject,
|
|
605
558
|
args: [MAT_DIALOG_DATA]
|
|
606
|
-
}] }, { type: i0.ChangeDetectorRef }], propDecorators: { target: [{
|
|
607
|
-
type: ViewChild,
|
|
608
|
-
args: ['target', { read: ViewContainerRef }]
|
|
609
|
-
}] } });
|
|
559
|
+
}] }, { type: i0.ChangeDetectorRef }], propDecorators: { target: [{ type: i0.ViewChild, args: ['target', { isSignal: true }] }] } });
|
|
610
560
|
|
|
611
561
|
class C3DialogTemplateComponent {
|
|
612
562
|
constructor() {
|
|
613
|
-
this.templateRef = viewChild('internalTemplate', {
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
this.dialogRef = signal(null);
|
|
563
|
+
this.templateRef = viewChild('internalTemplate', ...(ngDevMode ? [{ debugName: "templateRef", read: TemplateRef }] : [{
|
|
564
|
+
read: TemplateRef,
|
|
565
|
+
}]));
|
|
566
|
+
this.dialogRef = signal(null, ...(ngDevMode ? [{ debugName: "dialogRef" }] : []));
|
|
617
567
|
}
|
|
618
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
619
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
568
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3DialogTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
569
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.14", type: C3DialogTemplateComponent, isStandalone: false, selector: "c3-dialog-template", viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["internalTemplate"], descendants: true, read: TemplateRef, isSignal: true }], ngImport: i0, template: "<ng-template #internalTemplate>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host{display:block}\n"] }); }
|
|
620
570
|
}
|
|
621
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
571
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3DialogTemplateComponent, decorators: [{
|
|
622
572
|
type: Component,
|
|
623
573
|
args: [{ selector: 'c3-dialog-template', standalone: false, template: "<ng-template #internalTemplate>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host{display:block}\n"] }]
|
|
624
|
-
}]
|
|
574
|
+
}], propDecorators: { templateRef: [{ type: i0.ViewChild, args: ['internalTemplate', { ...{
|
|
575
|
+
read: TemplateRef,
|
|
576
|
+
}, isSignal: true }] }] } });
|
|
625
577
|
|
|
626
578
|
class C3DialogService {
|
|
627
579
|
constructor() {
|
|
@@ -783,10 +735,10 @@ class C3DialogService {
|
|
|
783
735
|
});
|
|
784
736
|
return result;
|
|
785
737
|
}
|
|
786
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
787
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
738
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3DialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
739
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3DialogService, providedIn: 'root' }); }
|
|
788
740
|
}
|
|
789
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
741
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3DialogService, decorators: [{
|
|
790
742
|
type: Injectable,
|
|
791
743
|
args: [{
|
|
792
744
|
providedIn: 'root',
|
|
@@ -795,12 +747,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
|
|
|
795
747
|
|
|
796
748
|
class C3OpenDialogDirective {
|
|
797
749
|
constructor() {
|
|
798
|
-
this.template = input(undefined, {
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
this.config = input(undefined, {
|
|
802
|
-
|
|
803
|
-
|
|
750
|
+
this.template = input(undefined, ...(ngDevMode ? [{ debugName: "template", alias: 'c3-dialog' }] : [{
|
|
751
|
+
alias: 'c3-dialog'
|
|
752
|
+
}]));
|
|
753
|
+
this.config = input(undefined, ...(ngDevMode ? [{ debugName: "config", alias: 'c3-dialog-config' }] : [{
|
|
754
|
+
alias: 'c3-dialog-config'
|
|
755
|
+
}]));
|
|
804
756
|
this._dialog = inject(C3DialogService);
|
|
805
757
|
}
|
|
806
758
|
openDialog($event) {
|
|
@@ -809,10 +761,10 @@ class C3OpenDialogDirective {
|
|
|
809
761
|
const dialog = this._dialog.createDialogFromTemplate(this.template().templateRef(), this.config());
|
|
810
762
|
this.template()?.dialogRef.set(dialog);
|
|
811
763
|
}
|
|
812
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
813
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
764
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3OpenDialogDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
765
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.14", type: C3OpenDialogDirective, isStandalone: false, selector: "[c3-dialog]", inputs: { template: { classPropertyName: "template", publicName: "c3-dialog", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "c3-dialog-config", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "openDialog($event)" } }, ngImport: i0 }); }
|
|
814
766
|
}
|
|
815
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
767
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3OpenDialogDirective, decorators: [{
|
|
816
768
|
type: Directive,
|
|
817
769
|
args: [{
|
|
818
770
|
selector: '[c3-dialog]',
|
|
@@ -821,11 +773,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
|
|
|
821
773
|
'(click)': 'openDialog($event)'
|
|
822
774
|
}
|
|
823
775
|
}]
|
|
824
|
-
}] });
|
|
776
|
+
}], propDecorators: { template: [{ type: i0.Input, args: [{ isSignal: true, alias: "c3-dialog", required: false }] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "c3-dialog-config", required: false }] }] } });
|
|
825
777
|
|
|
826
778
|
class C3DialogModule {
|
|
827
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
828
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
779
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
780
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: C3DialogModule, declarations: [C3AlertDialogComponent,
|
|
829
781
|
ConfirmDialogComponent,
|
|
830
782
|
C3PromptDialogComponent,
|
|
831
783
|
C3DialogEmbedChildComponent,
|
|
@@ -840,7 +792,7 @@ class C3DialogModule {
|
|
|
840
792
|
MatToolbarModule,
|
|
841
793
|
ReactiveFormsModule], exports: [C3DialogTemplateComponent,
|
|
842
794
|
C3OpenDialogDirective] }); }
|
|
843
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
795
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3DialogModule, providers: [C3DialogService], imports: [CommonModule,
|
|
844
796
|
FormsModule,
|
|
845
797
|
MatButtonModule,
|
|
846
798
|
MatDialogModule,
|
|
@@ -850,7 +802,7 @@ class C3DialogModule {
|
|
|
850
802
|
MatToolbarModule,
|
|
851
803
|
ReactiveFormsModule] }); }
|
|
852
804
|
}
|
|
853
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
805
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3DialogModule, decorators: [{
|
|
854
806
|
type: NgModule,
|
|
855
807
|
args: [{
|
|
856
808
|
declarations: [
|
|
@@ -881,15 +833,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
|
|
|
881
833
|
}] });
|
|
882
834
|
|
|
883
835
|
class FullScreenDirective {
|
|
884
|
-
set fullscreenState(value) {
|
|
885
|
-
this._fullscreenState.next(value?.valueOf() || false);
|
|
886
|
-
}
|
|
887
|
-
set fullscreenStateSetter(value) {
|
|
888
|
-
this.fullscreenState = value;
|
|
889
|
-
}
|
|
890
836
|
constructor(el) {
|
|
891
837
|
this.el = el;
|
|
838
|
+
this.fullscreenState = input(null, ...(ngDevMode ? [{ debugName: "fullscreenState", alias: 'c3Screenfull' }] : [{ alias: 'c3Screenfull' }]));
|
|
839
|
+
this.fullscreenStateSetter = input(null, ...(ngDevMode ? [{ debugName: "fullscreenStateSetter", alias: 'c3-full-screen' }] : [{ alias: 'c3-full-screen' }]));
|
|
892
840
|
this._fullscreenState = new BehaviorSubject(false);
|
|
841
|
+
// Effect to handle fullscreenState changes
|
|
842
|
+
effect(() => {
|
|
843
|
+
const state = this.fullscreenState();
|
|
844
|
+
if (state !== null) {
|
|
845
|
+
this._fullscreenState.next(state.valueOf() || false);
|
|
846
|
+
}
|
|
847
|
+
});
|
|
848
|
+
// Effect to handle fullscreenStateSetter changes (alias for fullscreenState)
|
|
849
|
+
effect(() => {
|
|
850
|
+
const state = this.fullscreenStateSetter();
|
|
851
|
+
if (state !== null) {
|
|
852
|
+
this._fullscreenState.next(state.valueOf() || false);
|
|
853
|
+
}
|
|
854
|
+
});
|
|
893
855
|
this._fullscreenState
|
|
894
856
|
.pipe(filter((value) => value !== null), skip(2), debounceTime(100))
|
|
895
857
|
.subscribe(() => {
|
|
@@ -927,36 +889,31 @@ class FullScreenDirective {
|
|
|
927
889
|
}
|
|
928
890
|
}
|
|
929
891
|
}
|
|
930
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
931
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
892
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: FullScreenDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
893
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.14", type: FullScreenDirective, isStandalone: false, selector: "[C3FullScreen], [c3-full-screen]", inputs: { fullscreenState: { classPropertyName: "fullscreenState", publicName: "c3Screenfull", isSignal: true, isRequired: false, transformFunction: null }, fullscreenStateSetter: { classPropertyName: "fullscreenStateSetter", publicName: "c3-full-screen", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
932
894
|
}
|
|
933
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
895
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: FullScreenDirective, decorators: [{
|
|
934
896
|
type: Directive,
|
|
935
897
|
args: [{
|
|
936
898
|
selector: '[C3FullScreen], [c3-full-screen]',
|
|
937
899
|
standalone: false
|
|
938
900
|
}]
|
|
939
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { fullscreenState: [{
|
|
940
|
-
type: Input,
|
|
941
|
-
args: ['c3Screenfull']
|
|
942
|
-
}], fullscreenStateSetter: [{
|
|
943
|
-
type: Input,
|
|
944
|
-
args: ['c3-full-screen']
|
|
945
|
-
}] } });
|
|
901
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { fullscreenState: [{ type: i0.Input, args: [{ isSignal: true, alias: "c3Screenfull", required: false }] }], fullscreenStateSetter: [{ type: i0.Input, args: [{ isSignal: true, alias: "c3-full-screen", required: false }] }] } });
|
|
946
902
|
|
|
947
903
|
class C3FileViewerActionsComponent {
|
|
904
|
+
constructor() {
|
|
905
|
+
this.fileViewer = input.required(...(ngDevMode ? [{ debugName: "fileViewer" }] : []));
|
|
906
|
+
}
|
|
948
907
|
get config() {
|
|
949
|
-
return this.fileViewer.config;
|
|
908
|
+
return this.fileViewer().config;
|
|
950
909
|
}
|
|
951
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
952
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
910
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileViewerActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
911
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: C3FileViewerActionsComponent, isStandalone: false, selector: "c3-file-viewer-actions", inputs: { fileViewer: { classPropertyName: "fileViewer", publicName: "fileViewer", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"nav-button-container\">\n @if (config.btnShow?.prev) {\n <button\n type=\"button\"\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().previousImage($event)\"\n [disabled]=\"fileViewer().currentIndex === 0\"\n >\n @if (config.btnIcons?.prev?.classes) {\n <span [class]=\"config.btnIcons?.prev?.classes\"></span>\n }\n </button>\n @if (config.btnIcons?.prev?.text) {\n <a\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().previousImage($event)\"\n >\n <span [class]=\"config.btnSubClass\">{{ config.btnIcons?.prev?.text }}</span>\n </a>\n }\n }\n @if (config.btnShow?.next) {\n <button\n type=\"button\"\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().nextImage($event)\"\n [disabled]=\"fileViewer().currentIndex === fileViewer().files.length - 1\"\n >\n <span [class]=\"config.btnIcons?.next?.classes\"></span>\n </button>\n }\n\n @if (config.btnIcons?.next?.text) {\n <a\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().nextImage($event)\"\n >\n <span [class]=\"config.btnSubClass\">{{ config.btnIcons?.next?.text }}</span>\n </a>\n }\n</div>\n\n@if (fileViewer().currentFile.type.startsWith('image')) {\n <!-- Button Container -->\n <div\n class=\"btn-container\"\n [class]=\"config.btnContainerClass\"\n >\n <!-- Rotate Counter Clockwise -->\n @if (config.btnShow?.rotateCounterClockwise) {\n @if (config.btnIcons?.rotateCounterClockwise?.classes) {\n <button\n type=\"button\"\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().rotateCounterClockwise()\"\n >\n <span [class]=\"config.btnIcons?.rotateCounterClockwise?.classes\"></span>\n </button>\n }\n @if (config.btnIcons?.rotateCounterClockwise?.text) {\n <a\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().rotateCounterClockwise()\"\n >\n <span [class]=\"config.btnSubClass\">{{\n config.btnIcons?.rotateCounterClockwise?.text\n }}</span>\n </a>\n }\n }\n\n <!-- Rotate Clockwise -->\n @if (config.btnShow?.rotateClockwise) {\n @if (config.btnIcons?.rotateClockwise?.classes) {\n <button\n type=\"button\"\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().rotateClockwise()\"\n >\n <span [class]=\"config.btnIcons?.rotateClockwise?.classes\"></span>\n </button>\n }\n @if (config.btnIcons?.rotateClockwise?.text) {\n <a\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().rotateClockwise()\"\n >\n <span [class]=\"config.btnSubClass\">{{\n config.btnIcons?.rotateClockwise?.text\n }}</span>\n </a>\n }\n }\n\n <!-- Zoom Out -->\n @if (config.btnShow?.zoomOut) {\n @if (config.btnIcons?.zoomOut?.classes) {\n <button\n type=\"button\"\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().zoomOut()\"\n >\n <span [class]=\"config.btnIcons?.zoomOut?.classes\"></span>\n </button>\n <a\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().zoomOut()\"\n >\n <span [class]=\"config.btnSubClass\">{{\n config.btnIcons?.zoomOut?.text\n }}</span>\n </a>\n }\n }\n\n <!-- Zoom In -->\n @if (config.btnShow?.zoomIn) {\n @if (config.btnIcons?.zoomIn?.classes) {\n <button\n type=\"button\"\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().zoomIn()\"\n >\n <span [class]=\"config.btnIcons?.zoomIn?.classes\"></span>\n </button>\n }\n @if (config.btnIcons?.zoomIn?.text) {\n <a\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().zoomIn()\"\n >\n <span [class]=\"config.btnSubClass\">{{\n config.btnIcons?.zoomIn?.text\n }}</span>\n </a>\n }\n }\n\n <!-- Fullscreen -->\n @if (config.allowFullscreen) {\n @if (config.btnIcons?.fullscreen?.classes) {\n <button\n type=\"button\"\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().toggleFullscreen()\"\n >\n <span [class]=\"config.btnIcons?.fullscreen?.classes\"></span>\n </button>\n }\n @if (config.btnIcons?.fullscreen?.text) {\n <a\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().toggleFullscreen()\"\n >\n <span [class]=\"config.btnSubClass\">{{\n config.btnIcons?.fullscreen?.text\n }}</span>\n </a>\n }\n }\n\n <!-- Reset -->\n @if (config.btnShow?.reset) {\n @if (config.btnIcons?.reset?.classes) {\n <button\n type=\"button\"\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().reset()\"\n >\n <span [class]=\"config.btnIcons?.reset?.classes\"></span>\n </button>\n }\n @if (config.btnIcons?.reset?.text) {\n <a\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().reset()\"\n >\n <span [class]=\"config.btnSubClass\">{{\n config.btnIcons?.reset?.text\n }}</span>\n </a>\n }\n }\n\n <!-- Download -->\n @if (config.btnShow?.download) {\n @if (config.btnIcons?.download?.classes) {\n <button type=\"button\" [class]=\"config.btnClass\" (click)=\"fileViewer().download()\">\n <span [class]=\"config.btnIcons?.download?.classes\"></span>\n </button>\n }\n @if (config.btnIcons?.download?.text) {\n <a [class]=\"config.btnClass\" (click)=\"fileViewer().download()\">\n <span [class]=\"config.btnSubClass\">{{ config.btnIcons?.download?.text }}</span>\n </a>\n }\n }\n\n <!-- Custom Buttons -->\n @for (cBtn of config.customBtns; track cBtn.icon.text) {\n @if (cBtn.icon.classes) {\n <button type=\"button\" [class]=\"config.btnClass\">\n <span [class]=\"cBtn.icon.classes\"></span>\n </button>\n }\n @if (cBtn.icon.text) {\n <a [class]=\"config.btnClass\">\n <span [class]=\"config.btnSubClass\">{{ cBtn.icon.text }}</span>\n </a>\n }\n }\n </div>\n}\n" }); }
|
|
953
912
|
}
|
|
954
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
913
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileViewerActionsComponent, decorators: [{
|
|
955
914
|
type: Component,
|
|
956
|
-
args: [{ selector: 'c3-file-viewer-actions', standalone: false, template: "<div class=\"nav-button-container\">\n @if (config.btnShow?.prev) {\n <button\n type=\"button\"\n [class]=\"config.btnClass\"\n (click)=\"fileViewer.previousImage($event)\"\n [disabled]=\"fileViewer.currentIndex === 0\"\n
|
|
957
|
-
}], propDecorators: { fileViewer: [{
|
|
958
|
-
type: Input
|
|
959
|
-
}] } });
|
|
915
|
+
args: [{ selector: 'c3-file-viewer-actions', standalone: false, template: "<div class=\"nav-button-container\">\n @if (config.btnShow?.prev) {\n <button\n type=\"button\"\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().previousImage($event)\"\n [disabled]=\"fileViewer().currentIndex === 0\"\n >\n @if (config.btnIcons?.prev?.classes) {\n <span [class]=\"config.btnIcons?.prev?.classes\"></span>\n }\n </button>\n @if (config.btnIcons?.prev?.text) {\n <a\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().previousImage($event)\"\n >\n <span [class]=\"config.btnSubClass\">{{ config.btnIcons?.prev?.text }}</span>\n </a>\n }\n }\n @if (config.btnShow?.next) {\n <button\n type=\"button\"\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().nextImage($event)\"\n [disabled]=\"fileViewer().currentIndex === fileViewer().files.length - 1\"\n >\n <span [class]=\"config.btnIcons?.next?.classes\"></span>\n </button>\n }\n\n @if (config.btnIcons?.next?.text) {\n <a\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().nextImage($event)\"\n >\n <span [class]=\"config.btnSubClass\">{{ config.btnIcons?.next?.text }}</span>\n </a>\n }\n</div>\n\n@if (fileViewer().currentFile.type.startsWith('image')) {\n <!-- Button Container -->\n <div\n class=\"btn-container\"\n [class]=\"config.btnContainerClass\"\n >\n <!-- Rotate Counter Clockwise -->\n @if (config.btnShow?.rotateCounterClockwise) {\n @if (config.btnIcons?.rotateCounterClockwise?.classes) {\n <button\n type=\"button\"\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().rotateCounterClockwise()\"\n >\n <span [class]=\"config.btnIcons?.rotateCounterClockwise?.classes\"></span>\n </button>\n }\n @if (config.btnIcons?.rotateCounterClockwise?.text) {\n <a\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().rotateCounterClockwise()\"\n >\n <span [class]=\"config.btnSubClass\">{{\n config.btnIcons?.rotateCounterClockwise?.text\n }}</span>\n </a>\n }\n }\n\n <!-- Rotate Clockwise -->\n @if (config.btnShow?.rotateClockwise) {\n @if (config.btnIcons?.rotateClockwise?.classes) {\n <button\n type=\"button\"\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().rotateClockwise()\"\n >\n <span [class]=\"config.btnIcons?.rotateClockwise?.classes\"></span>\n </button>\n }\n @if (config.btnIcons?.rotateClockwise?.text) {\n <a\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().rotateClockwise()\"\n >\n <span [class]=\"config.btnSubClass\">{{\n config.btnIcons?.rotateClockwise?.text\n }}</span>\n </a>\n }\n }\n\n <!-- Zoom Out -->\n @if (config.btnShow?.zoomOut) {\n @if (config.btnIcons?.zoomOut?.classes) {\n <button\n type=\"button\"\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().zoomOut()\"\n >\n <span [class]=\"config.btnIcons?.zoomOut?.classes\"></span>\n </button>\n <a\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().zoomOut()\"\n >\n <span [class]=\"config.btnSubClass\">{{\n config.btnIcons?.zoomOut?.text\n }}</span>\n </a>\n }\n }\n\n <!-- Zoom In -->\n @if (config.btnShow?.zoomIn) {\n @if (config.btnIcons?.zoomIn?.classes) {\n <button\n type=\"button\"\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().zoomIn()\"\n >\n <span [class]=\"config.btnIcons?.zoomIn?.classes\"></span>\n </button>\n }\n @if (config.btnIcons?.zoomIn?.text) {\n <a\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().zoomIn()\"\n >\n <span [class]=\"config.btnSubClass\">{{\n config.btnIcons?.zoomIn?.text\n }}</span>\n </a>\n }\n }\n\n <!-- Fullscreen -->\n @if (config.allowFullscreen) {\n @if (config.btnIcons?.fullscreen?.classes) {\n <button\n type=\"button\"\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().toggleFullscreen()\"\n >\n <span [class]=\"config.btnIcons?.fullscreen?.classes\"></span>\n </button>\n }\n @if (config.btnIcons?.fullscreen?.text) {\n <a\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().toggleFullscreen()\"\n >\n <span [class]=\"config.btnSubClass\">{{\n config.btnIcons?.fullscreen?.text\n }}</span>\n </a>\n }\n }\n\n <!-- Reset -->\n @if (config.btnShow?.reset) {\n @if (config.btnIcons?.reset?.classes) {\n <button\n type=\"button\"\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().reset()\"\n >\n <span [class]=\"config.btnIcons?.reset?.classes\"></span>\n </button>\n }\n @if (config.btnIcons?.reset?.text) {\n <a\n [class]=\"config.btnClass\"\n (click)=\"fileViewer().reset()\"\n >\n <span [class]=\"config.btnSubClass\">{{\n config.btnIcons?.reset?.text\n }}</span>\n </a>\n }\n }\n\n <!-- Download -->\n @if (config.btnShow?.download) {\n @if (config.btnIcons?.download?.classes) {\n <button type=\"button\" [class]=\"config.btnClass\" (click)=\"fileViewer().download()\">\n <span [class]=\"config.btnIcons?.download?.classes\"></span>\n </button>\n }\n @if (config.btnIcons?.download?.text) {\n <a [class]=\"config.btnClass\" (click)=\"fileViewer().download()\">\n <span [class]=\"config.btnSubClass\">{{ config.btnIcons?.download?.text }}</span>\n </a>\n }\n }\n\n <!-- Custom Buttons -->\n @for (cBtn of config.customBtns; track cBtn.icon.text) {\n @if (cBtn.icon.classes) {\n <button type=\"button\" [class]=\"config.btnClass\">\n <span [class]=\"cBtn.icon.classes\"></span>\n </button>\n }\n @if (cBtn.icon.text) {\n <a [class]=\"config.btnClass\">\n <span [class]=\"config.btnSubClass\">{{ cBtn.icon.text }}</span>\n </a>\n }\n }\n </div>\n}\n" }]
|
|
916
|
+
}], propDecorators: { fileViewer: [{ type: i0.Input, args: [{ isSignal: true, alias: "fileViewer", required: true }] }] } });
|
|
960
917
|
|
|
961
918
|
class C3SafeUrlPipe {
|
|
962
919
|
constructor(sanitizer) {
|
|
@@ -965,10 +922,10 @@ class C3SafeUrlPipe {
|
|
|
965
922
|
transform(url) {
|
|
966
923
|
return url ? this.sanitizer.bypassSecurityTrustResourceUrl(url) : '';
|
|
967
924
|
}
|
|
968
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
969
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
925
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3SafeUrlPipe, deps: [{ token: i1$3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
926
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: C3SafeUrlPipe, isStandalone: true, name: "c3SafeUrl" }); }
|
|
970
927
|
}
|
|
971
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
928
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3SafeUrlPipe, decorators: [{
|
|
972
929
|
type: Pipe,
|
|
973
930
|
args: [{
|
|
974
931
|
name: 'c3SafeUrl',
|
|
@@ -978,129 +935,121 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
|
|
|
978
935
|
|
|
979
936
|
class C3FileViewerImageComponent {
|
|
980
937
|
constructor() {
|
|
981
|
-
this.
|
|
938
|
+
this.fileViewer = input.required(...(ngDevMode ? [{ debugName: "fileViewer" }] : []));
|
|
939
|
+
this.dragstart = output();
|
|
982
940
|
}
|
|
983
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
984
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
941
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileViewerImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
942
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: C3FileViewerImageComponent, isStandalone: false, selector: "c3-file-viewer-image, [c3-file-viewer-image]", inputs: { fileViewer: { classPropertyName: "fileViewer", publicName: "fileViewer", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { dragstart: "dragstart" }, ngImport: i0, template: "@if (fileViewer().currentFile.objectUrl) {\n <img\n [src]=\"fileViewer().currentFile.objectUrl | async | c3SafeUrl\"\n [ngStyle]=\"fileViewer().style\"\n alt=\"Image not found...\"\n (dragstart)=\"dragstart.emit($event)\"\n />\n}\n", dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: C3SafeUrlPipe, name: "c3SafeUrl" }] }); }
|
|
985
943
|
}
|
|
986
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
944
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileViewerImageComponent, decorators: [{
|
|
987
945
|
type: Component,
|
|
988
|
-
args: [{ selector: 'c3-file-viewer-image, [c3-file-viewer-image]', standalone: false, template: "
|
|
989
|
-
}], propDecorators: { fileViewer: [{
|
|
990
|
-
type: Input
|
|
991
|
-
}], dragstart: [{
|
|
992
|
-
type: Output
|
|
993
|
-
}] } });
|
|
946
|
+
args: [{ selector: 'c3-file-viewer-image, [c3-file-viewer-image]', standalone: false, template: "@if (fileViewer().currentFile.objectUrl) {\n <img\n [src]=\"fileViewer().currentFile.objectUrl | async | c3SafeUrl\"\n [ngStyle]=\"fileViewer().style\"\n alt=\"Image not found...\"\n (dragstart)=\"dragstart.emit($event)\"\n />\n}\n" }]
|
|
947
|
+
}], propDecorators: { fileViewer: [{ type: i0.Input, args: [{ isSignal: true, alias: "fileViewer", required: true }] }], dragstart: [{ type: i0.Output, args: ["dragstart"] }] } });
|
|
994
948
|
|
|
995
949
|
class C3FileViewerPdfComponent {
|
|
996
950
|
constructor() {
|
|
997
|
-
this.
|
|
951
|
+
this.fileViewer = input.required(...(ngDevMode ? [{ debugName: "fileViewer" }] : []));
|
|
952
|
+
this.dragstart = output();
|
|
998
953
|
}
|
|
999
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1000
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
954
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileViewerPdfComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
955
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: C3FileViewerPdfComponent, isStandalone: false, selector: "c3-file-viewer-pdf", inputs: { fileViewer: { classPropertyName: "fileViewer", publicName: "fileViewer", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { dragstart: "dragstart" }, host: { styleAttribute: "display: block", classAttribute: "c3-file-viewer-pdf" }, ngImport: i0, template: "<!-- pdf viewer -->\n<embed\n type=\"application/pdf\"\n [src]=\"fileViewer().currentFile.objectUrl | async | c3SafeUrl\"\n [style.height]=\"'100%'\"\n [style.width]=\"'100%'\"\n/>\n<!-- floating download button -->\n<button mat-icon-button class=\"download-button\" (click)=\"fileViewer().download()\">\n <mat-icon>download</mat-icon>\n</button>\n", dependencies: [{ kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: C3SafeUrlPipe, name: "c3SafeUrl" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1001
956
|
}
|
|
1002
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
957
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileViewerPdfComponent, decorators: [{
|
|
1003
958
|
type: Component,
|
|
1004
959
|
args: [{ selector: 'c3-file-viewer-pdf', encapsulation: ViewEncapsulation.None, host: {
|
|
1005
960
|
style: 'display: block',
|
|
1006
961
|
class: 'c3-file-viewer-pdf',
|
|
1007
|
-
}, standalone: false, template: "<!-- pdf viewer -->\n<embed\n type=\"application/pdf\"\n [src]=\"fileViewer.currentFile.objectUrl | async | c3SafeUrl\"\n [style.height]=\"'100%'\"\n [style.width]=\"'100%'\"\n/>\n<!-- floating download button -->\n<button mat-icon-button class=\"download-button\" (click)=\"fileViewer.download()\">\n <mat-icon>download</mat-icon>\n</button>\n" }]
|
|
1008
|
-
}], propDecorators: { fileViewer: [{
|
|
1009
|
-
type: Input
|
|
1010
|
-
}], dragstart: [{
|
|
1011
|
-
type: Output
|
|
1012
|
-
}] } });
|
|
962
|
+
}, standalone: false, template: "<!-- pdf viewer -->\n<embed\n type=\"application/pdf\"\n [src]=\"fileViewer().currentFile.objectUrl | async | c3SafeUrl\"\n [style.height]=\"'100%'\"\n [style.width]=\"'100%'\"\n/>\n<!-- floating download button -->\n<button mat-icon-button class=\"download-button\" (click)=\"fileViewer().download()\">\n <mat-icon>download</mat-icon>\n</button>\n" }]
|
|
963
|
+
}], propDecorators: { fileViewer: [{ type: i0.Input, args: [{ isSignal: true, alias: "fileViewer", required: true }] }], dragstart: [{ type: i0.Output, args: ["dragstart"] }] } });
|
|
1013
964
|
|
|
1014
965
|
class C3FileViewerVideoComponent {
|
|
1015
966
|
constructor() {
|
|
1016
|
-
this.fileViewer = input.required();
|
|
967
|
+
this.fileViewer = input.required(...(ngDevMode ? [{ debugName: "fileViewer" }] : []));
|
|
1017
968
|
}
|
|
1018
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1019
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
969
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileViewerVideoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
970
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: C3FileViewerVideoComponent, isStandalone: false, selector: "c3-file-viewer-video", inputs: { fileViewer: { classPropertyName: "fileViewer", publicName: "fileViewer", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<video controls [src]=\"fileViewer().currentFile.objectUrl | async | c3SafeUrl\" crossorigin=\"*\"></video>\n", dependencies: [{ kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: C3SafeUrlPipe, name: "c3SafeUrl" }] }); }
|
|
1020
971
|
}
|
|
1021
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
972
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileViewerVideoComponent, decorators: [{
|
|
1022
973
|
type: Component,
|
|
1023
974
|
args: [{ selector: 'c3-file-viewer-video', standalone: false, template: "<video controls [src]=\"fileViewer().currentFile.objectUrl | async | c3SafeUrl\" crossorigin=\"*\"></video>\n" }]
|
|
1024
|
-
}] });
|
|
975
|
+
}], propDecorators: { fileViewer: [{ type: i0.Input, args: [{ isSignal: true, alias: "fileViewer", required: true }] }] } });
|
|
1025
976
|
|
|
1026
977
|
class C3FileViewerDefaultComponent {
|
|
1027
978
|
constructor() {
|
|
1028
|
-
this.fileViewer = input.required();
|
|
979
|
+
this.fileViewer = input.required(...(ngDevMode ? [{ debugName: "fileViewer" }] : []));
|
|
1029
980
|
}
|
|
1030
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1031
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
981
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileViewerDefaultComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
982
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: C3FileViewerDefaultComponent, isStandalone: false, selector: "c3-file-viewer-default", inputs: { fileViewer: { classPropertyName: "fileViewer", publicName: "fileViewer", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<ng-container>\n <button (click)=\"fileViewer().download()\">Download {{ fileViewer().getOriginalName() }}</button>\n</ng-container>\n", styles: [":host{display:block}\n"] }); }
|
|
1032
983
|
}
|
|
1033
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
984
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileViewerDefaultComponent, decorators: [{
|
|
1034
985
|
type: Component,
|
|
1035
986
|
args: [{ selector: 'c3-file-viewer-default', standalone: false, template: "<ng-container>\n <button (click)=\"fileViewer().download()\">Download {{ fileViewer().getOriginalName() }}</button>\n</ng-container>\n", styles: [":host{display:block}\n"] }]
|
|
1036
|
-
}] });
|
|
987
|
+
}], propDecorators: { fileViewer: [{ type: i0.Input, args: [{ isSignal: true, alias: "fileViewer", required: true }] }] } });
|
|
1037
988
|
|
|
1038
989
|
class C3FileViewerComponent {
|
|
1039
990
|
constructor(moduleConfig, _http) {
|
|
1040
991
|
this.moduleConfig = moduleConfig;
|
|
1041
992
|
this._http = _http;
|
|
1042
|
-
this.
|
|
1043
|
-
this.
|
|
1044
|
-
this.
|
|
993
|
+
this.screenHeightOccupied = input(0, ...(ngDevMode ? [{ debugName: "screenHeightOccupied" }] : [])); // In Px
|
|
994
|
+
this.fileViewer = input.required(...(ngDevMode ? [{ debugName: "fileViewer" }] : []));
|
|
995
|
+
this.indexChange = output();
|
|
996
|
+
this.configChange = output();
|
|
997
|
+
this.customFileEvent = output();
|
|
998
|
+
// Setup subscriptions in constructor using effect
|
|
999
|
+
effect(() => {
|
|
1000
|
+
const viewer = this.fileViewer();
|
|
1001
|
+
viewer.customFile$.subscribe((event) => {
|
|
1002
|
+
this.customFileEvent.emit(event);
|
|
1003
|
+
});
|
|
1004
|
+
viewer.index$.subscribe((index) => {
|
|
1005
|
+
this.indexChange.emit(index);
|
|
1006
|
+
});
|
|
1007
|
+
viewer.config$.subscribe((config) => {
|
|
1008
|
+
this.configChange.emit(config);
|
|
1009
|
+
});
|
|
1010
|
+
});
|
|
1045
1011
|
}
|
|
1046
1012
|
ngOnInit() {
|
|
1047
1013
|
this.defineStyleHeight();
|
|
1048
|
-
this.fileViewer.customFile$.subscribe((event) => {
|
|
1049
|
-
this.customFileEvent.emit(event);
|
|
1050
|
-
});
|
|
1051
|
-
this.fileViewer.index$.subscribe((index) => {
|
|
1052
|
-
this.indexChange.emit(index);
|
|
1053
|
-
});
|
|
1054
|
-
this.fileViewer.config$.subscribe((config) => {
|
|
1055
|
-
this.configChange.emit(config);
|
|
1056
|
-
});
|
|
1057
1014
|
}
|
|
1058
1015
|
onMouseOver() {
|
|
1059
|
-
|
|
1060
|
-
|
|
1016
|
+
const viewer = this.fileViewer();
|
|
1017
|
+
if (viewer)
|
|
1018
|
+
viewer.hovered = true;
|
|
1061
1019
|
}
|
|
1062
1020
|
onMouseLeave() {
|
|
1063
|
-
|
|
1064
|
-
|
|
1021
|
+
const viewer = this.fileViewer();
|
|
1022
|
+
if (viewer)
|
|
1023
|
+
viewer.hovered = false;
|
|
1065
1024
|
}
|
|
1066
1025
|
ngOnChanges(changes) {
|
|
1067
|
-
if (changes['screenHeightOccupied'] && this.fileViewer)
|
|
1026
|
+
if (changes['screenHeightOccupied'] && this.fileViewer())
|
|
1068
1027
|
this.defineStyleHeight();
|
|
1069
1028
|
}
|
|
1070
1029
|
next(event) {
|
|
1071
|
-
this.fileViewer.nextImage(event);
|
|
1030
|
+
this.fileViewer().nextImage(event);
|
|
1072
1031
|
}
|
|
1073
1032
|
previous(event) {
|
|
1074
|
-
this.fileViewer.previousImage(event);
|
|
1033
|
+
this.fileViewer().previousImage(event);
|
|
1075
1034
|
}
|
|
1076
1035
|
defineStyleHeight() {
|
|
1077
|
-
this.fileViewer.styleHeight =
|
|
1078
|
-
'calc(100% - ' + this.screenHeightOccupied + 'px)';
|
|
1036
|
+
this.fileViewer().styleHeight =
|
|
1037
|
+
'calc(100% - ' + this.screenHeightOccupied() + 'px)';
|
|
1079
1038
|
}
|
|
1080
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1081
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1039
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileViewerComponent, deps: [{ token: 'config', optional: true }, { token: i1$4.HttpClient }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1040
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: C3FileViewerComponent, isStandalone: false, selector: "c3-file-viewer", inputs: { screenHeightOccupied: { classPropertyName: "screenHeightOccupied", publicName: "screenHeightOccupied", isSignal: true, isRequired: false, transformFunction: null }, fileViewer: { classPropertyName: "fileViewer", publicName: "fileViewer", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { indexChange: "indexChange", configChange: "configChange", customFileEvent: "customFileEvent" }, host: { listeners: { "mouseover": "onMouseOver()", "mouseleave": "onMouseLeave()", "window:keyup.ArrowRight": "next($event)", "window:keyup.ArrowLeft": "previous($event)" }, classAttribute: "c3-file-viewer" }, usesOnChanges: true, ngImport: i0, template: "@if (fileViewer(); as viewer) {\n<div\n class=\"c3-file-container\"\n [c3-full-screen]=\"viewer.fullscreen$ | async\"\n [style.height]=\"viewer.styleHeight\"\n [style.backgroundColor]=\"viewer.config.containerBackgroundColor\"\n (wheel)=\"viewer.scrollZoom($event)\"\n (dragover)=\"viewer.onDragOver($event)\"\n>\n @if (viewer.currentFile.type.startsWith('image')) {\n <c3-file-viewer-image\n [fileViewer]=\"viewer\"\n [style]=\"viewer.style\"\n (dragstart)=\"viewer.onDragStart($event)\"\n />\n } @else if (viewer.currentFile.type.startsWith('video')) {\n <c3-file-viewer-video\n [fileViewer]=\"viewer\"\n />\n } @else if (viewer.currentFile.type.startsWith('application/pdf')) {\n <c3-file-viewer-pdf\n [fileViewer]=\"viewer\"\n />\n } @else {\n <c3-file-viewer-default\n [fileViewer]=\"viewer\"\n />\n }\n\n <!-- Div below will be used to hide the 'ghost' image when dragging -->\n <div></div>\n @if (viewer.loading) {\n <div class=\"spinner-container\">\n <div class=\"spinner\"></div>\n </div>\n }\n\n <c3-file-viewer-actions [fileViewer]=\"viewer\" />\n </div>\n}\n", styles: [".c3-file-container{position:relative;width:100%;display:flex;justify-content:center;align-items:center;overflow:hidden}\n"], dependencies: [{ kind: "directive", type: FullScreenDirective, selector: "[C3FullScreen], [c3-full-screen]", inputs: ["c3Screenfull", "c3-full-screen"] }, { kind: "component", type: C3FileViewerActionsComponent, selector: "c3-file-viewer-actions", inputs: ["fileViewer"] }, { kind: "component", type: C3FileViewerImageComponent, selector: "c3-file-viewer-image, [c3-file-viewer-image]", inputs: ["fileViewer"], outputs: ["dragstart"] }, { kind: "component", type: C3FileViewerPdfComponent, selector: "c3-file-viewer-pdf", inputs: ["fileViewer"], outputs: ["dragstart"] }, { kind: "component", type: C3FileViewerVideoComponent, selector: "c3-file-viewer-video", inputs: ["fileViewer"] }, { kind: "component", type: C3FileViewerDefaultComponent, selector: "c3-file-viewer-default", inputs: ["fileViewer"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1082
1041
|
}
|
|
1083
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1042
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileViewerComponent, decorators: [{
|
|
1084
1043
|
type: Component,
|
|
1085
1044
|
args: [{ selector: 'c3-file-viewer', encapsulation: ViewEncapsulation.None, host: {
|
|
1086
1045
|
class: 'c3-file-viewer',
|
|
1087
|
-
}, standalone: false, template: "@if (fileViewer) {\n<div\n class=\"c3-file-container\"\n [c3-full-screen]=\"
|
|
1046
|
+
}, standalone: false, template: "@if (fileViewer(); as viewer) {\n<div\n class=\"c3-file-container\"\n [c3-full-screen]=\"viewer.fullscreen$ | async\"\n [style.height]=\"viewer.styleHeight\"\n [style.backgroundColor]=\"viewer.config.containerBackgroundColor\"\n (wheel)=\"viewer.scrollZoom($event)\"\n (dragover)=\"viewer.onDragOver($event)\"\n>\n @if (viewer.currentFile.type.startsWith('image')) {\n <c3-file-viewer-image\n [fileViewer]=\"viewer\"\n [style]=\"viewer.style\"\n (dragstart)=\"viewer.onDragStart($event)\"\n />\n } @else if (viewer.currentFile.type.startsWith('video')) {\n <c3-file-viewer-video\n [fileViewer]=\"viewer\"\n />\n } @else if (viewer.currentFile.type.startsWith('application/pdf')) {\n <c3-file-viewer-pdf\n [fileViewer]=\"viewer\"\n />\n } @else {\n <c3-file-viewer-default\n [fileViewer]=\"viewer\"\n />\n }\n\n <!-- Div below will be used to hide the 'ghost' image when dragging -->\n <div></div>\n @if (viewer.loading) {\n <div class=\"spinner-container\">\n <div class=\"spinner\"></div>\n </div>\n }\n\n <c3-file-viewer-actions [fileViewer]=\"viewer\" />\n </div>\n}\n", styles: [".c3-file-container{position:relative;width:100%;display:flex;justify-content:center;align-items:center;overflow:hidden}\n"] }]
|
|
1088
1047
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
1089
1048
|
type: Optional
|
|
1090
1049
|
}, {
|
|
1091
1050
|
type: Inject,
|
|
1092
1051
|
args: ['config']
|
|
1093
|
-
}] }, { type: i1$4.HttpClient }], propDecorators: { screenHeightOccupied: [{
|
|
1094
|
-
type: Input
|
|
1095
|
-
}], fileViewer: [{
|
|
1096
|
-
type: Input
|
|
1097
|
-
}], indexChange: [{
|
|
1098
|
-
type: Output
|
|
1099
|
-
}], configChange: [{
|
|
1100
|
-
type: Output
|
|
1101
|
-
}], customFileEvent: [{
|
|
1102
|
-
type: Output
|
|
1103
|
-
}], onMouseOver: [{
|
|
1052
|
+
}] }, { type: i1$4.HttpClient }], propDecorators: { screenHeightOccupied: [{ type: i0.Input, args: [{ isSignal: true, alias: "screenHeightOccupied", required: false }] }], fileViewer: [{ type: i0.Input, args: [{ isSignal: true, alias: "fileViewer", required: true }] }], indexChange: [{ type: i0.Output, args: ["indexChange"] }], configChange: [{ type: i0.Output, args: ["configChange"] }], customFileEvent: [{ type: i0.Output, args: ["customFileEvent"] }], onMouseOver: [{
|
|
1104
1053
|
type: HostListener,
|
|
1105
1054
|
args: ['mouseover']
|
|
1106
1055
|
}], onMouseLeave: [{
|
|
@@ -1294,12 +1243,63 @@ class C3FileViewer {
|
|
|
1294
1243
|
? of(this.locationBlobMap.get(location))
|
|
1295
1244
|
: this.getFile(location).pipe(map((response) => URL.createObjectURL(response)), tap((url) => this.locationBlobMap.set(location, url)))), tap(() => this.onLoaded()));
|
|
1296
1245
|
}
|
|
1246
|
+
/**
|
|
1247
|
+
* Encode une URL de manière sûre pour éviter les problèmes avec les caractères spéciaux
|
|
1248
|
+
* comme +, espaces, etc.
|
|
1249
|
+
* Cette fonction encode correctement les segments du chemin et les paramètres de requête.
|
|
1250
|
+
*/
|
|
1251
|
+
encodeUrl(url) {
|
|
1252
|
+
try {
|
|
1253
|
+
// Si l'URL est relative, on doit encoder manuellement
|
|
1254
|
+
if (!url.includes('://')) {
|
|
1255
|
+
// Pour les URLs relatives, on sépare le chemin et les paramètres de requête
|
|
1256
|
+
const [path, query] = url.split('?');
|
|
1257
|
+
// Encoder chaque segment du chemin (sauf les séparateurs /)
|
|
1258
|
+
const encodedPath = path
|
|
1259
|
+
.split('/')
|
|
1260
|
+
.map((segment) => (segment ? encodeURIComponent(segment) : ''))
|
|
1261
|
+
.join('/');
|
|
1262
|
+
if (query) {
|
|
1263
|
+
// Pour les paramètres de requête, encoder chaque clé et valeur
|
|
1264
|
+
const params = query.split('&');
|
|
1265
|
+
const encodedParams = params.map((param) => {
|
|
1266
|
+
const [key, ...valueParts] = param.split('=');
|
|
1267
|
+
const value = valueParts.join('=');
|
|
1268
|
+
return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
|
|
1269
|
+
});
|
|
1270
|
+
return `${encodedPath}?${encodedParams.join('&')}`;
|
|
1271
|
+
}
|
|
1272
|
+
return encodedPath;
|
|
1273
|
+
}
|
|
1274
|
+
// Pour les URLs absolues, utiliser le constructeur URL pour parser
|
|
1275
|
+
const urlObj = new URL(url);
|
|
1276
|
+
// Encoder chaque segment du chemin
|
|
1277
|
+
const encodedPath = urlObj.pathname
|
|
1278
|
+
.split('/')
|
|
1279
|
+
.map((segment) => (segment ? encodeURIComponent(segment) : ''))
|
|
1280
|
+
.join('/');
|
|
1281
|
+
// Les searchParams sont déjà gérés correctement par URLSearchParams
|
|
1282
|
+
// mais on doit s'assurer que les valeurs sont encodées
|
|
1283
|
+
const searchParams = new URLSearchParams();
|
|
1284
|
+
urlObj.searchParams.forEach((value, key) => {
|
|
1285
|
+
searchParams.append(key, value);
|
|
1286
|
+
});
|
|
1287
|
+
const encodedSearch = searchParams.toString() ? `?${searchParams.toString()}` : '';
|
|
1288
|
+
return `${urlObj.protocol}//${urlObj.host}${encodedPath}${encodedSearch}${urlObj.hash}`;
|
|
1289
|
+
}
|
|
1290
|
+
catch (e) {
|
|
1291
|
+
// Si le parsing échoue (URL malformée ou relative sans base),
|
|
1292
|
+
// encoder avec encodeURI qui préserve la structure de l'URL
|
|
1293
|
+
return encodeURI(url);
|
|
1294
|
+
}
|
|
1295
|
+
}
|
|
1297
1296
|
getFile(location) {
|
|
1298
1297
|
const client = this.config.customClient || this.client;
|
|
1299
1298
|
if (!client) {
|
|
1300
1299
|
throw new Error('No http client provided. Please provide a custom client or import HttpClientModule');
|
|
1301
1300
|
}
|
|
1302
|
-
|
|
1301
|
+
const encodedLocation = this.encodeUrl(location);
|
|
1302
|
+
return client(encodedLocation, {
|
|
1303
1303
|
responseType: 'blob',
|
|
1304
1304
|
});
|
|
1305
1305
|
}
|
|
@@ -1422,7 +1422,7 @@ class C3FileViewer {
|
|
|
1422
1422
|
}
|
|
1423
1423
|
download(file = this.currentFile) {
|
|
1424
1424
|
const client = this.config.customClient || this.client;
|
|
1425
|
-
const originalName = this.getOriginalName();
|
|
1425
|
+
const originalName = this.getOriginalName(file);
|
|
1426
1426
|
// Si le fichier est déjà en blob (petit fichier déjà chargé)
|
|
1427
1427
|
if (file.objectUrl && this.locationBlobMap.has(file.location)) {
|
|
1428
1428
|
const url = this.locationBlobMap.get(file.location);
|
|
@@ -1446,7 +1446,8 @@ class C3FileViewer {
|
|
|
1446
1446
|
}
|
|
1447
1447
|
downloadWithClient(file, client, originalName) {
|
|
1448
1448
|
// Utiliser le client fourni pour récupérer le fichier
|
|
1449
|
-
|
|
1449
|
+
const encodedLocation = this.encodeUrl(file.location);
|
|
1450
|
+
client(encodedLocation, {
|
|
1450
1451
|
responseType: 'blob',
|
|
1451
1452
|
}).subscribe({
|
|
1452
1453
|
next: (blob) => {
|
|
@@ -1479,12 +1480,12 @@ class C3FileViewerDialog {
|
|
|
1479
1480
|
constructor(fileViewer) {
|
|
1480
1481
|
this.fileViewer = fileViewer;
|
|
1481
1482
|
}
|
|
1482
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1483
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1483
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileViewerDialog, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1484
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: C3FileViewerDialog, isStandalone: false, selector: "ng-component", ngImport: i0, template: `
|
|
1484
1485
|
<c3-file-viewer [fileViewer]="fileViewer" [screenHeightOccupied]="0" />
|
|
1485
1486
|
`, isInline: true, dependencies: [{ kind: "component", type: C3FileViewerComponent, selector: "c3-file-viewer", inputs: ["screenHeightOccupied", "fileViewer"], outputs: ["indexChange", "configChange", "customFileEvent"] }] }); }
|
|
1486
1487
|
}
|
|
1487
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1488
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileViewerDialog, decorators: [{
|
|
1488
1489
|
type: Component,
|
|
1489
1490
|
args: [{
|
|
1490
1491
|
template: `
|
|
@@ -1500,22 +1501,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
|
|
|
1500
1501
|
class C3FileViewerDialogComponent {
|
|
1501
1502
|
constructor(_dialog) {
|
|
1502
1503
|
this._dialog = _dialog;
|
|
1503
|
-
this.
|
|
1504
|
+
this.fileViewer = input.required(...(ngDevMode ? [{ debugName: "fileViewer" }] : []));
|
|
1505
|
+
this.dialogConfig = input({
|
|
1504
1506
|
panelClass: 'c3-file-viewer-dialog',
|
|
1505
1507
|
width: '80%',
|
|
1506
1508
|
height: '80%',
|
|
1507
|
-
};
|
|
1509
|
+
}, ...(ngDevMode ? [{ debugName: "dialogConfig" }] : []));
|
|
1508
1510
|
}
|
|
1509
1511
|
openDialog() {
|
|
1510
1512
|
this._dialog.open(C3FileViewerDialog, {
|
|
1511
|
-
data: this.fileViewer,
|
|
1512
|
-
...this.dialogConfig,
|
|
1513
|
+
data: this.fileViewer(),
|
|
1514
|
+
...this.dialogConfig(),
|
|
1513
1515
|
});
|
|
1514
1516
|
}
|
|
1515
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1516
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1517
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileViewerDialogComponent, deps: [{ token: i1$2.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1518
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: C3FileViewerDialogComponent, isStandalone: false, selector: "c3-file-viewer-dialog", inputs: { fileViewer: { classPropertyName: "fileViewer", publicName: "fileViewer", isSignal: true, isRequired: true, transformFunction: null }, dialogConfig: { classPropertyName: "dialogConfig", publicName: "dialogConfig", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "openDialog()" }, classAttribute: "c3-file-viewer-dialog" }, ngImport: i0, template: ` <ng-content /> `, isInline: true }); }
|
|
1517
1519
|
}
|
|
1518
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1520
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileViewerDialogComponent, decorators: [{
|
|
1519
1521
|
type: Component,
|
|
1520
1522
|
args: [{
|
|
1521
1523
|
selector: 'c3-file-viewer-dialog',
|
|
@@ -1525,18 +1527,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
|
|
|
1525
1527
|
},
|
|
1526
1528
|
standalone: false
|
|
1527
1529
|
}]
|
|
1528
|
-
}], ctorParameters: () => [{ type: i1$2.MatDialog }], propDecorators: { fileViewer: [{
|
|
1529
|
-
type: Input
|
|
1530
|
-
}], dialogConfig: [{
|
|
1531
|
-
type: Input
|
|
1532
|
-
}], openDialog: [{
|
|
1530
|
+
}], ctorParameters: () => [{ type: i1$2.MatDialog }], propDecorators: { fileViewer: [{ type: i0.Input, args: [{ isSignal: true, alias: "fileViewer", required: true }] }], dialogConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "dialogConfig", required: false }] }], openDialog: [{
|
|
1533
1531
|
type: HostListener,
|
|
1534
1532
|
args: ['click']
|
|
1535
1533
|
}] } });
|
|
1536
1534
|
|
|
1537
1535
|
class C3FileViewerModule {
|
|
1538
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1539
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
1536
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1537
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: C3FileViewerModule, declarations: [FullScreenDirective,
|
|
1540
1538
|
C3FileViewerComponent,
|
|
1541
1539
|
C3FileViewerActionsComponent,
|
|
1542
1540
|
C3FileViewerImageComponent,
|
|
@@ -1545,9 +1543,9 @@ class C3FileViewerModule {
|
|
|
1545
1543
|
C3FileViewerDialogComponent,
|
|
1546
1544
|
C3FileViewerDialog,
|
|
1547
1545
|
C3FileViewerDefaultComponent], imports: [CommonModule, C3SafeUrlPipe, MatDialogModule, MatIconModule, MatButtonModule], exports: [FullScreenDirective, C3FileViewerComponent, C3FileViewerDialogComponent] }); }
|
|
1548
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
1546
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileViewerModule, providers: [provideHttpClient(withInterceptorsFromDi())], imports: [CommonModule, MatDialogModule, MatIconModule, MatButtonModule] }); }
|
|
1549
1547
|
}
|
|
1550
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1548
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileViewerModule, decorators: [{
|
|
1551
1549
|
type: NgModule,
|
|
1552
1550
|
args: [{
|
|
1553
1551
|
declarations: [
|
|
@@ -1569,10 +1567,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
|
|
|
1569
1567
|
|
|
1570
1568
|
class C3FileDisplayCardComponent {
|
|
1571
1569
|
constructor() {
|
|
1572
|
-
this.fileObjectUrl = input.required();
|
|
1573
|
-
this.displayFn = input((file) => file.name);
|
|
1574
|
-
this.deletable = input(false);
|
|
1575
|
-
this.size = input('32');
|
|
1570
|
+
this.fileObjectUrl = input.required(...(ngDevMode ? [{ debugName: "fileObjectUrl" }] : []));
|
|
1571
|
+
this.displayFn = input((file) => file.name, ...(ngDevMode ? [{ debugName: "displayFn" }] : []));
|
|
1572
|
+
this.deletable = input(false, ...(ngDevMode ? [{ debugName: "deletable" }] : []));
|
|
1573
|
+
this.size = input('32', ...(ngDevMode ? [{ debugName: "size" }] : []));
|
|
1576
1574
|
this.onDelete = output();
|
|
1577
1575
|
this.onDownload = output();
|
|
1578
1576
|
this.getFileType = computed(() => {
|
|
@@ -1586,37 +1584,37 @@ class C3FileDisplayCardComponent {
|
|
|
1586
1584
|
return 'video';
|
|
1587
1585
|
}
|
|
1588
1586
|
return 'unknown';
|
|
1589
|
-
});
|
|
1587
|
+
}, ...(ngDevMode ? [{ debugName: "getFileType" }] : []));
|
|
1590
1588
|
this.getFileObjectUrl = computed(() => {
|
|
1591
1589
|
const file = this.fileObjectUrl();
|
|
1592
1590
|
return file && file.objectUrl ? file.objectUrl : null;
|
|
1593
|
-
});
|
|
1591
|
+
}, ...(ngDevMode ? [{ debugName: "getFileObjectUrl" }] : []));
|
|
1594
1592
|
this.getFileName = computed(() => {
|
|
1595
1593
|
const file = this.fileObjectUrl();
|
|
1596
1594
|
return file ? this.displayFn()(file) : '';
|
|
1597
|
-
});
|
|
1595
|
+
}, ...(ngDevMode ? [{ debugName: "getFileName" }] : []));
|
|
1598
1596
|
this.getDisplayName = computed(() => {
|
|
1599
1597
|
const file = this.fileObjectUrl();
|
|
1600
1598
|
return file ? this.displayFn()(file) : '';
|
|
1601
|
-
});
|
|
1599
|
+
}, ...(ngDevMode ? [{ debugName: "getDisplayName" }] : []));
|
|
1602
1600
|
}
|
|
1603
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1604
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1601
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileDisplayCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1602
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: C3FileDisplayCardComponent, isStandalone: true, selector: "c3-file-display-card", inputs: { fileObjectUrl: { classPropertyName: "fileObjectUrl", publicName: "fileObjectUrl", isSignal: true, isRequired: true, transformFunction: null }, displayFn: { classPropertyName: "displayFn", publicName: "displayFn", isSignal: true, isRequired: false, transformFunction: null }, deletable: { classPropertyName: "deletable", publicName: "deletable", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onDelete: "onDelete", onDownload: "onDownload" }, ngImport: i0, template: "<button\n class=\"file-card border\"\n [class.size-16]=\"size() === '16'\"\n [class.size-32]=\"size() === '32'\"\n [class.size-64]=\"size() === '64'\"\n [class.size-128]=\"size() === '128'\"\n [class.size-256]=\"size() === '256'\"\n>\n @if(deletable()) {\n <div class=\"actions\">\n <button mat-icon-button (click)=\"onDownload.emit()\">\n <mat-icon>download</mat-icon>\n </button>\n <button mat-icon-button color=\"red\" (click)=\"onDelete.emit()\">\n <mat-icon>delete</mat-icon>\n </button>\n </div>\n } @if(fileObjectUrl()) {\n @switch (getFileType()) { @case ('image') {\n <img\n class=\"h-full w-full object-cover\"\n [src]=\"(getFileObjectUrl() | async) || '/default-image.svg'\"\n [alt]=\"getFileName()\"\n />\n } @case ('application') {\n <mat-icon> file-pdf-box </mat-icon>\n } @case ('video') {\n <mat-icon> video </mat-icon>\n }\n }\n\n <div class=\"informations flex justify-between items-center\">\n <span class=\"text-xs text-white\">\n {{ getDisplayName() }}\n </span>\n </div>\n }\n</button>\n", styles: [":host{display:block;width:fit-content}:host .file-card{position:relative;border-radius:4px;border:1px solid #e0e0e0;overflow:hidden}:host .file-card .actions{position:absolute;top:-21px;right:-21px;z-index:1;display:none}:host .file-card img{border-radius:4px}:host .file-card:hover .actions{display:block}:host .file-card .informations{position:absolute;bottom:0;left:0;z-index:1;width:100%;background:#00000080;padding:0 4px}:host .size-16{height:4rem;width:4rem}:host .size-32{height:8rem;width:8rem}:host .size-64{height:16rem;width:16rem}:host .size-128{height:32rem;width:32rem}:host .size-256{height:64rem;width:64rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
|
|
1605
1603
|
}
|
|
1606
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1604
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileDisplayCardComponent, decorators: [{
|
|
1607
1605
|
type: Component,
|
|
1608
1606
|
args: [{ selector: 'c3-file-display-card', imports: [CommonModule, MatButtonModule, MatIconModule], template: "<button\n class=\"file-card border\"\n [class.size-16]=\"size() === '16'\"\n [class.size-32]=\"size() === '32'\"\n [class.size-64]=\"size() === '64'\"\n [class.size-128]=\"size() === '128'\"\n [class.size-256]=\"size() === '256'\"\n>\n @if(deletable()) {\n <div class=\"actions\">\n <button mat-icon-button (click)=\"onDownload.emit()\">\n <mat-icon>download</mat-icon>\n </button>\n <button mat-icon-button color=\"red\" (click)=\"onDelete.emit()\">\n <mat-icon>delete</mat-icon>\n </button>\n </div>\n } @if(fileObjectUrl()) {\n @switch (getFileType()) { @case ('image') {\n <img\n class=\"h-full w-full object-cover\"\n [src]=\"(getFileObjectUrl() | async) || '/default-image.svg'\"\n [alt]=\"getFileName()\"\n />\n } @case ('application') {\n <mat-icon> file-pdf-box </mat-icon>\n } @case ('video') {\n <mat-icon> video </mat-icon>\n }\n }\n\n <div class=\"informations flex justify-between items-center\">\n <span class=\"text-xs text-white\">\n {{ getDisplayName() }}\n </span>\n </div>\n }\n</button>\n", styles: [":host{display:block;width:fit-content}:host .file-card{position:relative;border-radius:4px;border:1px solid #e0e0e0;overflow:hidden}:host .file-card .actions{position:absolute;top:-21px;right:-21px;z-index:1;display:none}:host .file-card img{border-radius:4px}:host .file-card:hover .actions{display:block}:host .file-card .informations{position:absolute;bottom:0;left:0;z-index:1;width:100%;background:#00000080;padding:0 4px}:host .size-16{height:4rem;width:4rem}:host .size-32{height:8rem;width:8rem}:host .size-64{height:16rem;width:16rem}:host .size-128{height:32rem;width:32rem}:host .size-256{height:64rem;width:64rem}\n"] }]
|
|
1609
|
-
}] });
|
|
1607
|
+
}], propDecorators: { fileObjectUrl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fileObjectUrl", required: true }] }], displayFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayFn", required: false }] }], deletable: [{ type: i0.Input, args: [{ isSignal: true, alias: "deletable", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], onDelete: [{ type: i0.Output, args: ["onDelete"] }], onDownload: [{ type: i0.Output, args: ["onDownload"] }] } });
|
|
1610
1608
|
|
|
1611
1609
|
class C3FileDisplayGridComponent {
|
|
1612
1610
|
constructor() {
|
|
1613
|
-
this.files = input.required();
|
|
1614
|
-
this.config = input();
|
|
1615
|
-
this.cardSize = input('32');
|
|
1616
|
-
this.displayFn = input((file) => file.name);
|
|
1617
|
-
this.deletable = input(false);
|
|
1611
|
+
this.files = input.required(...(ngDevMode ? [{ debugName: "files" }] : []));
|
|
1612
|
+
this.config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : []));
|
|
1613
|
+
this.cardSize = input('32', ...(ngDevMode ? [{ debugName: "cardSize" }] : []));
|
|
1614
|
+
this.displayFn = input((file) => file.name, ...(ngDevMode ? [{ debugName: "displayFn" }] : []));
|
|
1615
|
+
this.deletable = input(false, ...(ngDevMode ? [{ debugName: "deletable" }] : []));
|
|
1618
1616
|
this.onDelete = output();
|
|
1619
|
-
this.dialog = viewChild(C3FileViewerDialogComponent);
|
|
1617
|
+
this.dialog = viewChild(C3FileViewerDialogComponent, ...(ngDevMode ? [{ debugName: "dialog" }] : []));
|
|
1620
1618
|
this.fileViewer = new C3FileViewer({
|
|
1621
1619
|
client: inject(HttpClient),
|
|
1622
1620
|
});
|
|
@@ -1633,17 +1631,17 @@ class C3FileDisplayGridComponent {
|
|
|
1633
1631
|
this.fileViewer.currentIndex = index;
|
|
1634
1632
|
this.dialog()?.openDialog();
|
|
1635
1633
|
}
|
|
1636
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1637
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1634
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileDisplayGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1635
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: C3FileDisplayGridComponent, isStandalone: true, selector: "c3-file-display-grid", inputs: { files: { classPropertyName: "files", publicName: "files", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, cardSize: { classPropertyName: "cardSize", publicName: "cardSize", isSignal: true, isRequired: false, transformFunction: null }, displayFn: { classPropertyName: "displayFn", publicName: "displayFn", isSignal: true, isRequired: false, transformFunction: null }, deletable: { classPropertyName: "deletable", publicName: "deletable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onDelete: "onDelete" }, viewQueries: [{ propertyName: "dialog", first: true, predicate: C3FileViewerDialogComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<c3-file-viewer-dialog [fileViewer]=\"fileViewer\">\n <div class=\"c3-file-display-grid\">\n @for (file of files(); track $index) {\n <c3-file-display-card\n [fileObjectUrl]=\"fileViewer.filesObjectUrl[$index]\"\n [size]=\"cardSize()\"\n (click)=\"openDialog($event, $index)\"\n (onDelete)=\"onDelete.emit(file)\"\n (onDownload)=\"fileViewer.download(file)\"\n />\n }\n </div>\n</c3-file-viewer-dialog>\n", styles: [":host{display:block}:host .c3-file-display-grid{display:flex;flex-flow:wrap;gap:1rem}\n"], dependencies: [{ kind: "component", type: C3FileDisplayCardComponent, selector: "c3-file-display-card", inputs: ["fileObjectUrl", "displayFn", "deletable", "size"], outputs: ["onDelete", "onDownload"] }, { kind: "ngmodule", type: C3FileViewerModule }, { kind: "component", type: C3FileViewerDialogComponent, selector: "c3-file-viewer-dialog", inputs: ["fileViewer", "dialogConfig"] }] }); }
|
|
1638
1636
|
}
|
|
1639
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1637
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileDisplayGridComponent, decorators: [{
|
|
1640
1638
|
type: Component,
|
|
1641
|
-
args: [{ selector: 'c3-file-display-grid', imports: [
|
|
1642
|
-
}], ctorParameters: () => [] });
|
|
1639
|
+
args: [{ selector: 'c3-file-display-grid', imports: [C3FileDisplayCardComponent, C3FileViewerModule], template: "<c3-file-viewer-dialog [fileViewer]=\"fileViewer\">\n <div class=\"c3-file-display-grid\">\n @for (file of files(); track $index) {\n <c3-file-display-card\n [fileObjectUrl]=\"fileViewer.filesObjectUrl[$index]\"\n [size]=\"cardSize()\"\n (click)=\"openDialog($event, $index)\"\n (onDelete)=\"onDelete.emit(file)\"\n (onDownload)=\"fileViewer.download(file)\"\n />\n }\n </div>\n</c3-file-viewer-dialog>\n", styles: [":host{display:block}:host .c3-file-display-grid{display:flex;flex-flow:wrap;gap:1rem}\n"] }]
|
|
1640
|
+
}], ctorParameters: () => [], propDecorators: { files: [{ type: i0.Input, args: [{ isSignal: true, alias: "files", required: true }] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: false }] }], cardSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "cardSize", required: false }] }], displayFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayFn", required: false }] }], deletable: [{ type: i0.Input, args: [{ isSignal: true, alias: "deletable", required: false }] }], onDelete: [{ type: i0.Output, args: ["onDelete"] }], dialog: [{ type: i0.ViewChild, args: [i0.forwardRef(() => C3FileViewerDialogComponent), { isSignal: true }] }] } });
|
|
1643
1641
|
|
|
1644
1642
|
class C3FileDisplayIconComponent {
|
|
1645
1643
|
constructor() {
|
|
1646
|
-
this.fileType = input.required();
|
|
1644
|
+
this.fileType = input.required(...(ngDevMode ? [{ debugName: "fileType" }] : []));
|
|
1647
1645
|
this.displayedIcon = computed(() => {
|
|
1648
1646
|
switch (this.fileType()) {
|
|
1649
1647
|
case 'image/webp':
|
|
@@ -1662,7 +1660,7 @@ class C3FileDisplayIconComponent {
|
|
|
1662
1660
|
default:
|
|
1663
1661
|
return 'content_copy';
|
|
1664
1662
|
}
|
|
1665
|
-
});
|
|
1663
|
+
}, ...(ngDevMode ? [{ debugName: "displayedIcon" }] : []));
|
|
1666
1664
|
this.color = computed(() => {
|
|
1667
1665
|
switch (this.fileType()) {
|
|
1668
1666
|
case 'image/webp':
|
|
@@ -1681,15 +1679,15 @@ class C3FileDisplayIconComponent {
|
|
|
1681
1679
|
default:
|
|
1682
1680
|
return 'text-gray';
|
|
1683
1681
|
}
|
|
1684
|
-
});
|
|
1682
|
+
}, ...(ngDevMode ? [{ debugName: "color" }] : []));
|
|
1685
1683
|
}
|
|
1686
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1687
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
1684
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileDisplayIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1685
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: C3FileDisplayIconComponent, isStandalone: true, selector: "c3-file-display-icon", inputs: { fileType: { classPropertyName: "fileType", publicName: "fileType", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<mat-icon [ngClass]=\"color()\">{{ displayedIcon() }}</mat-icon>\n", styles: [":host{display:block}:host .text-primary{color:var(--primary-color)}:host .text-secondary{color:var(--secondary-color)}:host .text-success{color:var(--success-color)}:host .text-gray{color:var(--gray-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
1688
1686
|
}
|
|
1689
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1687
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileDisplayIconComponent, decorators: [{
|
|
1690
1688
|
type: Component,
|
|
1691
1689
|
args: [{ selector: 'c3-file-display-icon', imports: [CommonModule, MatIconModule], template: "<mat-icon [ngClass]=\"color()\">{{ displayedIcon() }}</mat-icon>\n", styles: [":host{display:block}:host .text-primary{color:var(--primary-color)}:host .text-secondary{color:var(--secondary-color)}:host .text-success{color:var(--success-color)}:host .text-gray{color:var(--gray-color)}\n"] }]
|
|
1692
|
-
}] });
|
|
1690
|
+
}], propDecorators: { fileType: [{ type: i0.Input, args: [{ isSignal: true, alias: "fileType", required: true }] }] } });
|
|
1693
1691
|
|
|
1694
1692
|
/**
|
|
1695
1693
|
* A directive that prevents the default action and stops event propagation on click events.
|
|
@@ -1703,10 +1701,10 @@ class C3PreventClickDirective {
|
|
|
1703
1701
|
event.preventDefault();
|
|
1704
1702
|
event.stopPropagation();
|
|
1705
1703
|
}
|
|
1706
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1707
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
1704
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3PreventClickDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1705
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.14", type: C3PreventClickDirective, isStandalone: true, selector: "[c3-prevent-click]", host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 }); }
|
|
1708
1706
|
}
|
|
1709
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1707
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3PreventClickDirective, decorators: [{
|
|
1710
1708
|
type: Directive,
|
|
1711
1709
|
args: [{
|
|
1712
1710
|
selector: '[c3-prevent-click]',
|
|
@@ -1725,7 +1723,7 @@ class C3PreventKeyboardEventDirective {
|
|
|
1725
1723
|
/**
|
|
1726
1724
|
* The keyboard key to prevent the default action and stop event propagation for. Defaults to 'enter'.
|
|
1727
1725
|
*/
|
|
1728
|
-
this.key = 'enter';
|
|
1726
|
+
this.key = input('enter', ...(ngDevMode ? [{ debugName: "key" }] : []));
|
|
1729
1727
|
}
|
|
1730
1728
|
/**
|
|
1731
1729
|
* HostListener for the 'keydown' event.
|
|
@@ -1733,25 +1731,23 @@ class C3PreventKeyboardEventDirective {
|
|
|
1733
1731
|
*/
|
|
1734
1732
|
onKeyDown(event) {
|
|
1735
1733
|
// Check if the key pressed matches the input key.
|
|
1736
|
-
if (event.key?.toLocaleLowerCase() === this.key.toLocaleLowerCase()) {
|
|
1734
|
+
if (event.key?.toLocaleLowerCase() === this.key().toLocaleLowerCase()) {
|
|
1737
1735
|
// Prevent the default action associated with the event.
|
|
1738
1736
|
event.preventDefault();
|
|
1739
1737
|
// Stop the event from bubbling up the event chain.
|
|
1740
1738
|
event.stopPropagation();
|
|
1741
1739
|
}
|
|
1742
1740
|
}
|
|
1743
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1744
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
1741
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3PreventKeyboardEventDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1742
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.14", type: C3PreventKeyboardEventDirective, isStandalone: true, selector: "[c3-prevent-keyboard-event]", inputs: { key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "keydown": "onKeyDown($event)" } }, ngImport: i0 }); }
|
|
1745
1743
|
}
|
|
1746
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1744
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3PreventKeyboardEventDirective, decorators: [{
|
|
1747
1745
|
type: Directive,
|
|
1748
1746
|
args: [{
|
|
1749
1747
|
selector: '[c3-prevent-keyboard-event]',
|
|
1750
1748
|
standalone: true,
|
|
1751
1749
|
}]
|
|
1752
|
-
}], propDecorators: { key: [{
|
|
1753
|
-
type: Input
|
|
1754
|
-
}], onKeyDown: [{
|
|
1750
|
+
}], propDecorators: { key: [{ type: i0.Input, args: [{ isSignal: true, alias: "key", required: false }] }], onKeyDown: [{
|
|
1755
1751
|
type: HostListener,
|
|
1756
1752
|
args: ['keydown', ['$event']]
|
|
1757
1753
|
}] } });
|
|
@@ -1760,10 +1756,10 @@ class C3StopPropagationDirective {
|
|
|
1760
1756
|
onClick(event) {
|
|
1761
1757
|
event.stopImmediatePropagation();
|
|
1762
1758
|
}
|
|
1763
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1764
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
1759
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3StopPropagationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1760
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.14", type: C3StopPropagationDirective, isStandalone: true, selector: "[c3-stop-click-propagation]", host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 }); }
|
|
1765
1761
|
}
|
|
1766
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1762
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3StopPropagationDirective, decorators: [{
|
|
1767
1763
|
type: Directive,
|
|
1768
1764
|
args: [{
|
|
1769
1765
|
selector: '[c3-stop-click-propagation]',
|
|
@@ -1778,31 +1774,31 @@ const C3_FILE_DISPLAY_LIST = new InjectionToken('C3_FILE_DISPLAY_LIST');
|
|
|
1778
1774
|
|
|
1779
1775
|
class C3FileDisplayListColumnDefDirective {
|
|
1780
1776
|
constructor() {
|
|
1781
|
-
this.title = input.required({
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
this.classList = input([]);
|
|
1777
|
+
this.title = input.required(...(ngDevMode ? [{ debugName: "title", alias: 'c3FileDisplayListColumnDef' }] : [{
|
|
1778
|
+
alias: 'c3FileDisplayListColumnDef',
|
|
1779
|
+
}]));
|
|
1780
|
+
this.classList = input([], ...(ngDevMode ? [{ debugName: "classList" }] : []));
|
|
1785
1781
|
this._table = inject(C3_FILE_DISPLAY_LIST, { optional: true });
|
|
1786
|
-
this.headerCellDef = contentChild(C3FileDisplayListHeaderCellDefDirective);
|
|
1787
|
-
this.cellDef = contentChild(C3FileDisplayListCellDefDirective);
|
|
1782
|
+
this.headerCellDef = contentChild(C3FileDisplayListHeaderCellDefDirective, ...(ngDevMode ? [{ debugName: "headerCellDef" }] : []));
|
|
1783
|
+
this.cellDef = contentChild(C3FileDisplayListCellDefDirective, ...(ngDevMode ? [{ debugName: "cellDef" }] : []));
|
|
1788
1784
|
}
|
|
1789
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1790
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "
|
|
1785
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileDisplayListColumnDefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1786
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "20.3.14", type: C3FileDisplayListColumnDefDirective, isStandalone: true, selector: "[c3FileDisplayListColumnDef]", inputs: { title: { classPropertyName: "title", publicName: "c3FileDisplayListColumnDef", isSignal: true, isRequired: true, transformFunction: null }, classList: { classPropertyName: "classList", publicName: "classList", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "headerCellDef", first: true, predicate: C3FileDisplayListHeaderCellDefDirective, descendants: true, isSignal: true }, { propertyName: "cellDef", first: true, predicate: C3FileDisplayListCellDefDirective, descendants: true, isSignal: true }], ngImport: i0 }); }
|
|
1791
1787
|
}
|
|
1792
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1788
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileDisplayListColumnDefDirective, decorators: [{
|
|
1793
1789
|
type: Directive,
|
|
1794
1790
|
args: [{
|
|
1795
1791
|
selector: '[c3FileDisplayListColumnDef]',
|
|
1796
1792
|
}]
|
|
1797
|
-
}] });
|
|
1793
|
+
}], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "c3FileDisplayListColumnDef", required: true }] }], classList: [{ type: i0.Input, args: [{ isSignal: true, alias: "classList", required: false }] }], headerCellDef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => C3FileDisplayListHeaderCellDefDirective), { isSignal: true }] }], cellDef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => C3FileDisplayListCellDefDirective), { isSignal: true }] }] } });
|
|
1798
1794
|
class C3FileDisplayListHeaderCellDefDirective {
|
|
1799
1795
|
constructor() {
|
|
1800
1796
|
this.template = inject(TemplateRef);
|
|
1801
1797
|
}
|
|
1802
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1803
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
1798
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileDisplayListHeaderCellDefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1799
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.14", type: C3FileDisplayListHeaderCellDefDirective, isStandalone: true, selector: "[c3FileDisplayListHeaderCellDef]", ngImport: i0 }); }
|
|
1804
1800
|
}
|
|
1805
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1801
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileDisplayListHeaderCellDefDirective, decorators: [{
|
|
1806
1802
|
type: Directive,
|
|
1807
1803
|
args: [{
|
|
1808
1804
|
selector: '[c3FileDisplayListHeaderCellDef]',
|
|
@@ -1812,10 +1808,10 @@ class C3FileDisplayListCellDefDirective {
|
|
|
1812
1808
|
constructor() {
|
|
1813
1809
|
this.template = inject(TemplateRef);
|
|
1814
1810
|
}
|
|
1815
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1816
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
1811
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileDisplayListCellDefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1812
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.14", type: C3FileDisplayListCellDefDirective, isStandalone: true, selector: "[c3FileDisplayListCellDef]", ngImport: i0 }); }
|
|
1817
1813
|
}
|
|
1818
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1814
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileDisplayListCellDefDirective, decorators: [{
|
|
1819
1815
|
type: Directive,
|
|
1820
1816
|
args: [{
|
|
1821
1817
|
selector: '[c3FileDisplayListCellDef]',
|
|
@@ -1824,14 +1820,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
|
|
|
1824
1820
|
|
|
1825
1821
|
class C3FileDisplayListComponent {
|
|
1826
1822
|
constructor() {
|
|
1827
|
-
this.files = input.required();
|
|
1828
|
-
this.config = input();
|
|
1829
|
-
this.displayFn = input((file) => file.name);
|
|
1830
|
-
this.columns = input(['icon', 'name', 'date']);
|
|
1831
|
-
this.deletable = input(false);
|
|
1823
|
+
this.files = input.required(...(ngDevMode ? [{ debugName: "files" }] : []));
|
|
1824
|
+
this.config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : []));
|
|
1825
|
+
this.displayFn = input((file) => file.name, ...(ngDevMode ? [{ debugName: "displayFn" }] : []));
|
|
1826
|
+
this.columns = input(['icon', 'name', 'date'], ...(ngDevMode ? [{ debugName: "columns" }] : []));
|
|
1827
|
+
this.deletable = input(false, ...(ngDevMode ? [{ debugName: "deletable" }] : []));
|
|
1832
1828
|
this.onDelete = output();
|
|
1833
|
-
this.dialog = viewChild(C3FileViewerDialogComponent);
|
|
1834
|
-
this._columnDefs = contentChildren(C3FileDisplayListColumnDefDirective);
|
|
1829
|
+
this.dialog = viewChild(C3FileViewerDialogComponent, ...(ngDevMode ? [{ debugName: "dialog" }] : []));
|
|
1830
|
+
this._columnDefs = contentChildren(C3FileDisplayListColumnDefDirective, ...(ngDevMode ? [{ debugName: "_columnDefs" }] : []));
|
|
1835
1831
|
this._viewContainer = inject(ViewContainerRef);
|
|
1836
1832
|
this.fileViewer = new C3FileViewer({
|
|
1837
1833
|
client: inject(HttpClient),
|
|
@@ -1852,15 +1848,15 @@ class C3FileDisplayListComponent {
|
|
|
1852
1848
|
getColumnDef(columnName) {
|
|
1853
1849
|
return this._columnDefs().find((col) => col.title() === columnName);
|
|
1854
1850
|
}
|
|
1855
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1856
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1851
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileDisplayListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1852
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: C3FileDisplayListComponent, isStandalone: true, selector: "c3-file-display-list", inputs: { files: { classPropertyName: "files", publicName: "files", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, displayFn: { classPropertyName: "displayFn", publicName: "displayFn", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, deletable: { classPropertyName: "deletable", publicName: "deletable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onDelete: "onDelete" }, providers: [
|
|
1857
1853
|
{
|
|
1858
1854
|
provide: C3_FILE_DISPLAY_LIST,
|
|
1859
1855
|
useExisting: C3FileDisplayListComponent,
|
|
1860
1856
|
},
|
|
1861
|
-
], queries: [{ propertyName: "_columnDefs", predicate: C3FileDisplayListColumnDefDirective, isSignal: true }], viewQueries: [{ propertyName: "dialog", first: true, predicate: C3FileViewerDialogComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<c3-file-viewer-dialog [fileViewer]=\"fileViewer\">\n<!-- header -->\n <table class=\"file-table\">\n <thead>\n <tr>\n @for (columnName of columns(); track columnName) {\n <th [class.full]=\"columnName === 'name'\" [class.icon]=\"columnName === 'icon'\">\n @if (getColumnDef(columnName)?.headerCellDef()) {\n <ng-container *ngTemplateOutlet=\"getColumnDef(columnName)!.headerCellDef()!.template\"></ng-container>\n } @else {\n @if (columnName === 'icon') {\n <span></span>\n } @else if (columnName === 'name') {\n <span>Nom</span>\n } @else if (columnName === 'date') {\n <span>Date d'ajout</span>\n }\n }\n </th>\n }\n <th class=\"actions\">\n <ng-content></ng-content>\n </th>\n </tr>\n </thead>\n <tbody>\n @for (file of files(); track $index) {\n <tr (click)=\"openDialog($event, $index)\">\n @for (columnName of columns(); track columnName) {\n @if (columnName === 'name') {\n <td class=\"name full\">\n @if (getColumnDef(columnName)?.cellDef()) {\n <ng-container *ngTemplateOutlet=\"getColumnDef(columnName)!.cellDef()!.template; context: { $implicit: file }\"></ng-container>\n } @else {\n <span>{{ displayFn()(file) }}</span>\n }\n </td>\n } @else if (columnName === 'icon') {\n <td class=\"icon\">\n @if (getColumnDef(columnName)?.cellDef()) {\n <ng-container *ngTemplateOutlet=\"getColumnDef(columnName)!.cellDef()!.template; context: { $implicit: file }\"></ng-container>\n } @else {\n <c3-file-display-icon [fileType]=\"file.type\" />\n }\n </td>\n } @else {\n <td [classList]=\"getColumnDef(columnName)?.classList()\">\n @if (getColumnDef(columnName)?.cellDef()) {\n <ng-container *ngTemplateOutlet=\"getColumnDef(columnName)!.cellDef()!.template; context: { $implicit: file }\"></ng-container>\n } @else {\n @if (columnName === 'date') {\n <span>{{ file.lastModified ? (file.lastModified | date:'medium') : '-' }}</span>\n }\n }\n </td>\n }\n }\n <td class=\"actions\">\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" c3-stop-click-propagation>\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"openDialog($event, $index)\">\n Ouvrir\n </button>\n <button mat-menu-item (click)=\"fileViewer.download(file)\">T\u00E9l\u00E9charger</button>\n @if (deletable()) {\n <button mat-menu-item (click)=\"onDelete.emit(file)\">Supprimer</button>\n }\n </mat-menu>\n </td>\n </tr>\n }\n </tbody>\n </table>\n</c3-file-viewer-dialog>\n\n<!-- <div class=\"file-display-list\">\n @for (file of files(); track $index) {\n <button>\n @for (columnName of columns(); track columnName) {\n @if (columnName === 'name') {\n <div class=\"name\">\n @if (getColumnDef(columnName)?.cellDef()) {\n <ng-container *ngTemplateOutlet=\"getColumnDef(columnName)!.cellDef()!.template; context: { $implicit: file }\"></ng-container>\n } @else {\n <span>{{ displayFn()(file) }}</span>\n }\n </div>\n } @else if (columnName === 'icon') {\n <div class=\"icon-cell\">\n @if (getColumnDef(columnName)?.cellDef()) {\n <ng-container *ngTemplateOutlet=\"getColumnDef(columnName)!.cellDef()!.template; context: { $implicit: file }\"></ng-container>\n } @else {\n <div class=\"icon\">\n <c3-file-display-icon [fileType]=\"file.type\" />\n </div>\n }\n </div>\n } @else {\n <div class=\"cell\">\n @if (getColumnDef(columnName)?.cellDef()) {\n <ng-container *ngTemplateOutlet=\"getColumnDef(columnName)!.cellDef()!.template; context: { $implicit: file }\"></ng-container>\n } @else {\n @if (columnName === 'date') {\n <div class=\"date-label\">\n <span>{{ file.lastModified ? (file.lastModified | date:'medium') : '-' }}</span>\n </div>\n }\n }\n </div>\n }\n }\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" c3-stop-click-propagation>\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"openDialog($event, $index)\">\n Ouvrir\n </button>\n @if (deletable()) {\n <button mat-menu-item (click)=\"onDelete.emit(file)\">Supprimer</button>\n }\n </mat-menu>\n </button>\n }\n</div> -->\n", styles: [":host{display:flex;flex-direction:column;margin:.5rem}:host .file-table{width:100%;border-collapse:collapse}:host .file-table th,:host .file-table td{padding:.5rem;text-align:left;border-bottom:1px solid var(--mat-divider-color)}:host .file-table th{font-size:1.5rem;font-weight:700;background-color:var(--mat-table-header-container-background-color)}:host .file-table tr:hover{background-color:var(--background-hover)}:host .file-table .icon{width:56px;min-width:56px;text-align:center}:host .file-table :where(th,td):not(.full){width:0;white-space:nowrap}:host .file-table .actions{width:48px;text-align:center}\n"], dependencies: [{ kind: "directive", type: C3StopPropagationDirective, selector: "[c3-stop-click-propagation]" }, { kind: "ngmodule", type: C3FileViewerModule }, { kind: "component", type: C3FileViewerDialogComponent, selector: "c3-file-viewer-dialog", inputs: ["fileViewer", "dialogConfig"] }, { kind: "component", type: C3FileDisplayIconComponent, selector: "c3-file-display-icon", inputs: ["fileType"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "
|
|
1857
|
+
], queries: [{ propertyName: "_columnDefs", predicate: C3FileDisplayListColumnDefDirective, isSignal: true }], viewQueries: [{ propertyName: "dialog", first: true, predicate: C3FileViewerDialogComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<c3-file-viewer-dialog [fileViewer]=\"fileViewer\">\n<!-- header -->\n <table class=\"file-table\">\n <thead>\n <tr>\n @for (columnName of columns(); track columnName) {\n <th [class.full]=\"columnName === 'name'\" [class.icon]=\"columnName === 'icon'\">\n @if (getColumnDef(columnName)?.headerCellDef()) {\n <ng-container *ngTemplateOutlet=\"getColumnDef(columnName)!.headerCellDef()!.template\"></ng-container>\n } @else {\n @if (columnName === 'icon') {\n <span></span>\n } @else if (columnName === 'name') {\n <span>Nom</span>\n } @else if (columnName === 'date') {\n <span>Date d'ajout</span>\n }\n }\n </th>\n }\n <th class=\"actions\">\n <ng-content></ng-content>\n </th>\n </tr>\n </thead>\n <tbody>\n @for (file of files(); track $index) {\n <tr (click)=\"openDialog($event, $index)\">\n @for (columnName of columns(); track columnName) {\n @if (columnName === 'name') {\n <td class=\"name full\">\n @if (getColumnDef(columnName)?.cellDef()) {\n <ng-container *ngTemplateOutlet=\"getColumnDef(columnName)!.cellDef()!.template; context: { $implicit: file }\"></ng-container>\n } @else {\n <span>{{ displayFn()(file) }}</span>\n }\n </td>\n } @else if (columnName === 'icon') {\n <td class=\"icon\">\n @if (getColumnDef(columnName)?.cellDef()) {\n <ng-container *ngTemplateOutlet=\"getColumnDef(columnName)!.cellDef()!.template; context: { $implicit: file }\"></ng-container>\n } @else {\n <c3-file-display-icon [fileType]=\"file.type\" />\n }\n </td>\n } @else {\n <td [classList]=\"getColumnDef(columnName)?.classList()\">\n @if (getColumnDef(columnName)?.cellDef()) {\n <ng-container *ngTemplateOutlet=\"getColumnDef(columnName)!.cellDef()!.template; context: { $implicit: file }\"></ng-container>\n } @else {\n @if (columnName === 'date') {\n <span>{{ file.lastModified ? (file.lastModified | date:'medium') : '-' }}</span>\n }\n }\n </td>\n }\n }\n <td class=\"actions\">\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" c3-stop-click-propagation>\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"openDialog($event, $index)\">\n Ouvrir\n </button>\n <button mat-menu-item (click)=\"fileViewer.download(file)\">T\u00E9l\u00E9charger</button>\n @if (deletable()) {\n <button mat-menu-item (click)=\"onDelete.emit(file)\">Supprimer</button>\n }\n </mat-menu>\n </td>\n </tr>\n }\n </tbody>\n </table>\n</c3-file-viewer-dialog>\n\n<!-- <div class=\"file-display-list\">\n @for (file of files(); track $index) {\n <button>\n @for (columnName of columns(); track columnName) {\n @if (columnName === 'name') {\n <div class=\"name\">\n @if (getColumnDef(columnName)?.cellDef()) {\n <ng-container *ngTemplateOutlet=\"getColumnDef(columnName)!.cellDef()!.template; context: { $implicit: file }\"></ng-container>\n } @else {\n <span>{{ displayFn()(file) }}</span>\n }\n </div>\n } @else if (columnName === 'icon') {\n <div class=\"icon-cell\">\n @if (getColumnDef(columnName)?.cellDef()) {\n <ng-container *ngTemplateOutlet=\"getColumnDef(columnName)!.cellDef()!.template; context: { $implicit: file }\"></ng-container>\n } @else {\n <div class=\"icon\">\n <c3-file-display-icon [fileType]=\"file.type\" />\n </div>\n }\n </div>\n } @else {\n <div class=\"cell\">\n @if (getColumnDef(columnName)?.cellDef()) {\n <ng-container *ngTemplateOutlet=\"getColumnDef(columnName)!.cellDef()!.template; context: { $implicit: file }\"></ng-container>\n } @else {\n @if (columnName === 'date') {\n <div class=\"date-label\">\n <span>{{ file.lastModified ? (file.lastModified | date:'medium') : '-' }}</span>\n </div>\n }\n }\n </div>\n }\n }\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" c3-stop-click-propagation>\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"openDialog($event, $index)\">\n Ouvrir\n </button>\n @if (deletable()) {\n <button mat-menu-item (click)=\"onDelete.emit(file)\">Supprimer</button>\n }\n </mat-menu>\n </button>\n }\n</div> -->\n", styles: [":host{display:flex;flex-direction:column;margin:.5rem}:host .file-table{width:100%;border-collapse:collapse}:host .file-table th,:host .file-table td{padding:.5rem;text-align:left;border-bottom:1px solid var(--mat-divider-color)}:host .file-table th{font-size:1.5rem;font-weight:700;background-color:var(--mat-table-header-container-background-color)}:host .file-table tr:hover{background-color:var(--background-hover)}:host .file-table .icon{width:56px;min-width:56px;text-align:center}:host .file-table :where(th,td):not(.full){width:0;white-space:nowrap}:host .file-table .actions{width:48px;text-align:center}\n"], dependencies: [{ kind: "directive", type: C3StopPropagationDirective, selector: "[c3-stop-click-propagation]" }, { kind: "ngmodule", type: C3FileViewerModule }, { kind: "component", type: C3FileViewerDialogComponent, selector: "c3-file-viewer-dialog", inputs: ["fileViewer", "dialogConfig"] }, { kind: "component", type: C3FileDisplayIconComponent, selector: "c3-file-display-icon", inputs: ["fileType"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatNativeDateModule }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i5$2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i5$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }] }); }
|
|
1862
1858
|
}
|
|
1863
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1859
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileDisplayListComponent, decorators: [{
|
|
1864
1860
|
type: Component,
|
|
1865
1861
|
args: [{ selector: 'c3-file-display-list', imports: [
|
|
1866
1862
|
C3StopPropagationDirective,
|
|
@@ -1877,11 +1873,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
|
|
|
1877
1873
|
useExisting: C3FileDisplayListComponent,
|
|
1878
1874
|
},
|
|
1879
1875
|
], template: "<c3-file-viewer-dialog [fileViewer]=\"fileViewer\">\n<!-- header -->\n <table class=\"file-table\">\n <thead>\n <tr>\n @for (columnName of columns(); track columnName) {\n <th [class.full]=\"columnName === 'name'\" [class.icon]=\"columnName === 'icon'\">\n @if (getColumnDef(columnName)?.headerCellDef()) {\n <ng-container *ngTemplateOutlet=\"getColumnDef(columnName)!.headerCellDef()!.template\"></ng-container>\n } @else {\n @if (columnName === 'icon') {\n <span></span>\n } @else if (columnName === 'name') {\n <span>Nom</span>\n } @else if (columnName === 'date') {\n <span>Date d'ajout</span>\n }\n }\n </th>\n }\n <th class=\"actions\">\n <ng-content></ng-content>\n </th>\n </tr>\n </thead>\n <tbody>\n @for (file of files(); track $index) {\n <tr (click)=\"openDialog($event, $index)\">\n @for (columnName of columns(); track columnName) {\n @if (columnName === 'name') {\n <td class=\"name full\">\n @if (getColumnDef(columnName)?.cellDef()) {\n <ng-container *ngTemplateOutlet=\"getColumnDef(columnName)!.cellDef()!.template; context: { $implicit: file }\"></ng-container>\n } @else {\n <span>{{ displayFn()(file) }}</span>\n }\n </td>\n } @else if (columnName === 'icon') {\n <td class=\"icon\">\n @if (getColumnDef(columnName)?.cellDef()) {\n <ng-container *ngTemplateOutlet=\"getColumnDef(columnName)!.cellDef()!.template; context: { $implicit: file }\"></ng-container>\n } @else {\n <c3-file-display-icon [fileType]=\"file.type\" />\n }\n </td>\n } @else {\n <td [classList]=\"getColumnDef(columnName)?.classList()\">\n @if (getColumnDef(columnName)?.cellDef()) {\n <ng-container *ngTemplateOutlet=\"getColumnDef(columnName)!.cellDef()!.template; context: { $implicit: file }\"></ng-container>\n } @else {\n @if (columnName === 'date') {\n <span>{{ file.lastModified ? (file.lastModified | date:'medium') : '-' }}</span>\n }\n }\n </td>\n }\n }\n <td class=\"actions\">\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" c3-stop-click-propagation>\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"openDialog($event, $index)\">\n Ouvrir\n </button>\n <button mat-menu-item (click)=\"fileViewer.download(file)\">T\u00E9l\u00E9charger</button>\n @if (deletable()) {\n <button mat-menu-item (click)=\"onDelete.emit(file)\">Supprimer</button>\n }\n </mat-menu>\n </td>\n </tr>\n }\n </tbody>\n </table>\n</c3-file-viewer-dialog>\n\n<!-- <div class=\"file-display-list\">\n @for (file of files(); track $index) {\n <button>\n @for (columnName of columns(); track columnName) {\n @if (columnName === 'name') {\n <div class=\"name\">\n @if (getColumnDef(columnName)?.cellDef()) {\n <ng-container *ngTemplateOutlet=\"getColumnDef(columnName)!.cellDef()!.template; context: { $implicit: file }\"></ng-container>\n } @else {\n <span>{{ displayFn()(file) }}</span>\n }\n </div>\n } @else if (columnName === 'icon') {\n <div class=\"icon-cell\">\n @if (getColumnDef(columnName)?.cellDef()) {\n <ng-container *ngTemplateOutlet=\"getColumnDef(columnName)!.cellDef()!.template; context: { $implicit: file }\"></ng-container>\n } @else {\n <div class=\"icon\">\n <c3-file-display-icon [fileType]=\"file.type\" />\n </div>\n }\n </div>\n } @else {\n <div class=\"cell\">\n @if (getColumnDef(columnName)?.cellDef()) {\n <ng-container *ngTemplateOutlet=\"getColumnDef(columnName)!.cellDef()!.template; context: { $implicit: file }\"></ng-container>\n } @else {\n @if (columnName === 'date') {\n <div class=\"date-label\">\n <span>{{ file.lastModified ? (file.lastModified | date:'medium') : '-' }}</span>\n </div>\n }\n }\n </div>\n }\n }\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" c3-stop-click-propagation>\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"openDialog($event, $index)\">\n Ouvrir\n </button>\n @if (deletable()) {\n <button mat-menu-item (click)=\"onDelete.emit(file)\">Supprimer</button>\n }\n </mat-menu>\n </button>\n }\n</div> -->\n", styles: [":host{display:flex;flex-direction:column;margin:.5rem}:host .file-table{width:100%;border-collapse:collapse}:host .file-table th,:host .file-table td{padding:.5rem;text-align:left;border-bottom:1px solid var(--mat-divider-color)}:host .file-table th{font-size:1.5rem;font-weight:700;background-color:var(--mat-table-header-container-background-color)}:host .file-table tr:hover{background-color:var(--background-hover)}:host .file-table .icon{width:56px;min-width:56px;text-align:center}:host .file-table :where(th,td):not(.full){width:0;white-space:nowrap}:host .file-table .actions{width:48px;text-align:center}\n"] }]
|
|
1880
|
-
}], ctorParameters: () => [] });
|
|
1876
|
+
}], ctorParameters: () => [], propDecorators: { files: [{ type: i0.Input, args: [{ isSignal: true, alias: "files", required: true }] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: false }] }], displayFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayFn", required: false }] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: false }] }], deletable: [{ type: i0.Input, args: [{ isSignal: true, alias: "deletable", required: false }] }], onDelete: [{ type: i0.Output, args: ["onDelete"] }], dialog: [{ type: i0.ViewChild, args: [i0.forwardRef(() => C3FileViewerDialogComponent), { isSignal: true }] }], _columnDefs: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => C3FileDisplayListColumnDefDirective), { isSignal: true }] }] } });
|
|
1881
1877
|
|
|
1882
1878
|
class C3FileDisplayerModule {
|
|
1883
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1884
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
1879
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileDisplayerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1880
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: C3FileDisplayerModule, imports: [CommonModule,
|
|
1885
1881
|
C3FileDisplayGridComponent,
|
|
1886
1882
|
C3FileDisplayListComponent,
|
|
1887
1883
|
C3FileDisplayCardComponent,
|
|
@@ -1895,13 +1891,13 @@ class C3FileDisplayerModule {
|
|
|
1895
1891
|
C3FileDisplayListColumnDefDirective,
|
|
1896
1892
|
C3FileDisplayListHeaderCellDefDirective,
|
|
1897
1893
|
C3FileDisplayListCellDefDirective] }); }
|
|
1898
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
1894
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileDisplayerModule, imports: [CommonModule,
|
|
1899
1895
|
C3FileDisplayGridComponent,
|
|
1900
1896
|
C3FileDisplayListComponent,
|
|
1901
1897
|
C3FileDisplayCardComponent,
|
|
1902
1898
|
C3FileDisplayIconComponent] }); }
|
|
1903
1899
|
}
|
|
1904
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1900
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FileDisplayerModule, decorators: [{
|
|
1905
1901
|
type: NgModule,
|
|
1906
1902
|
args: [{
|
|
1907
1903
|
declarations: [],
|
|
@@ -1929,20 +1925,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
|
|
|
1929
1925
|
|
|
1930
1926
|
class C3ExpansionHeaderComponent {
|
|
1931
1927
|
constructor() {
|
|
1932
|
-
this.title = input();
|
|
1933
|
-
this.isExpanded = input(false);
|
|
1928
|
+
this.title = input(...(ngDevMode ? [undefined, { debugName: "title" }] : []));
|
|
1929
|
+
this.isExpanded = input(false, ...(ngDevMode ? [{ debugName: "isExpanded" }] : []));
|
|
1934
1930
|
this.toggleExpand = output();
|
|
1935
1931
|
}
|
|
1936
1932
|
get hostClass() {
|
|
1937
1933
|
return 'c3-expansion-header';
|
|
1938
1934
|
}
|
|
1939
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1940
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1935
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3ExpansionHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1936
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: C3ExpansionHeaderComponent, isStandalone: false, selector: "c3-expansion-header", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, isExpanded: { classPropertyName: "isExpanded", publicName: "isExpanded", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { toggleExpand: "toggleExpand" }, host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: "<ng-content>\n @if(title()) {\n <h4 class=\"text-lg\">\n {{ title() }}\n </h4>\n }\n <button\n mat-icon-button\n (click)=\"toggleExpand.emit()\"\n [matTooltip]=\"isExpanded() ? 'R\u00E9duire' : 'D\u00E9velopper'\"\n >\n <mat-icon>{{\n isExpanded() ? \"expand_less\" : \"expand_more\"\n }}</mat-icon>\n </button>\n</ng-content>\n", dependencies: [{ kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1941
1937
|
}
|
|
1942
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1938
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3ExpansionHeaderComponent, decorators: [{
|
|
1943
1939
|
type: Component,
|
|
1944
1940
|
args: [{ selector: 'c3-expansion-header', encapsulation: ViewEncapsulation.None, standalone: false, template: "<ng-content>\n @if(title()) {\n <h4 class=\"text-lg\">\n {{ title() }}\n </h4>\n }\n <button\n mat-icon-button\n (click)=\"toggleExpand.emit()\"\n [matTooltip]=\"isExpanded() ? 'R\u00E9duire' : 'D\u00E9velopper'\"\n >\n <mat-icon>{{\n isExpanded() ? \"expand_less\" : \"expand_more\"\n }}</mat-icon>\n </button>\n</ng-content>\n" }]
|
|
1945
|
-
}], propDecorators: { hostClass: [{
|
|
1941
|
+
}], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], isExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isExpanded", required: false }] }], toggleExpand: [{ type: i0.Output, args: ["toggleExpand"] }], hostClass: [{
|
|
1946
1942
|
type: HostBinding,
|
|
1947
1943
|
args: ['class']
|
|
1948
1944
|
}] } });
|
|
@@ -1950,32 +1946,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
|
|
|
1950
1946
|
class C3AutoAnimateDirective {
|
|
1951
1947
|
constructor(el) {
|
|
1952
1948
|
this.el = el;
|
|
1949
|
+
this.options = input(undefined, ...(ngDevMode ? [{ debugName: "options" }] : []));
|
|
1953
1950
|
}
|
|
1954
1951
|
ngAfterViewInit() {
|
|
1955
|
-
autoAnimate(this.el.nativeElement, this.options);
|
|
1952
|
+
autoAnimate(this.el.nativeElement, this.options());
|
|
1956
1953
|
}
|
|
1957
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1958
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
1954
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3AutoAnimateDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1955
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.14", type: C3AutoAnimateDirective, isStandalone: true, selector: "[c3AutoAnimate]", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
1959
1956
|
}
|
|
1960
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1957
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3AutoAnimateDirective, decorators: [{
|
|
1961
1958
|
type: Directive,
|
|
1962
1959
|
args: [{
|
|
1963
1960
|
selector: '[c3AutoAnimate]',
|
|
1964
1961
|
standalone: true,
|
|
1965
1962
|
}]
|
|
1966
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { options: [{
|
|
1967
|
-
type: Input
|
|
1968
|
-
}] } });
|
|
1963
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }] } });
|
|
1969
1964
|
|
|
1970
1965
|
class C3ExpansionComponent {
|
|
1971
1966
|
get hostClass() {
|
|
1972
1967
|
return 'c3-expansion';
|
|
1973
1968
|
}
|
|
1974
1969
|
constructor() {
|
|
1975
|
-
this.headerClass = input('c3-expansion-header');
|
|
1976
|
-
this.isExpanded = model(false);
|
|
1970
|
+
this.headerClass = input('c3-expansion-header', ...(ngDevMode ? [{ debugName: "headerClass" }] : []));
|
|
1971
|
+
this.isExpanded = model(false, ...(ngDevMode ? [{ debugName: "isExpanded" }] : []));
|
|
1977
1972
|
this._elementRef = inject(ElementRef);
|
|
1978
|
-
this.header = contentChild(C3ExpansionHeaderComponent);
|
|
1973
|
+
this.header = contentChild(C3ExpansionHeaderComponent, ...(ngDevMode ? [{ debugName: "header" }] : []));
|
|
1979
1974
|
effect(() => {
|
|
1980
1975
|
this.expandSubsciption?.unsubscribe();
|
|
1981
1976
|
this.header()?.toggleExpand.subscribe(() => this.toggleExpand());
|
|
@@ -1987,39 +1982,39 @@ class C3ExpansionComponent {
|
|
|
1987
1982
|
toggleExpand() {
|
|
1988
1983
|
this.isExpanded.set(!this.isExpanded());
|
|
1989
1984
|
}
|
|
1990
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1991
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
1985
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3ExpansionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1986
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: C3ExpansionComponent, isStandalone: false, selector: "c3-expansion", inputs: { headerClass: { classPropertyName: "headerClass", publicName: "headerClass", isSignal: true, isRequired: false, transformFunction: null }, isExpanded: { classPropertyName: "isExpanded", publicName: "isExpanded", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isExpanded: "isExpandedChange" }, host: { properties: { "class": "this.hostClass" } }, queries: [{ propertyName: "header", first: true, predicate: C3ExpansionHeaderComponent, descendants: true, isSignal: true }], hostDirectives: [{ directive: C3AutoAnimateDirective, inputs: ["options", "options"] }], ngImport: i0, template: "<div [class]=\"headerClass()\">\n <ng-content select=\"c3-expansion-header\">\n <c3-expansion-header />\n </ng-content>\n</div>\n\n@if (isExpanded()) {\n <div>\n <ng-content></ng-content>\n </div>\n}\n", dependencies: [{ kind: "component", type: C3ExpansionHeaderComponent, selector: "c3-expansion-header", inputs: ["title", "isExpanded"], outputs: ["toggleExpand"] }] }); }
|
|
1992
1987
|
}
|
|
1993
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1988
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3ExpansionComponent, decorators: [{
|
|
1994
1989
|
type: Component,
|
|
1995
1990
|
args: [{ selector: 'c3-expansion', hostDirectives: [
|
|
1996
1991
|
{
|
|
1997
1992
|
directive: C3AutoAnimateDirective,
|
|
1998
1993
|
inputs: ['options'],
|
|
1999
1994
|
},
|
|
2000
|
-
], standalone: false, template: "<div [class]=\"headerClass()\">\n <ng-content select=\"c3-expansion-header\">\n <c3-expansion-header />\n </ng-content>\n</div>\n\n
|
|
2001
|
-
}], ctorParameters: () => [], propDecorators: { hostClass: [{
|
|
1995
|
+
], standalone: false, template: "<div [class]=\"headerClass()\">\n <ng-content select=\"c3-expansion-header\">\n <c3-expansion-header />\n </ng-content>\n</div>\n\n@if (isExpanded()) {\n <div>\n <ng-content></ng-content>\n </div>\n}\n" }]
|
|
1996
|
+
}], ctorParameters: () => [], propDecorators: { headerClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerClass", required: false }] }], isExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isExpanded", required: false }] }, { type: i0.Output, args: ["isExpandedChange"] }], hostClass: [{
|
|
2002
1997
|
type: HostBinding,
|
|
2003
1998
|
args: ['class']
|
|
2004
|
-
}] } });
|
|
1999
|
+
}], header: [{ type: i0.ContentChild, args: [i0.forwardRef(() => C3ExpansionHeaderComponent), { isSignal: true }] }] } });
|
|
2005
2000
|
|
|
2006
2001
|
class C3ExpansionModule {
|
|
2007
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2008
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
2002
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3ExpansionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
2003
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: C3ExpansionModule, declarations: [C3ExpansionComponent, C3ExpansionHeaderComponent], imports: [CommonModule,
|
|
2009
2004
|
C3AutoAnimateDirective,
|
|
2010
2005
|
MatButtonModule,
|
|
2011
2006
|
MatIconModule,
|
|
2012
2007
|
MatTooltipModule,
|
|
2013
2008
|
MatButtonModule,
|
|
2014
2009
|
MatToolbarModule], exports: [C3ExpansionComponent, C3ExpansionHeaderComponent] }); }
|
|
2015
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
2010
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3ExpansionModule, imports: [CommonModule,
|
|
2016
2011
|
MatButtonModule,
|
|
2017
2012
|
MatIconModule,
|
|
2018
2013
|
MatTooltipModule,
|
|
2019
2014
|
MatButtonModule,
|
|
2020
2015
|
MatToolbarModule] }); }
|
|
2021
2016
|
}
|
|
2022
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2017
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3ExpansionModule, decorators: [{
|
|
2023
2018
|
type: NgModule,
|
|
2024
2019
|
args: [{
|
|
2025
2020
|
declarations: [C3ExpansionComponent, C3ExpansionHeaderComponent],
|
|
@@ -2040,10 +2035,10 @@ class C3SelectOnFocusDirective {
|
|
|
2040
2035
|
onFocus(target) {
|
|
2041
2036
|
setTimeout(() => target.select());
|
|
2042
2037
|
}
|
|
2043
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2044
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
2038
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3SelectOnFocusDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2039
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.14", type: C3SelectOnFocusDirective, isStandalone: true, selector: "[c3SelectOnFocus]", host: { listeners: { "focus": "onFocus($event.target)" } }, ngImport: i0 }); }
|
|
2045
2040
|
}
|
|
2046
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2041
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3SelectOnFocusDirective, decorators: [{
|
|
2047
2042
|
type: Directive,
|
|
2048
2043
|
args: [{
|
|
2049
2044
|
selector: '[c3SelectOnFocus]',
|
|
@@ -2056,8 +2051,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
|
|
|
2056
2051
|
|
|
2057
2052
|
class C3TreeComponent {
|
|
2058
2053
|
constructor() {
|
|
2059
|
-
this.treeData = model.required();
|
|
2060
|
-
this.isLoading = model(false);
|
|
2054
|
+
this.treeData = model.required(...(ngDevMode ? [{ debugName: "treeData" }] : []));
|
|
2055
|
+
this.isLoading = model(false, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
|
|
2061
2056
|
this.treeDataSelected = output();
|
|
2062
2057
|
this._transformer = (node, level) => ({
|
|
2063
2058
|
expandable: !!node.children && node.children.length > 0,
|
|
@@ -2075,45 +2070,48 @@ class C3TreeComponent {
|
|
|
2075
2070
|
this.dataSource.data = this.treeData();
|
|
2076
2071
|
});
|
|
2077
2072
|
}
|
|
2078
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2079
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2073
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3TreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2074
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: C3TreeComponent, isStandalone: true, selector: "c3-tree", inputs: { treeData: { classPropertyName: "treeData", publicName: "treeData", isSignal: true, isRequired: true, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { treeData: "treeDataChange", isLoading: "isLoadingChange", treeDataSelected: "treeDataSelected" }, ngImport: i0, template: "@if(isLoading()) {\r\n<div class=\"c3-tree-loader\">\r\n <mat-spinner diameter=\"50\"></mat-spinner>\r\n</div>\r\n}\r\n\r\n<mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\r\n <mat-tree-node *matTreeNodeDef=\"let node\" matTreeNodePadding class=\"children\">\r\n <button mat-ripple (click)=\"treeDataSelected.emit(node)\">\r\n {{ node.name }}\r\n </button>\r\n </mat-tree-node>\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node; when: hasChild\"\r\n matTreeNodePadding\r\n class=\"has-children\"\r\n >\r\n <button matTreeNodeToggle [attr.aria-label]=\"'Toggle ' + node.name\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">\r\n {{ treeControl.isExpanded(node) ? \"expand_more\" : \"chevron_right\" }}\r\n </mat-icon>\r\n </button>\r\n <div class=\"mat-tree-node-content\">\r\n <ng-content>\r\n <span>{{ node.name }}</span>\r\n </ng-content>\r\n </div>\r\n </mat-tree-node>\r\n</mat-tree>\r\n", styles: [":host{display:block;width:100%;position:relative;min-height:100%;padding:4px 0}.c3-tree-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}mat-tree{width:100%;height:100%;background-color:transparent;border:1px solid var(--mat-divider-color);border-radius:4px;overflow:auto}mat-tree mat-tree-node{display:flex;align-items:center;justify-content:start;gap:1rem}mat-tree mat-tree-node.has-children>button{height:32px;width:32px;border-radius:50%;display:flex;justify-content:center;align-items:center;border:1px solid transparent;margin:.5rem}mat-tree mat-tree-node.has-children>button:hover{border-color:var(--mat-divider-color)}mat-tree mat-tree-node.has-children:hover{background-color:var(--background-hover)}mat-tree mat-tree-node.has-children .mat-tree-node-content{padding-right:.25rem;display:flex;justify-content:space-between;align-items:center;width:100%}mat-tree mat-tree-node.children button{width:100%;border-radius:.25rem;padding:0 1rem;height:2rem;text-align:left}mat-tree mat-tree-node.children button:hover{background-color:var(--background-hover)}mat-tree mat-tree-node:hover{background-color:var(--background-hover)}\n"], dependencies: [{ kind: "ngmodule", type: MatTreeModule }, { kind: "directive", type: i1$5.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: i1$5.MatTreeNodePadding, selector: "[matTreeNodePadding]", inputs: ["matTreeNodePadding", "matTreeNodePaddingIndent"] }, { kind: "directive", type: i1$5.MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { kind: "component", type: i1$5.MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { kind: "directive", type: i1$5.MatTreeNode, selector: "mat-tree-node", inputs: ["tabIndex", "disabled"], outputs: ["activation", "expandedChange"], exportAs: ["matTreeNode"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatRippleModule }, { kind: "directive", type: i3$2.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i4$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }] }); }
|
|
2080
2075
|
}
|
|
2081
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2076
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3TreeComponent, decorators: [{
|
|
2082
2077
|
type: Component,
|
|
2083
2078
|
args: [{ selector: 'c3-tree', imports: [
|
|
2084
|
-
CommonModule,
|
|
2085
2079
|
MatTreeModule,
|
|
2086
2080
|
MatIconModule,
|
|
2087
2081
|
MatRippleModule,
|
|
2088
|
-
MatProgressSpinnerModule
|
|
2082
|
+
MatProgressSpinnerModule
|
|
2089
2083
|
], template: "@if(isLoading()) {\r\n<div class=\"c3-tree-loader\">\r\n <mat-spinner diameter=\"50\"></mat-spinner>\r\n</div>\r\n}\r\n\r\n<mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\r\n <mat-tree-node *matTreeNodeDef=\"let node\" matTreeNodePadding class=\"children\">\r\n <button mat-ripple (click)=\"treeDataSelected.emit(node)\">\r\n {{ node.name }}\r\n </button>\r\n </mat-tree-node>\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node; when: hasChild\"\r\n matTreeNodePadding\r\n class=\"has-children\"\r\n >\r\n <button matTreeNodeToggle [attr.aria-label]=\"'Toggle ' + node.name\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">\r\n {{ treeControl.isExpanded(node) ? \"expand_more\" : \"chevron_right\" }}\r\n </mat-icon>\r\n </button>\r\n <div class=\"mat-tree-node-content\">\r\n <ng-content>\r\n <span>{{ node.name }}</span>\r\n </ng-content>\r\n </div>\r\n </mat-tree-node>\r\n</mat-tree>\r\n", styles: [":host{display:block;width:100%;position:relative;min-height:100%;padding:4px 0}.c3-tree-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}mat-tree{width:100%;height:100%;background-color:transparent;border:1px solid var(--mat-divider-color);border-radius:4px;overflow:auto}mat-tree mat-tree-node{display:flex;align-items:center;justify-content:start;gap:1rem}mat-tree mat-tree-node.has-children>button{height:32px;width:32px;border-radius:50%;display:flex;justify-content:center;align-items:center;border:1px solid transparent;margin:.5rem}mat-tree mat-tree-node.has-children>button:hover{border-color:var(--mat-divider-color)}mat-tree mat-tree-node.has-children:hover{background-color:var(--background-hover)}mat-tree mat-tree-node.has-children .mat-tree-node-content{padding-right:.25rem;display:flex;justify-content:space-between;align-items:center;width:100%}mat-tree mat-tree-node.children button{width:100%;border-radius:.25rem;padding:0 1rem;height:2rem;text-align:left}mat-tree mat-tree-node.children button:hover{background-color:var(--background-hover)}mat-tree mat-tree-node:hover{background-color:var(--background-hover)}\n"] }]
|
|
2090
|
-
}], ctorParameters: () => [] });
|
|
2084
|
+
}], ctorParameters: () => [], propDecorators: { treeData: [{ type: i0.Input, args: [{ isSignal: true, alias: "treeData", required: true }] }, { type: i0.Output, args: ["treeDataChange"] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }, { type: i0.Output, args: ["isLoadingChange"] }], treeDataSelected: [{ type: i0.Output, args: ["treeDataSelected"] }] } });
|
|
2091
2085
|
|
|
2092
2086
|
class C3FlowingMenuItemComponent {
|
|
2093
2087
|
constructor() {
|
|
2094
|
-
this.menuTpl = viewChild('menuTpl', {
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
this.contentTpl = viewChild('contentTpl', {
|
|
2098
|
-
|
|
2099
|
-
|
|
2100
|
-
this.active = signal(false);
|
|
2101
|
-
}
|
|
2102
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2103
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
2088
|
+
this.menuTpl = viewChild('menuTpl', ...(ngDevMode ? [{ debugName: "menuTpl", read: TemplateRef }] : [{
|
|
2089
|
+
read: TemplateRef,
|
|
2090
|
+
}]));
|
|
2091
|
+
this.contentTpl = viewChild('contentTpl', ...(ngDevMode ? [{ debugName: "contentTpl", read: TemplateRef }] : [{
|
|
2092
|
+
read: TemplateRef,
|
|
2093
|
+
}]));
|
|
2094
|
+
this.active = signal(false, ...(ngDevMode ? [{ debugName: "active" }] : []));
|
|
2095
|
+
}
|
|
2096
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FlowingMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2097
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.14", type: C3FlowingMenuItemComponent, isStandalone: false, selector: "c3-flowing-menu-item", viewQueries: [{ propertyName: "menuTpl", first: true, predicate: ["menuTpl"], descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "contentTpl", first: true, predicate: ["contentTpl"], descendants: true, read: TemplateRef, isSignal: true }], ngImport: i0, template: "<ng-template #menuTpl>\n <ng-content select=\"[menu-title]\"></ng-content>\n</ng-template>\n<ng-template #contentTpl>\n <ng-content select=\"c3-flowing-menu-item-content\"></ng-content>\n</ng-template>\n" }); }
|
|
2104
2098
|
}
|
|
2105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2099
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FlowingMenuItemComponent, decorators: [{
|
|
2106
2100
|
type: Component,
|
|
2107
2101
|
args: [{ selector: 'c3-flowing-menu-item', standalone: false, template: "<ng-template #menuTpl>\n <ng-content select=\"[menu-title]\"></ng-content>\n</ng-template>\n<ng-template #contentTpl>\n <ng-content select=\"c3-flowing-menu-item-content\"></ng-content>\n</ng-template>\n" }]
|
|
2108
|
-
}]
|
|
2102
|
+
}], propDecorators: { menuTpl: [{ type: i0.ViewChild, args: ['menuTpl', { ...{
|
|
2103
|
+
read: TemplateRef,
|
|
2104
|
+
}, isSignal: true }] }], contentTpl: [{ type: i0.ViewChild, args: ['contentTpl', { ...{
|
|
2105
|
+
read: TemplateRef,
|
|
2106
|
+
}, isSignal: true }] }] } });
|
|
2109
2107
|
|
|
2110
2108
|
class C3FlowingMenuComponent {
|
|
2111
2109
|
constructor() {
|
|
2112
|
-
this.c3FlowingMenu = contentChildren(C3FlowingMenuItemComponent);
|
|
2113
|
-
this.targetContentRef = viewChild('targetContent', {
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
this.selectedIndex = model(0);
|
|
2110
|
+
this.c3FlowingMenu = contentChildren(C3FlowingMenuItemComponent, ...(ngDevMode ? [{ debugName: "c3FlowingMenu" }] : []));
|
|
2111
|
+
this.targetContentRef = viewChild('targetContent', ...(ngDevMode ? [{ debugName: "targetContentRef", read: ViewContainerRef }] : [{
|
|
2112
|
+
read: ViewContainerRef,
|
|
2113
|
+
}]));
|
|
2114
|
+
this.selectedIndex = model(0, ...(ngDevMode ? [{ debugName: "selectedIndex" }] : []));
|
|
2117
2115
|
effect(() => {
|
|
2118
2116
|
if (this.targetContentRef()) {
|
|
2119
2117
|
this.updateView();
|
|
@@ -2133,36 +2131,38 @@ class C3FlowingMenuComponent {
|
|
|
2133
2131
|
this.targetContentRef().createEmbeddedView(selectedMenu.contentTpl());
|
|
2134
2132
|
}
|
|
2135
2133
|
}
|
|
2136
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2137
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2134
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FlowingMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2135
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: C3FlowingMenuComponent, isStandalone: false, selector: "c3-flowing-menu", inputs: { selectedIndex: { classPropertyName: "selectedIndex", publicName: "selectedIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedIndex: "selectedIndexChange" }, host: { attributes: { "ngSkipHydration": "true" }, classAttribute: "c3-flowing-menu" }, queries: [{ propertyName: "c3FlowingMenu", predicate: C3FlowingMenuItemComponent, isSignal: true }], viewQueries: [{ propertyName: "targetContentRef", first: true, predicate: ["targetContent"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: "<aside class=\"menu\">\n @for(menu of c3FlowingMenu(); track menu; let i = $index) {\n @if(menu.menuTpl()) {\n <button (click)=\"selectMenu(i)\" [class.active]=\"i === selectedIndex()\">\n <ng-container *ngTemplateOutlet=\"menu.menuTpl()!\"></ng-container>\n </button>\n }\n }\n</aside>\n\n<section class=\"contenu\">\n <ng-container #targetContent></ng-container>\n</section>\n", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
2138
2136
|
}
|
|
2139
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2137
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FlowingMenuComponent, decorators: [{
|
|
2140
2138
|
type: Component,
|
|
2141
2139
|
args: [{ selector: 'c3-flowing-menu', encapsulation: ViewEncapsulation.None, host: {
|
|
2142
2140
|
class: 'c3-flowing-menu',
|
|
2143
2141
|
ngSkipHydration: 'true',
|
|
2144
2142
|
}, standalone: false, template: "<aside class=\"menu\">\n @for(menu of c3FlowingMenu(); track menu; let i = $index) {\n @if(menu.menuTpl()) {\n <button (click)=\"selectMenu(i)\" [class.active]=\"i === selectedIndex()\">\n <ng-container *ngTemplateOutlet=\"menu.menuTpl()!\"></ng-container>\n </button>\n }\n }\n</aside>\n\n<section class=\"contenu\">\n <ng-container #targetContent></ng-container>\n</section>\n" }]
|
|
2145
|
-
}], ctorParameters: () => [] }
|
|
2143
|
+
}], ctorParameters: () => [], propDecorators: { c3FlowingMenu: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => C3FlowingMenuItemComponent), { isSignal: true }] }], targetContentRef: [{ type: i0.ViewChild, args: ['targetContent', { ...{
|
|
2144
|
+
read: ViewContainerRef,
|
|
2145
|
+
}, isSignal: true }] }], selectedIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedIndex", required: false }] }, { type: i0.Output, args: ["selectedIndexChange"] }] } });
|
|
2146
2146
|
|
|
2147
2147
|
class C3FlowingMenuItemContentComponent {
|
|
2148
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2149
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
2148
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FlowingMenuItemContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2149
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: C3FlowingMenuItemContentComponent, isStandalone: false, selector: "c3-flowing-menu-item-content", ngImport: i0, template: "<ng-content></ng-content>\n" }); }
|
|
2150
2150
|
}
|
|
2151
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2151
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FlowingMenuItemContentComponent, decorators: [{
|
|
2152
2152
|
type: Component,
|
|
2153
2153
|
args: [{ selector: 'c3-flowing-menu-item-content', standalone: false, template: "<ng-content></ng-content>\n" }]
|
|
2154
2154
|
}] });
|
|
2155
2155
|
|
|
2156
2156
|
class C3FlowingMenuModule {
|
|
2157
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2158
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
2157
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FlowingMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
2158
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: C3FlowingMenuModule, declarations: [C3FlowingMenuComponent,
|
|
2159
2159
|
C3FlowingMenuItemComponent,
|
|
2160
2160
|
C3FlowingMenuItemContentComponent], imports: [CommonModule], exports: [C3FlowingMenuComponent,
|
|
2161
2161
|
C3FlowingMenuItemComponent,
|
|
2162
2162
|
C3FlowingMenuItemContentComponent] }); }
|
|
2163
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
2163
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FlowingMenuModule, imports: [CommonModule] }); }
|
|
2164
2164
|
}
|
|
2165
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2165
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3FlowingMenuModule, decorators: [{
|
|
2166
2166
|
type: NgModule,
|
|
2167
2167
|
args: [{
|
|
2168
2168
|
declarations: [
|
|
@@ -2181,7 +2181,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
|
|
|
2181
2181
|
|
|
2182
2182
|
class C3TraceCardComponent {
|
|
2183
2183
|
constructor() {
|
|
2184
|
-
this.align = signal('left');
|
|
2184
|
+
this.align = signal('left', ...(ngDevMode ? [{ debugName: "align" }] : []));
|
|
2185
2185
|
}
|
|
2186
2186
|
get alignLeft() {
|
|
2187
2187
|
return this.align() === 'left';
|
|
@@ -2189,10 +2189,10 @@ class C3TraceCardComponent {
|
|
|
2189
2189
|
get alignRight() {
|
|
2190
2190
|
return this.align() === 'right';
|
|
2191
2191
|
}
|
|
2192
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2193
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
2192
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3TraceCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2193
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: C3TraceCardComponent, isStandalone: false, selector: "c3-trace-card", host: { properties: { "class.align-left": "this.alignLeft", "class.align-right": "this.alignRight" }, classAttribute: "c3-trace-card" }, ngImport: i0, template: "<div class=\"content\">\n <div class=\"horizontal-line\"></div>\n <ng-content select=\"c3-trace-card-content\"></ng-content>\n</div>\n\n<ng-content select=\"c3-trace-card-title\"></ng-content>\n\n", styles: [".c3-trace-card{--c3-trace-card-border-color: rgba(0, 0, 0, .12);display:flex;flex-direction:row;justify-content:space-between;align-items:start;font-size:14px}.c3-trace-card.align-right{flex-direction:row-reverse}.c3-trace-card c3-trace-card-title{padding:.5rem 1rem;font-size:1.5rem;line-height:2rem;border:var(--c3-trace-card-border-color) solid 1px;border-radius:1rem;box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.c3-trace-card .content{display:flex;flex-direction:column;flex-grow:1}.c3-trace-card .content .horizontal-line{margin-top:25px;height:1px;background-color:var(--c3-trace-card-border-color)}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
2194
2194
|
}
|
|
2195
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2195
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3TraceCardComponent, decorators: [{
|
|
2196
2196
|
type: Component,
|
|
2197
2197
|
args: [{ selector: 'c3-trace-card', encapsulation: ViewEncapsulation.None, host: {
|
|
2198
2198
|
class: 'c3-trace-card',
|
|
@@ -2206,19 +2206,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
|
|
|
2206
2206
|
}] } });
|
|
2207
2207
|
|
|
2208
2208
|
class C3TraceCardTitleComponent {
|
|
2209
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2210
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
2209
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3TraceCardTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2210
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: C3TraceCardTitleComponent, isStandalone: false, selector: "c3-trace-card-title", ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""] }); }
|
|
2211
2211
|
}
|
|
2212
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2212
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3TraceCardTitleComponent, decorators: [{
|
|
2213
2213
|
type: Component,
|
|
2214
2214
|
args: [{ selector: 'c3-trace-card-title', standalone: false, template: "<ng-content></ng-content>\n" }]
|
|
2215
2215
|
}] });
|
|
2216
2216
|
|
|
2217
2217
|
class C3TraceCardContentComponent {
|
|
2218
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2219
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
2218
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3TraceCardContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2219
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: C3TraceCardContentComponent, isStandalone: false, selector: "c3-trace-card-content", ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""] }); }
|
|
2220
2220
|
}
|
|
2221
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2221
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3TraceCardContentComponent, decorators: [{
|
|
2222
2222
|
type: Component,
|
|
2223
2223
|
args: [{ selector: 'c3-trace-card-content', standalone: false, template: "<ng-content></ng-content>\n" }]
|
|
2224
2224
|
}] });
|
|
@@ -2230,10 +2230,10 @@ class C3TraceCardAlignLeftDirective {
|
|
|
2230
2230
|
});
|
|
2231
2231
|
this.c3CardTitle.align.set('left');
|
|
2232
2232
|
}
|
|
2233
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2234
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
2233
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3TraceCardAlignLeftDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2234
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.14", type: C3TraceCardAlignLeftDirective, isStandalone: true, selector: "c3-trace-card[align-left]", ngImport: i0 }); }
|
|
2235
2235
|
}
|
|
2236
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2236
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3TraceCardAlignLeftDirective, decorators: [{
|
|
2237
2237
|
type: Directive,
|
|
2238
2238
|
args: [{
|
|
2239
2239
|
selector: 'c3-trace-card[align-left]',
|
|
@@ -2248,10 +2248,10 @@ class C3TraceCardAlignRightDirective {
|
|
|
2248
2248
|
});
|
|
2249
2249
|
this.c3CardTitle.align.set('right');
|
|
2250
2250
|
}
|
|
2251
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2252
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
2251
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3TraceCardAlignRightDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2252
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.14", type: C3TraceCardAlignRightDirective, isStandalone: true, selector: "c3-trace-card[align-right]", ngImport: i0 }); }
|
|
2253
2253
|
}
|
|
2254
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2254
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3TraceCardAlignRightDirective, decorators: [{
|
|
2255
2255
|
type: Directive,
|
|
2256
2256
|
args: [{
|
|
2257
2257
|
selector: 'c3-trace-card[align-right]',
|
|
@@ -2260,8 +2260,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
|
|
|
2260
2260
|
}], ctorParameters: () => [] });
|
|
2261
2261
|
|
|
2262
2262
|
class C3TraceCardModule {
|
|
2263
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2264
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
2263
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3TraceCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
2264
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: C3TraceCardModule, declarations: [C3TraceCardComponent,
|
|
2265
2265
|
C3TraceCardTitleComponent,
|
|
2266
2266
|
C3TraceCardContentComponent], imports: [CommonModule,
|
|
2267
2267
|
C3TraceCardAlignLeftDirective,
|
|
@@ -2270,9 +2270,9 @@ class C3TraceCardModule {
|
|
|
2270
2270
|
C3TraceCardContentComponent,
|
|
2271
2271
|
C3TraceCardAlignLeftDirective,
|
|
2272
2272
|
C3TraceCardAlignRightDirective] }); }
|
|
2273
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
2273
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3TraceCardModule, imports: [CommonModule] }); }
|
|
2274
2274
|
}
|
|
2275
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2275
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3TraceCardModule, decorators: [{
|
|
2276
2276
|
type: NgModule,
|
|
2277
2277
|
args: [{
|
|
2278
2278
|
declarations: [
|
|
@@ -2298,8 +2298,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
|
|
|
2298
2298
|
class C3MenuService {
|
|
2299
2299
|
constructor() {
|
|
2300
2300
|
this.selectedElement = null;
|
|
2301
|
-
this.currentRoute = signal('');
|
|
2302
|
-
this.isHeadless = signal(false);
|
|
2301
|
+
this.currentRoute = signal('', ...(ngDevMode ? [{ debugName: "currentRoute" }] : []));
|
|
2302
|
+
this.isHeadless = signal(false, ...(ngDevMode ? [{ debugName: "isHeadless" }] : []));
|
|
2303
2303
|
this._router = inject(Router);
|
|
2304
2304
|
this._ar = inject(ActivatedRoute);
|
|
2305
2305
|
this.currentRoute.set(this._router.routerState.snapshot.url);
|
|
@@ -2315,10 +2315,10 @@ class C3MenuService {
|
|
|
2315
2315
|
this.selectedElement = element;
|
|
2316
2316
|
this.selectedElement.classList.add("active-item");
|
|
2317
2317
|
}
|
|
2318
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2319
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
2318
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3MenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2319
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3MenuService, providedIn: 'root' }); }
|
|
2320
2320
|
}
|
|
2321
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2321
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3MenuService, decorators: [{
|
|
2322
2322
|
type: Injectable,
|
|
2323
2323
|
args: [{
|
|
2324
2324
|
providedIn: 'root'
|
|
@@ -2329,26 +2329,26 @@ class C3MenuComponent {
|
|
|
2329
2329
|
constructor() {
|
|
2330
2330
|
this._c3Menu = inject(C3MenuService);
|
|
2331
2331
|
}
|
|
2332
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2333
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2332
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2333
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: C3MenuComponent, isStandalone: false, selector: "c3-menu", ngImport: i0, template: "@if(!_c3Menu.isHeadless()) {\n <div id=\"app-menu\">\n <div class=\"ui-scroll\">\n <ul>\n <ng-content></ng-content>\n </ul>\n </div>\n </div>\n}\n<div class=\"layout-main\" [class.headless]=\"_c3Menu.isHeadless()\">\n <router-outlet></router-outlet>\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1$6.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
|
|
2334
2334
|
}
|
|
2335
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2335
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3MenuComponent, decorators: [{
|
|
2336
2336
|
type: Component,
|
|
2337
2337
|
args: [{ selector: 'c3-menu', standalone: false, template: "@if(!_c3Menu.isHeadless()) {\n <div id=\"app-menu\">\n <div class=\"ui-scroll\">\n <ul>\n <ng-content></ng-content>\n </ul>\n </div>\n </div>\n}\n<div class=\"layout-main\" [class.headless]=\"_c3Menu.isHeadless()\">\n <router-outlet></router-outlet>\n</div>\n", styles: [":host{display:block}\n"] }]
|
|
2338
2338
|
}] });
|
|
2339
2339
|
|
|
2340
2340
|
class C3NavItemComponent {
|
|
2341
2341
|
constructor() {
|
|
2342
|
-
this.route = input.required();
|
|
2343
|
-
this.itemTitle = input.required();
|
|
2344
|
-
this.check = input(null);
|
|
2345
|
-
this.isExternal = input(false);
|
|
2346
|
-
this.element = viewChild('button', {
|
|
2347
|
-
|
|
2348
|
-
|
|
2342
|
+
this.route = input.required(...(ngDevMode ? [{ debugName: "route" }] : []));
|
|
2343
|
+
this.itemTitle = input.required(...(ngDevMode ? [{ debugName: "itemTitle" }] : []));
|
|
2344
|
+
this.check = input(null, ...(ngDevMode ? [{ debugName: "check" }] : []));
|
|
2345
|
+
this.isExternal = input(false, ...(ngDevMode ? [{ debugName: "isExternal" }] : []));
|
|
2346
|
+
this.element = viewChild('button', ...(ngDevMode ? [{ debugName: "element", read: (ElementRef) }] : [{
|
|
2347
|
+
read: (ElementRef),
|
|
2348
|
+
}]));
|
|
2349
2349
|
this._menu = inject(C3MenuService);
|
|
2350
2350
|
this.destroyRef = inject(DestroyRef);
|
|
2351
|
-
this.currentRouteChangeSubscription = signal(null);
|
|
2351
|
+
this.currentRouteChangeSubscription = signal(null, ...(ngDevMode ? [{ debugName: "currentRouteChangeSubscription" }] : []));
|
|
2352
2352
|
effect(() => {
|
|
2353
2353
|
if (!this.currentRouteChangeSubscription() && this.element()) {
|
|
2354
2354
|
const subscribtion = this._menu.currentRouteChange
|
|
@@ -2362,20 +2362,22 @@ class C3NavItemComponent {
|
|
|
2362
2362
|
}
|
|
2363
2363
|
});
|
|
2364
2364
|
}
|
|
2365
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2366
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
2365
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3NavItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2366
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.14", type: C3NavItemComponent, isStandalone: false, selector: "c3-nav-item", inputs: { route: { classPropertyName: "route", publicName: "route", isSignal: true, isRequired: true, transformFunction: null }, itemTitle: { classPropertyName: "itemTitle", publicName: "itemTitle", isSignal: true, isRequired: true, transformFunction: null }, check: { classPropertyName: "check", publicName: "check", isSignal: true, isRequired: false, transformFunction: null }, isExternal: { classPropertyName: "isExternal", publicName: "isExternal", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "element", first: true, predicate: ["button"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<li #button>\n <a matRipple matRippleColor=\"#ffffff66\" [routerLink]=\"isExternal() ? null : route()\" [href]=\"isExternal() ? route() : null\">\n <ng-content></ng-content>\n <span> {{ itemTitle() }} </span>\n </a>\n</li>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1$6.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3$2.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }] }); }
|
|
2367
2367
|
}
|
|
2368
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2368
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3NavItemComponent, decorators: [{
|
|
2369
2369
|
type: Component,
|
|
2370
2370
|
args: [{ selector: 'c3-nav-item', standalone: false, template: "<li #button>\n <a matRipple matRippleColor=\"#ffffff66\" [routerLink]=\"isExternal() ? null : route()\" [href]=\"isExternal() ? route() : null\">\n <ng-content></ng-content>\n <span> {{ itemTitle() }} </span>\n </a>\n</li>\n", styles: [":host{display:block}\n"] }]
|
|
2371
|
-
}], ctorParameters: () => [] }
|
|
2371
|
+
}], ctorParameters: () => [], propDecorators: { route: [{ type: i0.Input, args: [{ isSignal: true, alias: "route", required: true }] }], itemTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemTitle", required: true }] }], check: [{ type: i0.Input, args: [{ isSignal: true, alias: "check", required: false }] }], isExternal: [{ type: i0.Input, args: [{ isSignal: true, alias: "isExternal", required: false }] }], element: [{ type: i0.ViewChild, args: ['button', { ...{
|
|
2372
|
+
read: (ElementRef),
|
|
2373
|
+
}, isSignal: true }] }] } });
|
|
2372
2374
|
|
|
2373
2375
|
class C3MenuModule {
|
|
2374
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2375
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
2376
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
2376
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3MenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
2377
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: C3MenuModule, declarations: [C3MenuComponent, C3NavItemComponent], imports: [CommonModule, RouterModule, MatRippleModule], exports: [C3MenuComponent, C3NavItemComponent] }); }
|
|
2378
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3MenuModule, imports: [CommonModule, RouterModule, MatRippleModule] }); }
|
|
2377
2379
|
}
|
|
2378
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2380
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: C3MenuModule, decorators: [{
|
|
2379
2381
|
type: NgModule,
|
|
2380
2382
|
args: [{
|
|
2381
2383
|
imports: [CommonModule, RouterModule, MatRippleModule],
|