@solidev/data 0.8.3 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/solidev-data.mjs +189 -183
- package/fesm2022/solidev-data.mjs.map +1 -1
- package/package.json +5 -4
- package/types/solidev-data.d.ts +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, makeStateKey, PLATFORM_ID, Inject, Optional, Injectable, ViewChild, Input, Component, input, signal, inject, DestroyRef, Pipe, LOCALE_ID, DEFAULT_CURRENCY_CODE, EventEmitter, Output, HostListener, Directive, NgModule } from '@angular/core';
|
|
2
|
+
import { InjectionToken, makeStateKey, PLATFORM_ID, Inject, Optional, Injectable, ViewChild, Input, ChangeDetectionStrategy, Component, input, signal, inject, DestroyRef, Pipe, LOCALE_ID, DEFAULT_CURRENCY_CODE, EventEmitter, Output, HostListener, Directive, NgModule } from '@angular/core';
|
|
3
3
|
import * as i2$2 from '@angular/forms';
|
|
4
4
|
import { FormControl, Validators, FormGroup, ReactiveFormsModule, UntypedFormControl, NG_VALUE_ACCESSOR, UntypedFormGroup } from '@angular/forms';
|
|
5
5
|
import { throwError, ReplaySubject, share, combineLatest, of, Subject, BehaviorSubject, takeUntil, NEVER, debounceTime, distinctUntilChanged, firstValueFrom, isObservable, timer, Observable, merge } from 'rxjs';
|
|
@@ -912,10 +912,10 @@ class DataBackend {
|
|
|
912
912
|
headers(headers) {
|
|
913
913
|
return Object.assign({}, headers);
|
|
914
914
|
}
|
|
915
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
916
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
915
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: DataBackend, deps: [{ token: i1.HttpClient }, { token: i0.TransferState }, { token: PLATFORM_ID }, { token: DATA_API_URL }, { token: DATA_MAX_TRANSFERSTATE_TIME, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
916
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: DataBackend, providedIn: 'root' }); }
|
|
917
917
|
}
|
|
918
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
918
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: DataBackend, decorators: [{
|
|
919
919
|
type: Injectable,
|
|
920
920
|
args: [{
|
|
921
921
|
providedIn: 'root',
|
|
@@ -1982,10 +1982,10 @@ class AuthInterceptor {
|
|
|
1982
1982
|
.append('Authorization', `Bearer ${token}`);
|
|
1983
1983
|
return request.clone({ headers });
|
|
1984
1984
|
}
|
|
1985
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1986
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1985
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AuthInterceptor, deps: [{ token: DATA_AUTH_SERVICE }, { token: DATA_API_URL }, { token: DATA_AUTH_URLS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1986
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AuthInterceptor, providedIn: 'root' }); }
|
|
1987
1987
|
}
|
|
1988
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1988
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AuthInterceptor, decorators: [{
|
|
1989
1989
|
type: Injectable,
|
|
1990
1990
|
args: [{
|
|
1991
1991
|
providedIn: 'root',
|
|
@@ -2148,10 +2148,10 @@ class ModelListService {
|
|
|
2148
2148
|
}
|
|
2149
2149
|
return ml;
|
|
2150
2150
|
}
|
|
2151
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2152
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
2151
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListService, deps: [{ token: DATA_AUTH_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2152
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListService, providedIn: 'root' }); }
|
|
2153
2153
|
}
|
|
2154
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2154
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListService, decorators: [{
|
|
2155
2155
|
type: Injectable,
|
|
2156
2156
|
args: [{
|
|
2157
2157
|
providedIn: 'root',
|
|
@@ -2197,17 +2197,17 @@ class ModelListFieldsSelectorComponent {
|
|
|
2197
2197
|
this.list.fields.enable(f.name);
|
|
2198
2198
|
}
|
|
2199
2199
|
}
|
|
2200
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2201
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2200
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListFieldsSelectorComponent, deps: [{ token: i2.NgbOffcanvas }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2201
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: ModelListFieldsSelectorComponent, isStandalone: true, selector: "data-model-list-fields-selector", inputs: { list: "list" }, providers: [{ provide: CDK_DRAG_CONFIG, useValue: DragConfig }], viewQueries: [{ propertyName: "ofctpl", first: true, predicate: ["selector"], descendants: true, static: true }], ngImport: i0, template: "<i class=\"bi bi-list-ul\" (click)=\"open()\" role=\"button\" aria-label=\"Choix des champs\"></i>\n<ng-template #selector let-offcanvas>\n <div class=\"offcanvas-header\">\n <h4 class=\"offcanvas-title\">Choix des champs</h4>\n <button class=\"btn-close\" type=\"button\" aria-label=\"Close\" (click)=\"offcanvas.dismiss('x')\"></button>\n </div>\n <div class=\"offcanvas-body\" cdkScrollable>\n @if (list.fields.fields|async; as fields) {\n <div class=\"fields-list\" cdkDropList cdkDropListLockAxis=\"y\" (cdkDropListDropped)=\"drop($event)\">\n @for (f of fields; track f) {\n @if (seeMore || f.priority >= 0) {\n <div class=\"field-box\" cdkDrag (click)=\"toggle(f)\" [cdkDragData]=\"f.name\" [class.enabled]=\"f.enabled\" [class.compact]=\"fields.length>30\" [attr.arial-label]=\"f.label\" role=\"button\">{{f.label}}<span class=\"badge bg-info\"> {{f.priority}}</span></div>\n }\n }\n </div>\n }\n <button class=\"btn btn-sm btn-link\" (click)=\"seeMore=!seeMore\">plus de champs</button>\n </div>\n</ng-template>", styles: [".fields-list{width:100%;max-width:100%;border:var(--bs-border-style) var(--bs-border-width) var(--bs-border-color);min-height:50px;display:block;background:var(--bs-body-bg-rgb);border-radius:var(--bs-border-radius-sm);overflow:hidden}.field-box{padding:.5rem 1rem;border-bottom:solid 1px #ccc;color:var(--bs-black);display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:var(--bs-body-font-size)}.field-box.compact{padding:.2rem 1rem;font-size:.9rem}.field-box.enabled{background-color:var(--bs-success);color:var(--bs-white)}.cdk-drag-preview{box-sizing:border-box;border-radius:var(--bs-border-radius-sm);box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.field-box:last-child{border:none}.fields-list.cdk-drop-list-dragging .field-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i2$1.ɵɵCdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: i2$1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "ngmodule", type: CdkScrollableModule }, { kind: "ngmodule", type: NgbOffcanvasModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
2202
2202
|
}
|
|
2203
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2203
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListFieldsSelectorComponent, decorators: [{
|
|
2204
2204
|
type: Component,
|
|
2205
2205
|
args: [{ selector: 'data-model-list-fields-selector', imports: [
|
|
2206
2206
|
CommonModule,
|
|
2207
2207
|
DragDropModule,
|
|
2208
2208
|
CdkScrollableModule,
|
|
2209
2209
|
NgbOffcanvasModule,
|
|
2210
|
-
], providers: [{ provide: CDK_DRAG_CONFIG, useValue: DragConfig }], template: "<i class=\"bi bi-list-ul\" (click)=\"open()\" role=\"button\" aria-label=\"Choix des champs\"></i>\n<ng-template #selector let-offcanvas>\n <div class=\"offcanvas-header\">\n <h4 class=\"offcanvas-title\">Choix des champs</h4>\n <button class=\"btn-close\" type=\"button\" aria-label=\"Close\" (click)=\"offcanvas.dismiss('x')\"></button>\n </div>\n <div class=\"offcanvas-body\" cdkScrollable>\n @if (list.fields.fields|async; as fields) {\n <div class=\"fields-list\" cdkDropList cdkDropListLockAxis=\"y\" (cdkDropListDropped)=\"drop($event)\">\n @for (f of fields; track f) {\n @if (seeMore || f.priority >= 0) {\n <div class=\"field-box\" cdkDrag (click)=\"toggle(f)\" [cdkDragData]=\"f.name\" [class.enabled]=\"f.enabled\" [class.compact]=\"fields.length>30\" [attr.arial-label]=\"f.label\" role=\"button\">{{f.label}}<span class=\"badge bg-info\"> {{f.priority}}</span></div>\n }\n }\n </div>\n }\n <button class=\"btn btn-sm btn-link\" (click)=\"seeMore=!seeMore\">plus de champs</button>\n </div>\n</ng-template>", styles: [".fields-list{width:100%;max-width:100%;border:var(--bs-border-style) var(--bs-border-width) var(--bs-border-color);min-height:50px;display:block;background:var(--bs-body-bg-rgb);border-radius:var(--bs-border-radius-sm);overflow:hidden}.field-box{padding:.5rem 1rem;border-bottom:solid 1px #ccc;color:var(--bs-black);display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:var(--bs-body-font-size)}.field-box.compact{padding:.2rem 1rem;font-size:.9rem}.field-box.enabled{background-color:var(--bs-success);color:var(--bs-white)}.cdk-drag-preview{box-sizing:border-box;border-radius:var(--bs-border-radius-sm);box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.field-box:last-child{border:none}.fields-list.cdk-drop-list-dragging .field-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
|
|
2210
|
+
], changeDetection: ChangeDetectionStrategy.Eager, providers: [{ provide: CDK_DRAG_CONFIG, useValue: DragConfig }], template: "<i class=\"bi bi-list-ul\" (click)=\"open()\" role=\"button\" aria-label=\"Choix des champs\"></i>\n<ng-template #selector let-offcanvas>\n <div class=\"offcanvas-header\">\n <h4 class=\"offcanvas-title\">Choix des champs</h4>\n <button class=\"btn-close\" type=\"button\" aria-label=\"Close\" (click)=\"offcanvas.dismiss('x')\"></button>\n </div>\n <div class=\"offcanvas-body\" cdkScrollable>\n @if (list.fields.fields|async; as fields) {\n <div class=\"fields-list\" cdkDropList cdkDropListLockAxis=\"y\" (cdkDropListDropped)=\"drop($event)\">\n @for (f of fields; track f) {\n @if (seeMore || f.priority >= 0) {\n <div class=\"field-box\" cdkDrag (click)=\"toggle(f)\" [cdkDragData]=\"f.name\" [class.enabled]=\"f.enabled\" [class.compact]=\"fields.length>30\" [attr.arial-label]=\"f.label\" role=\"button\">{{f.label}}<span class=\"badge bg-info\"> {{f.priority}}</span></div>\n }\n }\n </div>\n }\n <button class=\"btn btn-sm btn-link\" (click)=\"seeMore=!seeMore\">plus de champs</button>\n </div>\n</ng-template>", styles: [".fields-list{width:100%;max-width:100%;border:var(--bs-border-style) var(--bs-border-width) var(--bs-border-color);min-height:50px;display:block;background:var(--bs-body-bg-rgb);border-radius:var(--bs-border-radius-sm);overflow:hidden}.field-box{padding:.5rem 1rem;border-bottom:solid 1px #ccc;color:var(--bs-black);display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:var(--bs-body-font-size)}.field-box.compact{padding:.2rem 1rem;font-size:.9rem}.field-box.enabled{background-color:var(--bs-success);color:var(--bs-white)}.cdk-drag-preview{box-sizing:border-box;border-radius:var(--bs-border-radius-sm);box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.field-box:last-child{border:none}.fields-list.cdk-drop-list-dragging .field-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
|
|
2211
2211
|
}], ctorParameters: () => [{ type: i2.NgbOffcanvas }], propDecorators: { list: [{
|
|
2212
2212
|
type: Input
|
|
2213
2213
|
}], ofctpl: [{
|
|
@@ -2220,15 +2220,21 @@ class ModelListSorterComponent {
|
|
|
2220
2220
|
/**
|
|
2221
2221
|
* ModelList reference.
|
|
2222
2222
|
*/
|
|
2223
|
-
this.list = input.required(
|
|
2223
|
+
this.list = input.required(/* @ts-ignore */
|
|
2224
|
+
...(ngDevMode ? [{ debugName: "list" }] : /* istanbul ignore next */ []));
|
|
2224
2225
|
/**
|
|
2225
2226
|
* Sort field name.
|
|
2226
2227
|
*/
|
|
2227
|
-
this.field = input.required(
|
|
2228
|
-
|
|
2229
|
-
this.
|
|
2230
|
-
|
|
2231
|
-
this.
|
|
2228
|
+
this.field = input.required(/* @ts-ignore */
|
|
2229
|
+
...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
|
|
2230
|
+
this.getCount = signal(0, /* @ts-ignore */
|
|
2231
|
+
...(ngDevMode ? [{ debugName: "getCount" }] : /* istanbul ignore next */ []));
|
|
2232
|
+
this.getOrder = signal(0, /* @ts-ignore */
|
|
2233
|
+
...(ngDevMode ? [{ debugName: "getOrder" }] : /* istanbul ignore next */ []));
|
|
2234
|
+
this.isUp = signal(false, /* @ts-ignore */
|
|
2235
|
+
...(ngDevMode ? [{ debugName: "isUp" }] : /* istanbul ignore next */ []));
|
|
2236
|
+
this.isDown = signal(false, /* @ts-ignore */
|
|
2237
|
+
...(ngDevMode ? [{ debugName: "isDown" }] : /* istanbul ignore next */ []));
|
|
2232
2238
|
}
|
|
2233
2239
|
setUp() {
|
|
2234
2240
|
this.list().sorter.set(this.field(), 'asc');
|
|
@@ -2264,12 +2270,12 @@ class ModelListSorterComponent {
|
|
|
2264
2270
|
}
|
|
2265
2271
|
return false;
|
|
2266
2272
|
}
|
|
2267
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2268
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2273
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListSorterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2274
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: ModelListSorterComponent, isStandalone: true, selector: "data-model-list-sorter", inputs: { list: { classPropertyName: "list", publicName: "list", isSignal: true, isRequired: true, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<span class=\"dirs\">@if (getOrder()>=0 || getCount()>1) {\n <span (click)=\"cancel()\" role=\"button\">@if (getCount()>1) {\n <span class=\"count\"> {{getOrder()}}</span>\n }<span class=\"bi bi-x\"></span></span>\n }<span class=\"bi bi-sort-down-alt\" (click)=\"setUp()\" [class.active]=\"isUp()\" role=\"button\"></span><span class=\"bi bi-sort-down\" (click)=\"setDown()\" [class.active]=\"isDown()\" role=\"button\"></span> </span>\n <ng-content></ng-content>\n", styles: [".dirs{color:#d3d3d3}.dirs .count{font-size:.7rem;margin-right:-.1rem;vertical-align:super}.active{color:#000}\n"], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
2269
2275
|
}
|
|
2270
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2276
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListSorterComponent, decorators: [{
|
|
2271
2277
|
type: Component,
|
|
2272
|
-
args: [{ selector: 'data-model-list-sorter', imports: [], template: "<span class=\"dirs\">@if (getOrder()>=0 || getCount()>1) {\n <span (click)=\"cancel()\" role=\"button\">@if (getCount()>1) {\n <span class=\"count\"> {{getOrder()}}</span>\n }<span class=\"bi bi-x\"></span></span>\n }<span class=\"bi bi-sort-down-alt\" (click)=\"setUp()\" [class.active]=\"isUp()\" role=\"button\"></span><span class=\"bi bi-sort-down\" (click)=\"setDown()\" [class.active]=\"isDown()\" role=\"button\"></span> </span>\n <ng-content></ng-content>\n", styles: [".dirs{color:#d3d3d3}.dirs .count{font-size:.7rem;margin-right:-.1rem;vertical-align:super}.active{color:#000}\n"] }]
|
|
2278
|
+
args: [{ selector: 'data-model-list-sorter', changeDetection: ChangeDetectionStrategy.Eager, imports: [], template: "<span class=\"dirs\">@if (getOrder()>=0 || getCount()>1) {\n <span (click)=\"cancel()\" role=\"button\">@if (getCount()>1) {\n <span class=\"count\"> {{getOrder()}}</span>\n }<span class=\"bi bi-x\"></span></span>\n }<span class=\"bi bi-sort-down-alt\" (click)=\"setUp()\" [class.active]=\"isUp()\" role=\"button\"></span><span class=\"bi bi-sort-down\" (click)=\"setDown()\" [class.active]=\"isDown()\" role=\"button\"></span> </span>\n <ng-content></ng-content>\n", styles: [".dirs{color:#d3d3d3}.dirs .count{font-size:.7rem;margin-right:-.1rem;vertical-align:super}.active{color:#000}\n"] }]
|
|
2273
2279
|
}], ctorParameters: () => [], propDecorators: { list: [{ type: i0.Input, args: [{ isSignal: true, alias: "list", required: true }] }], field: [{ type: i0.Input, args: [{ isSignal: true, alias: "field", required: true }] }] } });
|
|
2274
2280
|
|
|
2275
2281
|
class ModelListFieldHeaderComponent {
|
|
@@ -2299,12 +2305,12 @@ class ModelListFieldHeaderComponent {
|
|
|
2299
2305
|
this.list.fields.move(f.name, 'after', this.field);
|
|
2300
2306
|
this.list.fields.enable(f.name);
|
|
2301
2307
|
}
|
|
2302
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2303
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2308
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListFieldHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2309
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: ModelListFieldHeaderComponent, isStandalone: true, selector: "data-model-list-field-header", inputs: { list: "list", field: "field", sort: "sort", sortField: "sortField", menuMode: "menuMode", sortMode: "sortMode", display: "display" }, viewQueries: [{ propertyName: "mnu", first: true, predicate: ["mnu"], descendants: true }], ngImport: i0, template: "\n<ng-template #label><span #ref>\n <ng-content></ng-content></span>@if (!ref.children.length) {\n <span>{{list.fields.get(field)?.label||field}}</span>\n}</ng-template>\n<div class=\"d-flex flex-row justify-content-between align-items-end slabel\">\n <div class=\"flex-grow-1\">\n @if (sort && dispSortMode==='side') {\n <data-model-list-sorter [list]=\"list\" [field]=\"sortField||field\">\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n </data-model-list-sorter>\n }\n @if (!sort || dispSortMode==='hide') {\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n }\n </div>\n @if (dispMenuMode==='side') {\n <div class=\"navicons d-flex flex-row\" [attr.aria-label]=\"'Gestion champs'\"><i class=\"bi bi-caret-left-fill\" role=\"button\" (click)=\"list.fields.move(field, 'before')\" aria-label=\"D\u00E9placer vers la gauche\"></i>\n <div ngbDropdown #mnu=\"ngbDropdown\" [container]=\"'body'\"><i class=\"bi bi-record\" ngbDropdownToggle aria-label=\"Ouvrir la boite de dialogue des champs\" role=\"button\"></i>\n <div ngbDropdownMenu>\n <button ngbDropdownItem (click)=\"disable()\"><i class=\"bi bi-trash me-2\"></i>Supprimer</button>\n <h6 class=\"dropdown-header\">Ajouter une colonne apr\u00E8s</h6>\n @for (f of list.fields.fields|async; track f) {\n @if (f.allowed && !f.enabled) {\n <button ngbDropdownItem (click)=\"enable(f)\" [attr.aria-label]=\"f.label||f.name\"><i class=\"bi bi-plus-circle me-2\"></i>{{f.label||f.name}}</button>\n }\n }\n </div>\n </div><i class=\"bi bi-caret-right-fill\" role=\"button\" (click)=\"list.fields.move(field, 'after')\" aria-label=\"D\u00E9placer vers la droite\"></i>\n </div>\n}\n</div>", styles: [".slabel .navicons{opacity:0}.slabel:hover .navicons,.slabel.active .navicons{opacity:1!important}.dropdown-toggle:after{display:none!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: NgbDropdownModule }, { kind: "directive", type: i2.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i2.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i2.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i2.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["tabindex", "disabled"] }, { kind: "directive", type: i2.NgbDropdownButtonItem, selector: "button[ngbDropdownItem]" }, { kind: "component", type: ModelListSorterComponent, selector: "data-model-list-sorter", inputs: ["list", "field"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
2304
2310
|
}
|
|
2305
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2311
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListFieldHeaderComponent, decorators: [{
|
|
2306
2312
|
type: Component,
|
|
2307
|
-
args: [{ selector: 'data-model-list-field-header', imports: [CommonModule, NgbDropdownModule, ModelListSorterComponent], template: "\n<ng-template #label><span #ref>\n <ng-content></ng-content></span>@if (!ref.children.length) {\n <span>{{list.fields.get(field)?.label||field}}</span>\n}</ng-template>\n<div class=\"d-flex flex-row justify-content-between align-items-end slabel\">\n <div class=\"flex-grow-1\">\n @if (sort && dispSortMode==='side') {\n <data-model-list-sorter [list]=\"list\" [field]=\"sortField||field\">\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n </data-model-list-sorter>\n }\n @if (!sort || dispSortMode==='hide') {\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n }\n </div>\n @if (dispMenuMode==='side') {\n <div class=\"navicons d-flex flex-row\" [attr.aria-label]=\"'Gestion champs'\"><i class=\"bi bi-caret-left-fill\" role=\"button\" (click)=\"list.fields.move(field, 'before')\" aria-label=\"D\u00E9placer vers la gauche\"></i>\n <div ngbDropdown #mnu=\"ngbDropdown\" [container]=\"'body'\"><i class=\"bi bi-record\" ngbDropdownToggle aria-label=\"Ouvrir la boite de dialogue des champs\" role=\"button\"></i>\n <div ngbDropdownMenu>\n <button ngbDropdownItem (click)=\"disable()\"><i class=\"bi bi-trash me-2\"></i>Supprimer</button>\n <h6 class=\"dropdown-header\">Ajouter une colonne apr\u00E8s</h6>\n @for (f of list.fields.fields|async; track f) {\n @if (f.allowed && !f.enabled) {\n <button ngbDropdownItem (click)=\"enable(f)\" [attr.aria-label]=\"f.label||f.name\"><i class=\"bi bi-plus-circle me-2\"></i>{{f.label||f.name}}</button>\n }\n }\n </div>\n </div><i class=\"bi bi-caret-right-fill\" role=\"button\" (click)=\"list.fields.move(field, 'after')\" aria-label=\"D\u00E9placer vers la droite\"></i>\n </div>\n}\n</div>", styles: [".slabel .navicons{opacity:0}.slabel:hover .navicons,.slabel.active .navicons{opacity:1!important}.dropdown-toggle:after{display:none!important}\n"] }]
|
|
2313
|
+
args: [{ selector: 'data-model-list-field-header', changeDetection: ChangeDetectionStrategy.Eager, imports: [CommonModule, NgbDropdownModule, ModelListSorterComponent], template: "\n<ng-template #label><span #ref>\n <ng-content></ng-content></span>@if (!ref.children.length) {\n <span>{{list.fields.get(field)?.label||field}}</span>\n}</ng-template>\n<div class=\"d-flex flex-row justify-content-between align-items-end slabel\">\n <div class=\"flex-grow-1\">\n @if (sort && dispSortMode==='side') {\n <data-model-list-sorter [list]=\"list\" [field]=\"sortField||field\">\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n </data-model-list-sorter>\n }\n @if (!sort || dispSortMode==='hide') {\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n }\n </div>\n @if (dispMenuMode==='side') {\n <div class=\"navicons d-flex flex-row\" [attr.aria-label]=\"'Gestion champs'\"><i class=\"bi bi-caret-left-fill\" role=\"button\" (click)=\"list.fields.move(field, 'before')\" aria-label=\"D\u00E9placer vers la gauche\"></i>\n <div ngbDropdown #mnu=\"ngbDropdown\" [container]=\"'body'\"><i class=\"bi bi-record\" ngbDropdownToggle aria-label=\"Ouvrir la boite de dialogue des champs\" role=\"button\"></i>\n <div ngbDropdownMenu>\n <button ngbDropdownItem (click)=\"disable()\"><i class=\"bi bi-trash me-2\"></i>Supprimer</button>\n <h6 class=\"dropdown-header\">Ajouter une colonne apr\u00E8s</h6>\n @for (f of list.fields.fields|async; track f) {\n @if (f.allowed && !f.enabled) {\n <button ngbDropdownItem (click)=\"enable(f)\" [attr.aria-label]=\"f.label||f.name\"><i class=\"bi bi-plus-circle me-2\"></i>{{f.label||f.name}}</button>\n }\n }\n </div>\n </div><i class=\"bi bi-caret-right-fill\" role=\"button\" (click)=\"list.fields.move(field, 'after')\" aria-label=\"D\u00E9placer vers la droite\"></i>\n </div>\n}\n</div>", styles: [".slabel .navicons{opacity:0}.slabel:hover .navicons,.slabel.active .navicons{opacity:1!important}.dropdown-toggle:after{display:none!important}\n"] }]
|
|
2308
2314
|
}], ctorParameters: () => [], propDecorators: { list: [{
|
|
2309
2315
|
type: Input
|
|
2310
2316
|
}], field: [{
|
|
@@ -2350,12 +2356,12 @@ class ModelListFiltersSelectComponent {
|
|
|
2350
2356
|
});
|
|
2351
2357
|
}
|
|
2352
2358
|
}
|
|
2353
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2354
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2359
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListFiltersSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2360
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: ModelListFiltersSelectComponent, isStandalone: true, selector: "data-model-list-filters-select", inputs: { list: "list", containerClasses: "containerClasses", itemActiveClasses: "itemActiveClasses", itemInactiveClasses: "itemInactiveClasses", mode: "mode" }, ngImport: i0, template: "\n@if (mode==='badge') {\n @for (f of list.filters.available|async; track f) {\n <span (click)=\"toggle(f)\" [ngClass]=\"containerClasses\">@if (f.enabled) {\n <span role=\"button\" [ngClass]=\"itemActiveClasses\" [title]=\"f.desc\"><i class=\"bi bi-check2-square me-2\"></i><span>{{f.label}}</span></span>\n }@if (!f.enabled) {\n <span role=\"button\" [ngClass]=\"itemInactiveClasses\" [title]=\"f.desc\"><i class=\"bi bi-square me-2\"></i><span>{{f.label}}</span></span>\n }</span>\n }\n}\n@if (mode==='badge_summary') {\n @for (f of list.filters.available|async; track f) {\n <span (click)=\"toggle(f)\" [ngClass]=\"containerClasses\">@if (f.enabled) {\n <span role=\"button\" [ngClass]=\"itemActiveClasses\" [title]=\"f.desc\"><i class=\"bi bi-check2-square me-2\"></i><span>{{f.label}} : {{f.summary||'...'}}</span></span>\n }</span>\n }\n}\n@if (mode==='select') {\n <select class=\"form-select\" [formControl]=\"selectForm\">\n <option [ngValue]=\"null\">-- Ajouter un filtre --</option>\n @for (f of list.filters.available|async; track f) {\n @if (!f.enabled && !f.group) {\n <option [ngValue]=\"f\">{{f.label}}</option>\n }\n }\n @for (g of list.filters.groups|async; track g) {\n <optgroup [label]=\"g.label\">\n @for (f of g.filters; track f) {\n @if (!f.enabled && f.allowed) {\n <option [ngValue]=\"f\">{{f.label}}</option>\n }\n }\n </optgroup>\n }\n </select>\n}", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.SelectControlValueAccessor, selector: "select:not([multiple]):not([ngNoCva])[formControlName],select:not([multiple]):not([ngNoCva])[formControl],select:not([multiple]):not([ngNoCva])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
2355
2361
|
}
|
|
2356
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2362
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListFiltersSelectComponent, decorators: [{
|
|
2357
2363
|
type: Component,
|
|
2358
|
-
args: [{ selector: 'data-model-list-filters-select', imports: [CommonModule, ReactiveFormsModule], template: "\n@if (mode==='badge') {\n @for (f of list.filters.available|async; track f) {\n <span (click)=\"toggle(f)\" [ngClass]=\"containerClasses\">@if (f.enabled) {\n <span role=\"button\" [ngClass]=\"itemActiveClasses\" [title]=\"f.desc\"><i class=\"bi bi-check2-square me-2\"></i><span>{{f.label}}</span></span>\n }@if (!f.enabled) {\n <span role=\"button\" [ngClass]=\"itemInactiveClasses\" [title]=\"f.desc\"><i class=\"bi bi-square me-2\"></i><span>{{f.label}}</span></span>\n }</span>\n }\n}\n@if (mode==='badge_summary') {\n @for (f of list.filters.available|async; track f) {\n <span (click)=\"toggle(f)\" [ngClass]=\"containerClasses\">@if (f.enabled) {\n <span role=\"button\" [ngClass]=\"itemActiveClasses\" [title]=\"f.desc\"><i class=\"bi bi-check2-square me-2\"></i><span>{{f.label}} : {{f.summary||'...'}}</span></span>\n }</span>\n }\n}\n@if (mode==='select') {\n <select class=\"form-select\" [formControl]=\"selectForm\">\n <option [ngValue]=\"null\">-- Ajouter un filtre --</option>\n @for (f of list.filters.available|async; track f) {\n @if (!f.enabled && !f.group) {\n <option [ngValue]=\"f\">{{f.label}}</option>\n }\n }\n @for (g of list.filters.groups|async; track g) {\n <optgroup [label]=\"g.label\">\n @for (f of g.filters; track f) {\n @if (!f.enabled && f.allowed) {\n <option [ngValue]=\"f\">{{f.label}}</option>\n }\n }\n </optgroup>\n }\n </select>\n}" }]
|
|
2364
|
+
args: [{ selector: 'data-model-list-filters-select', changeDetection: ChangeDetectionStrategy.Eager, imports: [CommonModule, ReactiveFormsModule], template: "\n@if (mode==='badge') {\n @for (f of list.filters.available|async; track f) {\n <span (click)=\"toggle(f)\" [ngClass]=\"containerClasses\">@if (f.enabled) {\n <span role=\"button\" [ngClass]=\"itemActiveClasses\" [title]=\"f.desc\"><i class=\"bi bi-check2-square me-2\"></i><span>{{f.label}}</span></span>\n }@if (!f.enabled) {\n <span role=\"button\" [ngClass]=\"itemInactiveClasses\" [title]=\"f.desc\"><i class=\"bi bi-square me-2\"></i><span>{{f.label}}</span></span>\n }</span>\n }\n}\n@if (mode==='badge_summary') {\n @for (f of list.filters.available|async; track f) {\n <span (click)=\"toggle(f)\" [ngClass]=\"containerClasses\">@if (f.enabled) {\n <span role=\"button\" [ngClass]=\"itemActiveClasses\" [title]=\"f.desc\"><i class=\"bi bi-check2-square me-2\"></i><span>{{f.label}} : {{f.summary||'...'}}</span></span>\n }</span>\n }\n}\n@if (mode==='select') {\n <select class=\"form-select\" [formControl]=\"selectForm\">\n <option [ngValue]=\"null\">-- Ajouter un filtre --</option>\n @for (f of list.filters.available|async; track f) {\n @if (!f.enabled && !f.group) {\n <option [ngValue]=\"f\">{{f.label}}</option>\n }\n }\n @for (g of list.filters.groups|async; track g) {\n <optgroup [label]=\"g.label\">\n @for (f of g.filters; track f) {\n @if (!f.enabled && f.allowed) {\n <option [ngValue]=\"f\">{{f.label}}</option>\n }\n }\n </optgroup>\n }\n </select>\n}" }]
|
|
2359
2365
|
}], ctorParameters: () => [], propDecorators: { list: [{
|
|
2360
2366
|
type: Input
|
|
2361
2367
|
}], containerClasses: [{
|
|
@@ -2387,12 +2393,12 @@ class ModelListTextFilterComponent {
|
|
|
2387
2393
|
this.filter.enabled = false;
|
|
2388
2394
|
this.list.filters.update();
|
|
2389
2395
|
}
|
|
2390
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2391
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
2396
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListTextFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2397
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.4", type: ModelListTextFilterComponent, isStandalone: true, selector: "data-model-list-text-filter", inputs: { list: "list", filter: "filter", classes: "classes" }, ngImport: i0, template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <input class=\"form-control\" type=\"text\" [formControl]=\"fc\" [placeholder]=\"filter.help\">\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
2392
2398
|
}
|
|
2393
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2399
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListTextFilterComponent, decorators: [{
|
|
2394
2400
|
type: Component,
|
|
2395
|
-
args: [{ selector: 'data-model-list-text-filter', imports: [CommonModule, ReactiveFormsModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <input class=\"form-control\" type=\"text\" [formControl]=\"fc\" [placeholder]=\"filter.help\">\n</div>" }]
|
|
2401
|
+
args: [{ selector: 'data-model-list-text-filter', changeDetection: ChangeDetectionStrategy.Eager, imports: [CommonModule, ReactiveFormsModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <input class=\"form-control\" type=\"text\" [formControl]=\"fc\" [placeholder]=\"filter.help\">\n</div>" }]
|
|
2396
2402
|
}], ctorParameters: () => [], propDecorators: { list: [{
|
|
2397
2403
|
type: Input
|
|
2398
2404
|
}], filter: [{
|
|
@@ -2485,12 +2491,12 @@ class ModelListAutocompleteFilterComponent {
|
|
|
2485
2491
|
return this.filter.queryset.get();
|
|
2486
2492
|
}), takeUntilDestroyed(this.destroy$));
|
|
2487
2493
|
}
|
|
2488
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2489
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
2494
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListAutocompleteFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2495
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.4", type: ModelListAutocompleteFilterComponent, isStandalone: true, selector: "data-model-list-autocomplete-filter", inputs: { list: "list", filter: "filter", classes: "classes" }, ngImport: i0, template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <input class=\"form-control\" [formControl]=\"fc\" [ngbTypeahead]=\"search\" [editable]=\"false\" [focusFirst]=\"true\" [inputFormatter]=\"display\" [resultFormatter]=\"display\" [placeholder]=\"filter.help\" (keyup.arrowDown)=\"scrollAction($event)\" (keyup.arrowUp)=\"scrollAction($event)\" #th=\"ngbTypeahead\" [class.tascroll]=\"filter.scroll\">\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: NgbTypeaheadModule }, { kind: "directive", type: i2.NgbTypeahead, selector: "input[ngbTypeahead]", inputs: ["autocomplete", "container", "editable", "focusFirst", "inputFormatter", "ngbTypeahead", "resultFormatter", "resultTemplate", "selectOnExact", "showHint", "placement", "popperOptions", "popupClass"], outputs: ["selectItem"], exportAs: ["ngbTypeahead"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
2490
2496
|
}
|
|
2491
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2497
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListAutocompleteFilterComponent, decorators: [{
|
|
2492
2498
|
type: Component,
|
|
2493
|
-
args: [{ selector: 'data-model-list-autocomplete-filter', imports: [CommonModule, NgbTypeaheadModule, ReactiveFormsModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <input class=\"form-control\" [formControl]=\"fc\" [ngbTypeahead]=\"search\" [editable]=\"false\" [focusFirst]=\"true\" [inputFormatter]=\"display\" [resultFormatter]=\"display\" [placeholder]=\"filter.help\" (keyup.arrowDown)=\"scrollAction($event)\" (keyup.arrowUp)=\"scrollAction($event)\" #th=\"ngbTypeahead\" [class.tascroll]=\"filter.scroll\">\n</div>" }]
|
|
2499
|
+
args: [{ selector: 'data-model-list-autocomplete-filter', changeDetection: ChangeDetectionStrategy.Eager, imports: [CommonModule, NgbTypeaheadModule, ReactiveFormsModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <input class=\"form-control\" [formControl]=\"fc\" [ngbTypeahead]=\"search\" [editable]=\"false\" [focusFirst]=\"true\" [inputFormatter]=\"display\" [resultFormatter]=\"display\" [placeholder]=\"filter.help\" (keyup.arrowDown)=\"scrollAction($event)\" (keyup.arrowUp)=\"scrollAction($event)\" #th=\"ngbTypeahead\" [class.tascroll]=\"filter.scroll\">\n</div>" }]
|
|
2494
2500
|
}], ctorParameters: () => [], propDecorators: { list: [{
|
|
2495
2501
|
type: Input
|
|
2496
2502
|
}], filter: [{
|
|
@@ -2509,12 +2515,12 @@ class ModelListAutocompleteMultiFilterComponent extends ModelListAutocompleteFil
|
|
|
2509
2515
|
this.list.filters.update();
|
|
2510
2516
|
this.fc.setValue(null);
|
|
2511
2517
|
}
|
|
2512
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2513
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2518
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListAutocompleteMultiFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2519
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: ModelListAutocompleteMultiFilterComponent, isStandalone: true, selector: "data-model-list-autocomplete-multi-filter", inputs: { filter: "filter" }, usesInheritance: true, ngImport: i0, template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <input class=\"form-control\" [formControl]=\"fc\" [ngbTypeahead]=\"search\" [editable]=\"false\" [focusFirst]=\"true\" [inputFormatter]=\"display\" [resultFormatter]=\"display\" [placeholder]=\"filter.help\" (keyup.arrowDown)=\"scrollAction($event)\" (keyup.arrowUp)=\"scrollAction($event)\" #th=\"ngbTypeahead\" [class.tascroll]=\"filter.scroll\">\n <div class=\"enabled mt-1\">\n @for (e of filter.mcurrent$|async; track e) {\n <div><i class=\"bi bi-trash me-2\" (click)=\"unset(e.value, e.desc)\" role=\"button\"></i>{{e.desc}}</div>\n }\n </div>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: NgbTypeaheadModule }, { kind: "directive", type: i2.NgbTypeahead, selector: "input[ngbTypeahead]", inputs: ["autocomplete", "container", "editable", "focusFirst", "inputFormatter", "ngbTypeahead", "resultFormatter", "resultTemplate", "selectOnExact", "showHint", "placement", "popperOptions", "popupClass"], outputs: ["selectItem"], exportAs: ["ngbTypeahead"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
2514
2520
|
}
|
|
2515
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2521
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListAutocompleteMultiFilterComponent, decorators: [{
|
|
2516
2522
|
type: Component,
|
|
2517
|
-
args: [{ selector: 'data-model-list-autocomplete-multi-filter', imports: [CommonModule, NgbTypeaheadModule, ReactiveFormsModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <input class=\"form-control\" [formControl]=\"fc\" [ngbTypeahead]=\"search\" [editable]=\"false\" [focusFirst]=\"true\" [inputFormatter]=\"display\" [resultFormatter]=\"display\" [placeholder]=\"filter.help\" (keyup.arrowDown)=\"scrollAction($event)\" (keyup.arrowUp)=\"scrollAction($event)\" #th=\"ngbTypeahead\" [class.tascroll]=\"filter.scroll\">\n <div class=\"enabled mt-1\">\n @for (e of filter.mcurrent$|async; track e) {\n <div><i class=\"bi bi-trash me-2\" (click)=\"unset(e.value, e.desc)\" role=\"button\"></i>{{e.desc}}</div>\n }\n </div>\n</div>" }]
|
|
2523
|
+
args: [{ selector: 'data-model-list-autocomplete-multi-filter', changeDetection: ChangeDetectionStrategy.Eager, imports: [CommonModule, NgbTypeaheadModule, ReactiveFormsModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <input class=\"form-control\" [formControl]=\"fc\" [ngbTypeahead]=\"search\" [editable]=\"false\" [focusFirst]=\"true\" [inputFormatter]=\"display\" [resultFormatter]=\"display\" [placeholder]=\"filter.help\" (keyup.arrowDown)=\"scrollAction($event)\" (keyup.arrowUp)=\"scrollAction($event)\" #th=\"ngbTypeahead\" [class.tascroll]=\"filter.scroll\">\n <div class=\"enabled mt-1\">\n @for (e of filter.mcurrent$|async; track e) {\n <div><i class=\"bi bi-trash me-2\" (click)=\"unset(e.value, e.desc)\" role=\"button\"></i>{{e.desc}}</div>\n }\n </div>\n</div>" }]
|
|
2518
2524
|
}], propDecorators: { filter: [{
|
|
2519
2525
|
type: Input
|
|
2520
2526
|
}] } });
|
|
@@ -2538,12 +2544,12 @@ class ModelListDatetimeFilterComponent {
|
|
|
2538
2544
|
this.filter.enabled = false;
|
|
2539
2545
|
this.list.filters.update();
|
|
2540
2546
|
}
|
|
2541
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2542
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
2547
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListDatetimeFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2548
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.4", type: ModelListDatetimeFilterComponent, isStandalone: true, selector: "data-model-list-datetime-filter", inputs: { list: "list", filter: "filter", classes: "classes" }, ngImport: i0, template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <input class=\"form-control\" type=\"datetime-local\" [formControl]=\"fc\" [placeholder]=\"filter.help\">\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
2543
2549
|
}
|
|
2544
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2550
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListDatetimeFilterComponent, decorators: [{
|
|
2545
2551
|
type: Component,
|
|
2546
|
-
args: [{ selector: 'data-model-list-datetime-filter', imports: [CommonModule, ReactiveFormsModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <input class=\"form-control\" type=\"datetime-local\" [formControl]=\"fc\" [placeholder]=\"filter.help\">\n</div>" }]
|
|
2552
|
+
args: [{ selector: 'data-model-list-datetime-filter', changeDetection: ChangeDetectionStrategy.Eager, imports: [CommonModule, ReactiveFormsModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <input class=\"form-control\" type=\"datetime-local\" [formControl]=\"fc\" [placeholder]=\"filter.help\">\n</div>" }]
|
|
2547
2553
|
}], ctorParameters: () => [], propDecorators: { list: [{
|
|
2548
2554
|
type: Input
|
|
2549
2555
|
}], filter: [{
|
|
@@ -2579,12 +2585,12 @@ class ModelListDatetimeRangeFilterComponent {
|
|
|
2579
2585
|
this.filter.enabled = false;
|
|
2580
2586
|
this.list.filters.update();
|
|
2581
2587
|
}
|
|
2582
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2583
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
2588
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListDatetimeRangeFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2589
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.4", type: ModelListDatetimeRangeFilterComponent, isStandalone: true, selector: "data-model-list-datetime-range-filter", inputs: { list: "list", filter: "filter", classes: "classes" }, ngImport: i0, template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <input class=\"form-control form-control-sm mb-1\" type=\"datetime-local\" [formControl]=\"fc1\" [placeholder]=\"filter.help\">\n <input class=\"form-control form-control-sm\" type=\"datetime-local\" [formControl]=\"fc2\" [placeholder]=\"filter.help\">\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
2584
2590
|
}
|
|
2585
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2591
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListDatetimeRangeFilterComponent, decorators: [{
|
|
2586
2592
|
type: Component,
|
|
2587
|
-
args: [{ selector: 'data-model-list-datetime-range-filter', imports: [CommonModule, ReactiveFormsModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <input class=\"form-control form-control-sm mb-1\" type=\"datetime-local\" [formControl]=\"fc1\" [placeholder]=\"filter.help\">\n <input class=\"form-control form-control-sm\" type=\"datetime-local\" [formControl]=\"fc2\" [placeholder]=\"filter.help\">\n</div>" }]
|
|
2593
|
+
args: [{ selector: 'data-model-list-datetime-range-filter', changeDetection: ChangeDetectionStrategy.Eager, imports: [CommonModule, ReactiveFormsModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <input class=\"form-control form-control-sm mb-1\" type=\"datetime-local\" [formControl]=\"fc1\" [placeholder]=\"filter.help\">\n <input class=\"form-control form-control-sm\" type=\"datetime-local\" [formControl]=\"fc2\" [placeholder]=\"filter.help\">\n</div>" }]
|
|
2588
2594
|
}], ctorParameters: () => [], propDecorators: { list: [{
|
|
2589
2595
|
type: Input
|
|
2590
2596
|
}], filter: [{
|
|
@@ -2621,12 +2627,12 @@ class ModelListFlagsFilterComponent {
|
|
|
2621
2627
|
this.filter.enabled = false;
|
|
2622
2628
|
this.list.filters.update();
|
|
2623
2629
|
}
|
|
2624
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2625
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2630
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListFlagsFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2631
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: ModelListFlagsFilterComponent, isStandalone: true, selector: "data-model-list-flags-filter", inputs: { list: "list", filter: "filter", classes: "classes" }, ngImport: i0, template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <select class=\"form-select\" [formControl]=\"fc\">\n <option [ngValue]=\"null\">-- {{filter.help}} --</option>\n @for (c of flags$|async; track c) {\n <option [ngValue]=\"c.flag\">{{c.flag}} ({{c.count}})</option>\n }\n </select>\n <div class=\"enabled mt-1\">\n @for (e of filter.mcurrent$|async; track e) {\n <div><i class=\"bi bi-trash me-2\" (click)=\"unset(e.value, e.desc)\" role=\"button\"></i>{{e.desc}}</div>\n }\n </div>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.SelectControlValueAccessor, selector: "select:not([multiple]):not([ngNoCva])[formControlName],select:not([multiple]):not([ngNoCva])[formControl],select:not([multiple]):not([ngNoCva])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
2626
2632
|
}
|
|
2627
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2633
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListFlagsFilterComponent, decorators: [{
|
|
2628
2634
|
type: Component,
|
|
2629
|
-
args: [{ selector: 'data-model-list-flags-filter', imports: [CommonModule, ReactiveFormsModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <select class=\"form-select\" [formControl]=\"fc\">\n <option [ngValue]=\"null\">-- {{filter.help}} --</option>\n @for (c of flags$|async; track c) {\n <option [ngValue]=\"c.flag\">{{c.flag}} ({{c.count}})</option>\n }\n </select>\n <div class=\"enabled mt-1\">\n @for (e of filter.mcurrent$|async; track e) {\n <div><i class=\"bi bi-trash me-2\" (click)=\"unset(e.value, e.desc)\" role=\"button\"></i>{{e.desc}}</div>\n }\n </div>\n</div>" }]
|
|
2635
|
+
args: [{ selector: 'data-model-list-flags-filter', changeDetection: ChangeDetectionStrategy.Eager, imports: [CommonModule, ReactiveFormsModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <select class=\"form-select\" [formControl]=\"fc\">\n <option [ngValue]=\"null\">-- {{filter.help}} --</option>\n @for (c of flags$|async; track c) {\n <option [ngValue]=\"c.flag\">{{c.flag}} ({{c.count}})</option>\n }\n </select>\n <div class=\"enabled mt-1\">\n @for (e of filter.mcurrent$|async; track e) {\n <div><i class=\"bi bi-trash me-2\" (click)=\"unset(e.value, e.desc)\" role=\"button\"></i>{{e.desc}}</div>\n }\n </div>\n</div>" }]
|
|
2630
2636
|
}], ctorParameters: () => [], propDecorators: { list: [{
|
|
2631
2637
|
type: Input
|
|
2632
2638
|
}], filter: [{
|
|
@@ -2674,12 +2680,12 @@ class ModelListGeodistanceFilterComponent {
|
|
|
2674
2680
|
const elem = $event.currentTarget.nextElementSibling.getElementsByClassName('active')[0];
|
|
2675
2681
|
elem.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
|
|
2676
2682
|
}
|
|
2677
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2678
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
2683
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListGeodistanceFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2684
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.4", type: ModelListGeodistanceFilterComponent, isStandalone: true, selector: "data-model-list-geodistance-filter", inputs: { list: "list", filter: "filter", classes: "classes" }, ngImport: i0, template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <div class=\"row g-1\">\n <div class=\"col-4\">\n <select class=\"form-select\" [formControl]=\"fd\">\n <option value=\"\">Distance</option>\n <option value=\"lte,10\">< 10 km</option>\n <option value=\"lte,20\">< 20 km</option>\n <option value=\"lte,30\">< 30 km</option>\n <option value=\"lte,50\">< 50 km</option>\n <option value=\"lte,80\">< 80 km</option>\n <option value=\"lte,100\">< 100 km</option>\n <option value=\"lte,150\">< 150 km</option>\n <option value=\"lte,200\">< 200 km</option>\n <option value=\"lte,250\">< 250 km</option>\n <option value=\"lte,300\">< 300 km</option>\n <option value=\"lte,500\">< 500 km</option>\n <option value=\"lte,1000\">< 1000 km</option>\n </select>\n </div>\n <div class=\"col-8\">\n <input class=\"form-control\" [formControl]=\"fc\" [ngbTypeahead]=\"search\" [editable]=\"false\" [focusFirst]=\"true\" [inputFormatter]=\"display\" [resultFormatter]=\"display\" [placeholder]=\"filter.help\" (keyup.arrowDown)=\"scrollAction($event)\" (keyup.arrowUp)=\"scrollAction($event)\" #th=\"ngbTypeahead\" [class.tascroll]=\"filter.scroll\">\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: NgbTypeaheadModule }, { kind: "directive", type: i2.NgbTypeahead, selector: "input[ngbTypeahead]", inputs: ["autocomplete", "container", "editable", "focusFirst", "inputFormatter", "ngbTypeahead", "resultFormatter", "resultTemplate", "selectOnExact", "showHint", "placement", "popperOptions", "popupClass"], outputs: ["selectItem"], exportAs: ["ngbTypeahead"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.SelectControlValueAccessor, selector: "select:not([multiple]):not([ngNoCva])[formControlName],select:not([multiple]):not([ngNoCva])[formControl],select:not([multiple]):not([ngNoCva])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
2679
2685
|
}
|
|
2680
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2686
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListGeodistanceFilterComponent, decorators: [{
|
|
2681
2687
|
type: Component,
|
|
2682
|
-
args: [{ selector: 'data-model-list-geodistance-filter', imports: [CommonModule, NgbTypeaheadModule, ReactiveFormsModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <div class=\"row g-1\">\n <div class=\"col-4\">\n <select class=\"form-select\" [formControl]=\"fd\">\n <option value=\"\">Distance</option>\n <option value=\"lte,10\">< 10 km</option>\n <option value=\"lte,20\">< 20 km</option>\n <option value=\"lte,30\">< 30 km</option>\n <option value=\"lte,50\">< 50 km</option>\n <option value=\"lte,80\">< 80 km</option>\n <option value=\"lte,100\">< 100 km</option>\n <option value=\"lte,150\">< 150 km</option>\n <option value=\"lte,200\">< 200 km</option>\n <option value=\"lte,250\">< 250 km</option>\n <option value=\"lte,300\">< 300 km</option>\n <option value=\"lte,500\">< 500 km</option>\n <option value=\"lte,1000\">< 1000 km</option>\n </select>\n </div>\n <div class=\"col-8\">\n <input class=\"form-control\" [formControl]=\"fc\" [ngbTypeahead]=\"search\" [editable]=\"false\" [focusFirst]=\"true\" [inputFormatter]=\"display\" [resultFormatter]=\"display\" [placeholder]=\"filter.help\" (keyup.arrowDown)=\"scrollAction($event)\" (keyup.arrowUp)=\"scrollAction($event)\" #th=\"ngbTypeahead\" [class.tascroll]=\"filter.scroll\">\n </div>\n </div>\n</div>" }]
|
|
2688
|
+
args: [{ selector: 'data-model-list-geodistance-filter', changeDetection: ChangeDetectionStrategy.Eager, imports: [CommonModule, NgbTypeaheadModule, ReactiveFormsModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <div class=\"row g-1\">\n <div class=\"col-4\">\n <select class=\"form-select\" [formControl]=\"fd\">\n <option value=\"\">Distance</option>\n <option value=\"lte,10\">< 10 km</option>\n <option value=\"lte,20\">< 20 km</option>\n <option value=\"lte,30\">< 30 km</option>\n <option value=\"lte,50\">< 50 km</option>\n <option value=\"lte,80\">< 80 km</option>\n <option value=\"lte,100\">< 100 km</option>\n <option value=\"lte,150\">< 150 km</option>\n <option value=\"lte,200\">< 200 km</option>\n <option value=\"lte,250\">< 250 km</option>\n <option value=\"lte,300\">< 300 km</option>\n <option value=\"lte,500\">< 500 km</option>\n <option value=\"lte,1000\">< 1000 km</option>\n </select>\n </div>\n <div class=\"col-8\">\n <input class=\"form-control\" [formControl]=\"fc\" [ngbTypeahead]=\"search\" [editable]=\"false\" [focusFirst]=\"true\" [inputFormatter]=\"display\" [resultFormatter]=\"display\" [placeholder]=\"filter.help\" (keyup.arrowDown)=\"scrollAction($event)\" (keyup.arrowUp)=\"scrollAction($event)\" #th=\"ngbTypeahead\" [class.tascroll]=\"filter.scroll\">\n </div>\n </div>\n</div>" }]
|
|
2683
2689
|
}], ctorParameters: () => [], propDecorators: { list: [{
|
|
2684
2690
|
type: Input
|
|
2685
2691
|
}], filter: [{
|
|
@@ -2723,12 +2729,12 @@ class ModelListSelectFilterComponent {
|
|
|
2723
2729
|
this.filter.enabled = false;
|
|
2724
2730
|
this.list.filters.update();
|
|
2725
2731
|
}
|
|
2726
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2727
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2732
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListSelectFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2733
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: ModelListSelectFilterComponent, isStandalone: true, selector: "data-model-list-select-filter", inputs: { list: "list", filter: "filter", classes: "classes" }, ngImport: i0, template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <select class=\"form-select\" [formControl]=\"fc\">\n <option [ngValue]=\"null\">-- {{filter.help}} --</option>\n @for (c of filter.choices|async; track c) {\n <option [ngValue]=\"c.value\">{{c.desc}}</option>\n }\n </select>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.SelectControlValueAccessor, selector: "select:not([multiple]):not([ngNoCva])[formControlName],select:not([multiple]):not([ngNoCva])[formControl],select:not([multiple]):not([ngNoCva])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
2728
2734
|
}
|
|
2729
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2735
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListSelectFilterComponent, decorators: [{
|
|
2730
2736
|
type: Component,
|
|
2731
|
-
args: [{ selector: 'data-model-list-select-filter', imports: [CommonModule, ReactiveFormsModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <select class=\"form-select\" [formControl]=\"fc\">\n <option [ngValue]=\"null\">-- {{filter.help}} --</option>\n @for (c of filter.choices|async; track c) {\n <option [ngValue]=\"c.value\">{{c.desc}}</option>\n }\n </select>\n</div>" }]
|
|
2737
|
+
args: [{ selector: 'data-model-list-select-filter', changeDetection: ChangeDetectionStrategy.Eager, imports: [CommonModule, ReactiveFormsModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <select class=\"form-select\" [formControl]=\"fc\">\n <option [ngValue]=\"null\">-- {{filter.help}} --</option>\n @for (c of filter.choices|async; track c) {\n <option [ngValue]=\"c.value\">{{c.desc}}</option>\n }\n </select>\n</div>" }]
|
|
2732
2738
|
}], ctorParameters: () => [], propDecorators: { list: [{
|
|
2733
2739
|
type: Input
|
|
2734
2740
|
}], filter: [{
|
|
@@ -2767,12 +2773,12 @@ class ModelListSelectMultiFilterComponent {
|
|
|
2767
2773
|
this.filter.enabled = false;
|
|
2768
2774
|
this.list.filters.update();
|
|
2769
2775
|
}
|
|
2770
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2771
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2776
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListSelectMultiFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2777
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: ModelListSelectMultiFilterComponent, isStandalone: true, selector: "data-model-list-select-multi-filter", inputs: { list: "list", filter: "filter", classes: "classes" }, ngImport: i0, template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <select class=\"form-select\" [formControl]=\"fc\">\n <option [ngValue]=\"null\">-- {{filter.help}} --</option>\n @for (c of filter.choices|async; track c) {\n <option [ngValue]=\"c.value\">{{c.desc}}</option>\n }\n </select>\n <div class=\"enabled mt-1\">\n @for (e of filter.mcurrent$|async; track e) {\n <div><i class=\"bi bi-trash me-2\" (click)=\"unset(e.value, e.desc)\" role=\"button\"></i>{{e.desc}}</div>\n }\n </div>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.SelectControlValueAccessor, selector: "select:not([multiple]):not([ngNoCva])[formControlName],select:not([multiple]):not([ngNoCva])[formControl],select:not([multiple]):not([ngNoCva])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
2772
2778
|
}
|
|
2773
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2779
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListSelectMultiFilterComponent, decorators: [{
|
|
2774
2780
|
type: Component,
|
|
2775
|
-
args: [{ selector: 'data-model-list-select-multi-filter', imports: [CommonModule, ReactiveFormsModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <select class=\"form-select\" [formControl]=\"fc\">\n <option [ngValue]=\"null\">-- {{filter.help}} --</option>\n @for (c of filter.choices|async; track c) {\n <option [ngValue]=\"c.value\">{{c.desc}}</option>\n }\n </select>\n <div class=\"enabled mt-1\">\n @for (e of filter.mcurrent$|async; track e) {\n <div><i class=\"bi bi-trash me-2\" (click)=\"unset(e.value, e.desc)\" role=\"button\"></i>{{e.desc}}</div>\n }\n </div>\n</div>" }]
|
|
2781
|
+
args: [{ selector: 'data-model-list-select-multi-filter', changeDetection: ChangeDetectionStrategy.Eager, imports: [CommonModule, ReactiveFormsModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <select class=\"form-select\" [formControl]=\"fc\">\n <option [ngValue]=\"null\">-- {{filter.help}} --</option>\n @for (c of filter.choices|async; track c) {\n <option [ngValue]=\"c.value\">{{c.desc}}</option>\n }\n </select>\n <div class=\"enabled mt-1\">\n @for (e of filter.mcurrent$|async; track e) {\n <div><i class=\"bi bi-trash me-2\" (click)=\"unset(e.value, e.desc)\" role=\"button\"></i>{{e.desc}}</div>\n }\n </div>\n</div>" }]
|
|
2776
2782
|
}], ctorParameters: () => [], propDecorators: { list: [{
|
|
2777
2783
|
type: Input
|
|
2778
2784
|
}], filter: [{
|
|
@@ -2934,12 +2940,12 @@ class ModelListTreeFilterComponent {
|
|
|
2934
2940
|
this.filter.enabled = false;
|
|
2935
2941
|
this.list.filters.update();
|
|
2936
2942
|
}
|
|
2937
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2938
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2943
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListTreeFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2944
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: ModelListTreeFilterComponent, isStandalone: true, selector: "data-model-list-tree-filter", inputs: { list: "list", filter: "filter", classes: "classes" }, ngImport: i0, template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n @for (l of tree.levels; track l) {\n <div class=\"levelselect\">\n <select class=\"form-select form-select-sm\" [formControl]=\"l.fc\">\n <option value=\"\">{{filter.help}}</option>\n @for (ch of l.choices; track ch) {\n <option [value]=\"ch.value\">{{ch.desc}}</option>\n }\n </select>\n </div>\n }\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.SelectControlValueAccessor, selector: "select:not([multiple]):not([ngNoCva])[formControlName],select:not([multiple]):not([ngNoCva])[formControl],select:not([multiple]):not([ngNoCva])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
2939
2945
|
}
|
|
2940
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2946
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListTreeFilterComponent, decorators: [{
|
|
2941
2947
|
type: Component,
|
|
2942
|
-
args: [{ selector: 'data-model-list-tree-filter', imports: [CommonModule, ReactiveFormsModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n @for (l of tree.levels; track l) {\n <div class=\"levelselect\">\n <select class=\"form-select form-select-sm\" [formControl]=\"l.fc\">\n <option value=\"\">{{filter.help}}</option>\n @for (ch of l.choices; track ch) {\n <option [value]=\"ch.value\">{{ch.desc}}</option>\n }\n </select>\n </div>\n }\n</div>" }]
|
|
2948
|
+
args: [{ selector: 'data-model-list-tree-filter', changeDetection: ChangeDetectionStrategy.Eager, imports: [CommonModule, ReactiveFormsModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n @for (l of tree.levels; track l) {\n <div class=\"levelselect\">\n <select class=\"form-select form-select-sm\" [formControl]=\"l.fc\">\n <option value=\"\">{{filter.help}}</option>\n @for (ch of l.choices; track ch) {\n <option [value]=\"ch.value\">{{ch.desc}}</option>\n }\n </select>\n </div>\n }\n</div>" }]
|
|
2943
2949
|
}], ctorParameters: () => [], propDecorators: { list: [{
|
|
2944
2950
|
type: Input
|
|
2945
2951
|
}], filter: [{
|
|
@@ -2971,12 +2977,12 @@ class ModelListNumberFilterComponent {
|
|
|
2971
2977
|
this.filter.setOperator(eq);
|
|
2972
2978
|
this.list.filters.update();
|
|
2973
2979
|
}
|
|
2974
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2975
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2980
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListNumberFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2981
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: ModelListNumberFilterComponent, isStandalone: true, selector: "data-model-list-number-filter", inputs: { list: "list", filter: "filter", classes: "classes" }, ngImport: i0, template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\">\n <div class=\"bi bi-trash\"></div>\n </div>\n <label>{{filter.label}}</label>\n <div class=\"input-group\" ngbDropdown>\n <button class=\"btn btn-outline-secondary\" type=\"button\" ngbDropdownToggle><span class=\"me-2\">{{filter.operator.label}}</span>\n <div class=\"dropdown-menu\" ngbDropdownMenu>\n @for (op of filter.operations; track op) {\n <button ngbDropdownItem (click)=\"selectOp(op.operator)\" [class.text-primary]=\"op.operator === filter.operator.operator\">{{op.label}}</button>\n }\n </div>\n </button>\n <input class=\"form-control\" type=\"number\" [formControl]=\"fc\" [placeholder]=\"filter.help\">\n</div>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NumberValueAccessor, selector: "input[type=number]:not([ngNoCva])[formControlName],input[type=number]:not([ngNoCva])[formControl],input[type=number]:not([ngNoCva])[ngModel]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: NgbDropdownModule }, { kind: "directive", type: i2.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i2.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i2.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i2.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["tabindex", "disabled"] }, { kind: "directive", type: i2.NgbDropdownButtonItem, selector: "button[ngbDropdownItem]" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
2976
2982
|
}
|
|
2977
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2983
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListNumberFilterComponent, decorators: [{
|
|
2978
2984
|
type: Component,
|
|
2979
|
-
args: [{ selector: 'data-model-list-number-filter', imports: [CommonModule, ReactiveFormsModule, NgbDropdownModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\">\n <div class=\"bi bi-trash\"></div>\n </div>\n <label>{{filter.label}}</label>\n <div class=\"input-group\" ngbDropdown>\n <button class=\"btn btn-outline-secondary\" type=\"button\" ngbDropdownToggle><span class=\"me-2\">{{filter.operator.label}}</span>\n <div class=\"dropdown-menu\" ngbDropdownMenu>\n @for (op of filter.operations; track op) {\n <button ngbDropdownItem (click)=\"selectOp(op.operator)\" [class.text-primary]=\"op.operator === filter.operator.operator\">{{op.label}}</button>\n }\n </div>\n </button>\n <input class=\"form-control\" type=\"number\" [formControl]=\"fc\" [placeholder]=\"filter.help\">\n</div>\n</div>" }]
|
|
2985
|
+
args: [{ selector: 'data-model-list-number-filter', changeDetection: ChangeDetectionStrategy.Eager, imports: [CommonModule, ReactiveFormsModule, NgbDropdownModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\">\n <div class=\"bi bi-trash\"></div>\n </div>\n <label>{{filter.label}}</label>\n <div class=\"input-group\" ngbDropdown>\n <button class=\"btn btn-outline-secondary\" type=\"button\" ngbDropdownToggle><span class=\"me-2\">{{filter.operator.label}}</span>\n <div class=\"dropdown-menu\" ngbDropdownMenu>\n @for (op of filter.operations; track op) {\n <button ngbDropdownItem (click)=\"selectOp(op.operator)\" [class.text-primary]=\"op.operator === filter.operator.operator\">{{op.label}}</button>\n }\n </div>\n </button>\n <input class=\"form-control\" type=\"number\" [formControl]=\"fc\" [placeholder]=\"filter.help\">\n</div>\n</div>" }]
|
|
2980
2986
|
}], ctorParameters: () => [], propDecorators: { list: [{
|
|
2981
2987
|
type: Input
|
|
2982
2988
|
}], filter: [{
|
|
@@ -3004,12 +3010,12 @@ class ModelListDateFilterComponent {
|
|
|
3004
3010
|
this.filter.enabled = false;
|
|
3005
3011
|
this.list.filters.update();
|
|
3006
3012
|
}
|
|
3007
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3008
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
3013
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListDateFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3014
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.4", type: ModelListDateFilterComponent, isStandalone: true, selector: "data-model-list-date-filter", inputs: { list: "list", filter: "filter", classes: "classes" }, ngImport: i0, template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <input class=\"form-control\" type=\"date\" [formControl]=\"fc\" [placeholder]=\"filter.help\">\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
3009
3015
|
}
|
|
3010
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3016
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListDateFilterComponent, decorators: [{
|
|
3011
3017
|
type: Component,
|
|
3012
|
-
args: [{ selector: 'data-model-list-date-filter', imports: [CommonModule, ReactiveFormsModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <input class=\"form-control\" type=\"date\" [formControl]=\"fc\" [placeholder]=\"filter.help\">\n</div>" }]
|
|
3018
|
+
args: [{ selector: 'data-model-list-date-filter', changeDetection: ChangeDetectionStrategy.Eager, imports: [CommonModule, ReactiveFormsModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <input class=\"form-control\" type=\"date\" [formControl]=\"fc\" [placeholder]=\"filter.help\">\n</div>" }]
|
|
3013
3019
|
}], ctorParameters: () => [], propDecorators: { list: [{
|
|
3014
3020
|
type: Input
|
|
3015
3021
|
}], filter: [{
|
|
@@ -3024,12 +3030,12 @@ class ModelListFiltersComponent {
|
|
|
3024
3030
|
this.containerClasses = '';
|
|
3025
3031
|
this.itemClasses = '';
|
|
3026
3032
|
}
|
|
3027
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3028
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
3033
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListFiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3034
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: ModelListFiltersComponent, isStandalone: true, selector: "data-model-list-filters", inputs: { list: "list", containerClasses: "containerClasses", itemClasses: "itemClasses" }, ngImport: i0, template: "\n<div [ngClass]=\"containerClasses\">\n @for (f of list.filters.enabled|async; track f) {\n @switch (f.type) {\n @case ('autocomplete') {\n <data-model-list-autocomplete-filter [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-autocomplete-filter>\n }\n @case ('autocompletemulti') {\n <data-model-list-autocomplete-multi-filter [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-autocomplete-multi-filter>\n }\n @case ('datetime') {\n <data-model-list-datetime-filter [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-datetime-filter>\n }\n @case ('date') {\n <data-model-list-date-filter [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-date-filter>\n }\n @case ('datetimerange') {\n <data-model-list-datetime-range-filter [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-datetime-range-filter>\n }\n @case ('flags') {\n <data-model-list-flags-filter [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-flags-filter>\n }\n @case ('geodistance') {\n <data-model-list-geodistance-filter [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-geodistance-filter>\n }\n @case ('number') {\n <data-model-list-number-filter [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-number-filter>\n }\n @case ('select') {\n <data-model-list-select-filter [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-select-filter>\n }\n @case ('selectmulti') {\n <data-model-list-select-multi-filter [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-select-multi-filter>\n }\n @case ('text') {\n <data-model-list-text-filter [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-text-filter>\n }\n @case ('tree') {\n <data-model-list-tree-filter [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-tree-filter>\n }\n }\n }\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ModelListTextFilterComponent, selector: "data-model-list-text-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListNumberFilterComponent, selector: "data-model-list-number-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListAutocompleteFilterComponent, selector: "data-model-list-autocomplete-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListAutocompleteMultiFilterComponent, selector: "data-model-list-autocomplete-multi-filter", inputs: ["filter"] }, { kind: "component", type: ModelListDatetimeFilterComponent, selector: "data-model-list-datetime-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListDateFilterComponent, selector: "data-model-list-date-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListDatetimeRangeFilterComponent, selector: "data-model-list-datetime-range-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListFlagsFilterComponent, selector: "data-model-list-flags-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListGeodistanceFilterComponent, selector: "data-model-list-geodistance-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListSelectFilterComponent, selector: "data-model-list-select-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListSelectMultiFilterComponent, selector: "data-model-list-select-multi-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListTreeFilterComponent, selector: "data-model-list-tree-filter", inputs: ["list", "filter", "classes"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
3029
3035
|
}
|
|
3030
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3036
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListFiltersComponent, decorators: [{
|
|
3031
3037
|
type: Component,
|
|
3032
|
-
args: [{ selector: 'data-model-list-filters', imports: [
|
|
3038
|
+
args: [{ selector: 'data-model-list-filters', changeDetection: ChangeDetectionStrategy.Eager, imports: [
|
|
3033
3039
|
CommonModule,
|
|
3034
3040
|
ModelListTextFilterComponent,
|
|
3035
3041
|
ModelListNumberFilterComponent,
|
|
@@ -3389,12 +3395,12 @@ class ModelListPaginatorComponent {
|
|
|
3389
3395
|
});
|
|
3390
3396
|
}
|
|
3391
3397
|
}
|
|
3392
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3393
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
3398
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListPaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3399
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: ModelListPaginatorComponent, isStandalone: true, selector: "data-model-list-paginator", inputs: { list: "list", maxPages: "maxPages", hide: "hide" }, usesOnChanges: true, ngImport: i0, template: "\n@if (!hide) {\n <div class=\"row\">\n <div class=\"col-sm-4\">\n <select class=\"form-select perpage\" [formControl]=\"perPageControl\">\n @if (maxPages>=10) {\n <option value=\"10\">10 / page</option>\n }\n @if (maxPages>=20) {\n <option value=\"20\">20 / page</option>\n }\n @if (maxPages>=50) {\n <option value=\"50\">50 / page</option>\n }\n @if (maxPages>=100) {\n <option value=\"100\">100 / page</option>\n }\n @if (maxPages>=200) {\n <option value=\"200\">200 / page</option>\n }\n @if (maxPages>=500) {\n <option value=\"500\">500 / page</option>\n }\n @if (maxPages>=1000) {\n <option value=\"1000\">1000 / page</option>\n }\n @if (maxPages>=2000) {\n <option value=\"2000\">2000 / page</option>\n }\n @if (maxPages>=5000) {\n <option value=\"5000\">5000 / page</option>\n }\n @if (maxPages>=10000) {\n <option value=\"10000\">10000 / page</option>\n }\n </select>\n </div>\n @if (list) {\n <div class=\"col-sm-5 pagination\">\n <div class=\"text-xs-center\">\n <ngb-pagination [pageSize]=\"pageSize\" [collectionSize]=\"curCount\" [page]=\"curPage\" (pageChange)=\"onPageChange($event)\" [maxSize]=\"5\" [rotate]=\"true\"></ngb-pagination>\n </div>\n </div>\n }\n <div class=\"col-sm-3 results\">\n <div>{{curCount}} r\u00E9sultats -<span (click)=\"showDirectAccess=!showDirectAccess\" role=\"button\">acces direct</span></div>\n @if (showDirectAccess) {\n <div>\n <input class=\"form-control\" [formControl]=\"directAccess\" type=\"number\" placeholder=\"Aller \u00E0 la page\">\n </div>\n }\n </div>\n </div>\n}", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NumberValueAccessor, selector: "input[type=number]:not([ngNoCva])[formControlName],input[type=number]:not([ngNoCva])[formControl],input[type=number]:not([ngNoCva])[ngModel]" }, { kind: "directive", type: i2$2.SelectControlValueAccessor, selector: "select:not([multiple]):not([ngNoCva])[formControlName],select:not([multiple]):not([ngNoCva])[formControl],select:not([multiple]):not([ngNoCva])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: NgbPaginationModule }, { kind: "component", type: i2.NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
3394
3400
|
}
|
|
3395
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3401
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ModelListPaginatorComponent, decorators: [{
|
|
3396
3402
|
type: Component,
|
|
3397
|
-
args: [{ selector: 'data-model-list-paginator', imports: [ReactiveFormsModule, NgbPaginationModule], template: "\n@if (!hide) {\n <div class=\"row\">\n <div class=\"col-sm-4\">\n <select class=\"form-select perpage\" [formControl]=\"perPageControl\">\n @if (maxPages>=10) {\n <option value=\"10\">10 / page</option>\n }\n @if (maxPages>=20) {\n <option value=\"20\">20 / page</option>\n }\n @if (maxPages>=50) {\n <option value=\"50\">50 / page</option>\n }\n @if (maxPages>=100) {\n <option value=\"100\">100 / page</option>\n }\n @if (maxPages>=200) {\n <option value=\"200\">200 / page</option>\n }\n @if (maxPages>=500) {\n <option value=\"500\">500 / page</option>\n }\n @if (maxPages>=1000) {\n <option value=\"1000\">1000 / page</option>\n }\n @if (maxPages>=2000) {\n <option value=\"2000\">2000 / page</option>\n }\n @if (maxPages>=5000) {\n <option value=\"5000\">5000 / page</option>\n }\n @if (maxPages>=10000) {\n <option value=\"10000\">10000 / page</option>\n }\n </select>\n </div>\n @if (list) {\n <div class=\"col-sm-5 pagination\">\n <div class=\"text-xs-center\">\n <ngb-pagination [pageSize]=\"pageSize\" [collectionSize]=\"curCount\" [page]=\"curPage\" (pageChange)=\"onPageChange($event)\" [maxSize]=\"5\" [rotate]=\"true\"></ngb-pagination>\n </div>\n </div>\n }\n <div class=\"col-sm-3 results\">\n <div>{{curCount}} r\u00E9sultats -<span (click)=\"showDirectAccess=!showDirectAccess\" role=\"button\">acces direct</span></div>\n @if (showDirectAccess) {\n <div>\n <input class=\"form-control\" [formControl]=\"directAccess\" type=\"number\" placeholder=\"Aller \u00E0 la page\">\n </div>\n }\n </div>\n </div>\n}" }]
|
|
3403
|
+
args: [{ selector: 'data-model-list-paginator', changeDetection: ChangeDetectionStrategy.Eager, imports: [ReactiveFormsModule, NgbPaginationModule], template: "\n@if (!hide) {\n <div class=\"row\">\n <div class=\"col-sm-4\">\n <select class=\"form-select perpage\" [formControl]=\"perPageControl\">\n @if (maxPages>=10) {\n <option value=\"10\">10 / page</option>\n }\n @if (maxPages>=20) {\n <option value=\"20\">20 / page</option>\n }\n @if (maxPages>=50) {\n <option value=\"50\">50 / page</option>\n }\n @if (maxPages>=100) {\n <option value=\"100\">100 / page</option>\n }\n @if (maxPages>=200) {\n <option value=\"200\">200 / page</option>\n }\n @if (maxPages>=500) {\n <option value=\"500\">500 / page</option>\n }\n @if (maxPages>=1000) {\n <option value=\"1000\">1000 / page</option>\n }\n @if (maxPages>=2000) {\n <option value=\"2000\">2000 / page</option>\n }\n @if (maxPages>=5000) {\n <option value=\"5000\">5000 / page</option>\n }\n @if (maxPages>=10000) {\n <option value=\"10000\">10000 / page</option>\n }\n </select>\n </div>\n @if (list) {\n <div class=\"col-sm-5 pagination\">\n <div class=\"text-xs-center\">\n <ngb-pagination [pageSize]=\"pageSize\" [collectionSize]=\"curCount\" [page]=\"curPage\" (pageChange)=\"onPageChange($event)\" [maxSize]=\"5\" [rotate]=\"true\"></ngb-pagination>\n </div>\n </div>\n }\n <div class=\"col-sm-3 results\">\n <div>{{curCount}} r\u00E9sultats -<span (click)=\"showDirectAccess=!showDirectAccess\" role=\"button\">acces direct</span></div>\n @if (showDirectAccess) {\n <div>\n <input class=\"form-control\" [formControl]=\"directAccess\" type=\"number\" placeholder=\"Aller \u00E0 la page\">\n </div>\n }\n </div>\n </div>\n}" }]
|
|
3398
3404
|
}], propDecorators: { list: [{
|
|
3399
3405
|
type: Input
|
|
3400
3406
|
}], maxPages: [{
|
|
@@ -3429,10 +3435,10 @@ class ChoicePipe {
|
|
|
3429
3435
|
}
|
|
3430
3436
|
return `[${fvalue}] ??`;
|
|
3431
3437
|
}
|
|
3432
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3433
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
3438
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ChoicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
3439
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.4", ngImport: i0, type: ChoicePipe, isStandalone: true, name: "choice" }); }
|
|
3434
3440
|
}
|
|
3435
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3441
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ChoicePipe, decorators: [{
|
|
3436
3442
|
type: Pipe,
|
|
3437
3443
|
args: [{
|
|
3438
3444
|
name: 'choice',
|
|
@@ -3469,10 +3475,10 @@ class PChoicePipe {
|
|
|
3469
3475
|
}
|
|
3470
3476
|
return `[${fvalue}] ??`;
|
|
3471
3477
|
}
|
|
3472
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3473
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
3478
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: PChoicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
3479
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.4", ngImport: i0, type: PChoicePipe, isStandalone: true, name: "pchoice" }); }
|
|
3474
3480
|
}
|
|
3475
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3481
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: PChoicePipe, decorators: [{
|
|
3476
3482
|
type: Pipe,
|
|
3477
3483
|
args: [{
|
|
3478
3484
|
name: 'pchoice',
|
|
@@ -3511,10 +3517,10 @@ class FactorPipe {
|
|
|
3511
3517
|
const num = strToNumber(fvalue);
|
|
3512
3518
|
return formatNumber(num / factor, locale, digitsInfo);
|
|
3513
3519
|
}
|
|
3514
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3515
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
3520
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: FactorPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
3521
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.4", ngImport: i0, type: FactorPipe, isStandalone: true, name: "factor" }); }
|
|
3516
3522
|
}
|
|
3517
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3523
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: FactorPipe, decorators: [{
|
|
3518
3524
|
type: Pipe,
|
|
3519
3525
|
args: [{
|
|
3520
3526
|
name: 'factor',
|
|
@@ -3544,10 +3550,10 @@ class PFactorPipe {
|
|
|
3544
3550
|
const num = strToNumber(fvalue);
|
|
3545
3551
|
return formatNumber(num / factor, locale, digitsInfo);
|
|
3546
3552
|
}
|
|
3547
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3548
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
3553
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: PFactorPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
3554
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.4", ngImport: i0, type: PFactorPipe, isStandalone: true, name: "pfactor" }); }
|
|
3549
3555
|
}
|
|
3550
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3556
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: PFactorPipe, decorators: [{
|
|
3551
3557
|
type: Pipe,
|
|
3552
3558
|
args: [{
|
|
3553
3559
|
name: 'pfactor',
|
|
@@ -3587,10 +3593,10 @@ class FactorcPipe {
|
|
|
3587
3593
|
const num = strToNumber(fvalue);
|
|
3588
3594
|
return formatCurrency(num / factor, locale, currency, currencyCode, digitsInfo);
|
|
3589
3595
|
}
|
|
3590
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3591
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
3596
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: FactorcPipe, deps: [{ token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
3597
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.4", ngImport: i0, type: FactorcPipe, isStandalone: true, name: "factorc" }); }
|
|
3592
3598
|
}
|
|
3593
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3599
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: FactorcPipe, decorators: [{
|
|
3594
3600
|
type: Pipe,
|
|
3595
3601
|
args: [{
|
|
3596
3602
|
name: 'factorc',
|
|
@@ -3636,10 +3642,10 @@ class PFactorcPipe {
|
|
|
3636
3642
|
const num = strToNumber(fvalue);
|
|
3637
3643
|
return formatCurrency(num / factor, locale, currency, currencyCode, digitsInfo);
|
|
3638
3644
|
}
|
|
3639
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3640
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
3645
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: PFactorcPipe, deps: [{ token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
3646
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.4", ngImport: i0, type: PFactorcPipe, isStandalone: true, name: "pfactorc" }); }
|
|
3641
3647
|
}
|
|
3642
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3648
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: PFactorcPipe, decorators: [{
|
|
3643
3649
|
type: Pipe,
|
|
3644
3650
|
args: [{
|
|
3645
3651
|
name: 'pfactorc',
|
|
@@ -3739,12 +3745,12 @@ class FkselectComponent {
|
|
|
3739
3745
|
return qs.get();
|
|
3740
3746
|
}));
|
|
3741
3747
|
}
|
|
3742
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3743
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
3748
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: FkselectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3749
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: FkselectComponent, isStandalone: true, selector: "data-fkselect", inputs: { model: "model", field: "field", edit: "edit", value: "value", queryset: "queryset", collection: "collection", update: "update", filter: "filter", mode: "mode", display: "display", search: "search", label: "label", placeholder: "placeholder", inputClasses: "inputClasses" }, outputs: { selected: "selected", cancelled: "cancelled", cleared: "cleared" }, ngImport: i0, template: "\n<div class=\"form-group\">\n @if (label) {\n <label>{{label}}</label>\n }\n <div class=\"input-group\">\n <input class=\"form-control\" [formControl]=\"fc\" [placeholder]=\"placeholder\" [ngbTypeahead]=\"searchFn\" [editable]=\"false\" [focusFirst]=\"true\" [inputFormatter]=\"displayFn\" [resultFormatter]=\"displayFn\" (keyup.escape)=\"cancelled.emit()\">\n <div class=\"input-group-text\"><i class=\"bi bi-trash float-end pointer\" (click)=\"clearAction()\"></i></div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: NgbTypeaheadModule }, { kind: "directive", type: i2.NgbTypeahead, selector: "input[ngbTypeahead]", inputs: ["autocomplete", "container", "editable", "focusFirst", "inputFormatter", "ngbTypeahead", "resultFormatter", "resultTemplate", "selectOnExact", "showHint", "placement", "popperOptions", "popupClass"], outputs: ["selectItem"], exportAs: ["ngbTypeahead"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
3744
3750
|
}
|
|
3745
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3751
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: FkselectComponent, decorators: [{
|
|
3746
3752
|
type: Component,
|
|
3747
|
-
args: [{ selector: 'data-fkselect', imports: [ReactiveFormsModule, NgbTypeaheadModule], template: "\n<div class=\"form-group\">\n @if (label) {\n <label>{{label}}</label>\n }\n <div class=\"input-group\">\n <input class=\"form-control\" [formControl]=\"fc\" [placeholder]=\"placeholder\" [ngbTypeahead]=\"searchFn\" [editable]=\"false\" [focusFirst]=\"true\" [inputFormatter]=\"displayFn\" [resultFormatter]=\"displayFn\" (keyup.escape)=\"cancelled.emit()\">\n <div class=\"input-group-text\"><i class=\"bi bi-trash float-end pointer\" (click)=\"clearAction()\"></i></div>\n </div>\n</div>" }]
|
|
3753
|
+
args: [{ selector: 'data-fkselect', changeDetection: ChangeDetectionStrategy.Eager, imports: [ReactiveFormsModule, NgbTypeaheadModule], template: "\n<div class=\"form-group\">\n @if (label) {\n <label>{{label}}</label>\n }\n <div class=\"input-group\">\n <input class=\"form-control\" [formControl]=\"fc\" [placeholder]=\"placeholder\" [ngbTypeahead]=\"searchFn\" [editable]=\"false\" [focusFirst]=\"true\" [inputFormatter]=\"displayFn\" [resultFormatter]=\"displayFn\" (keyup.escape)=\"cancelled.emit()\">\n <div class=\"input-group-text\"><i class=\"bi bi-trash float-end pointer\" (click)=\"clearAction()\"></i></div>\n </div>\n</div>" }]
|
|
3748
3754
|
}], ctorParameters: () => [], propDecorators: { model: [{
|
|
3749
3755
|
type: Input
|
|
3750
3756
|
}], field: [{
|
|
@@ -4022,16 +4028,16 @@ class M2mselectComponent {
|
|
|
4022
4028
|
return qs.get();
|
|
4023
4029
|
}));
|
|
4024
4030
|
}
|
|
4025
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4026
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
4031
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: M2mselectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4032
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: M2mselectComponent, isStandalone: true, selector: "data-m2mselect", inputs: { model: "model", field: "field", edit: "edit", values: "values", queryset: "queryset", collection: "collection", filter: "filter", mode: "mode", display: "display", search: "search", label: "label", placeholder: "placeholder", emptyLabel: "emptyLabel", inputClasses: "inputClasses" }, outputs: { added: "added", removed: "removed", cancelled: "cancelled", cleared: "cleared", detailsChanged: "detailsChanged", changed: "changed" }, providers: [
|
|
4027
4033
|
{
|
|
4028
4034
|
provide: NG_VALUE_ACCESSOR,
|
|
4029
4035
|
multi: true,
|
|
4030
4036
|
useExisting: M2mselectComponent,
|
|
4031
4037
|
},
|
|
4032
|
-
], ngImport: i0, template: "\n<div class=\"form-group\">\n @if (label) {\n <label>{{label}}</label>\n }\n <div class=\"input-group\">\n <input class=\"form-control\" [formControl]=\"fc\" [placeholder]=\"placeholder\" [ngbTypeahead]=\"searchFn\" [editable]=\"false\" [focusFirst]=\"true\" [inputFormatter]=\"displayFn\" [resultFormatter]=\"displayFn\" (keyup.escape)=\"cancelled.emit()\">\n <div class=\"input-group-text\"><i class=\"bi bi-trash float-end pointer\" (click)=\"cleared.emit()\"></i></div>\n </div>\n @for (i of values; track i) {\n <div><i class=\"bi bi-trash ms-2 float-end\" (click)=\"onRemove(i)\"></i>{{displayFn(i)}}</div>\n }\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: NgbTypeaheadModule }, { kind: "directive", type: i2.NgbTypeahead, selector: "input[ngbTypeahead]", inputs: ["autocomplete", "container", "editable", "focusFirst", "inputFormatter", "ngbTypeahead", "resultFormatter", "resultTemplate", "selectOnExact", "showHint", "placement", "popperOptions", "popupClass"], outputs: ["selectItem"], exportAs: ["ngbTypeahead"] }] }); }
|
|
4038
|
+
], ngImport: i0, template: "\n<div class=\"form-group\">\n @if (label) {\n <label>{{label}}</label>\n }\n <div class=\"input-group\">\n <input class=\"form-control\" [formControl]=\"fc\" [placeholder]=\"placeholder\" [ngbTypeahead]=\"searchFn\" [editable]=\"false\" [focusFirst]=\"true\" [inputFormatter]=\"displayFn\" [resultFormatter]=\"displayFn\" (keyup.escape)=\"cancelled.emit()\">\n <div class=\"input-group-text\"><i class=\"bi bi-trash float-end pointer\" (click)=\"cleared.emit()\"></i></div>\n </div>\n @for (i of values; track i) {\n <div><i class=\"bi bi-trash ms-2 float-end\" (click)=\"onRemove(i)\"></i>{{displayFn(i)}}</div>\n }\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: NgbTypeaheadModule }, { kind: "directive", type: i2.NgbTypeahead, selector: "input[ngbTypeahead]", inputs: ["autocomplete", "container", "editable", "focusFirst", "inputFormatter", "ngbTypeahead", "resultFormatter", "resultTemplate", "selectOnExact", "showHint", "placement", "popperOptions", "popupClass"], outputs: ["selectItem"], exportAs: ["ngbTypeahead"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
4033
4039
|
}
|
|
4034
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
4040
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: M2mselectComponent, decorators: [{
|
|
4035
4041
|
type: Component,
|
|
4036
4042
|
args: [{ selector: 'data-m2mselect', providers: [
|
|
4037
4043
|
{
|
|
@@ -4039,7 +4045,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
4039
4045
|
multi: true,
|
|
4040
4046
|
useExisting: M2mselectComponent,
|
|
4041
4047
|
},
|
|
4042
|
-
], imports: [ReactiveFormsModule, NgbTypeaheadModule], template: "\n<div class=\"form-group\">\n @if (label) {\n <label>{{label}}</label>\n }\n <div class=\"input-group\">\n <input class=\"form-control\" [formControl]=\"fc\" [placeholder]=\"placeholder\" [ngbTypeahead]=\"searchFn\" [editable]=\"false\" [focusFirst]=\"true\" [inputFormatter]=\"displayFn\" [resultFormatter]=\"displayFn\" (keyup.escape)=\"cancelled.emit()\">\n <div class=\"input-group-text\"><i class=\"bi bi-trash float-end pointer\" (click)=\"cleared.emit()\"></i></div>\n </div>\n @for (i of values; track i) {\n <div><i class=\"bi bi-trash ms-2 float-end\" (click)=\"onRemove(i)\"></i>{{displayFn(i)}}</div>\n }\n</div>" }]
|
|
4048
|
+
], changeDetection: ChangeDetectionStrategy.Eager, imports: [ReactiveFormsModule, NgbTypeaheadModule], template: "\n<div class=\"form-group\">\n @if (label) {\n <label>{{label}}</label>\n }\n <div class=\"input-group\">\n <input class=\"form-control\" [formControl]=\"fc\" [placeholder]=\"placeholder\" [ngbTypeahead]=\"searchFn\" [editable]=\"false\" [focusFirst]=\"true\" [inputFormatter]=\"displayFn\" [resultFormatter]=\"displayFn\" (keyup.escape)=\"cancelled.emit()\">\n <div class=\"input-group-text\"><i class=\"bi bi-trash float-end pointer\" (click)=\"cleared.emit()\"></i></div>\n </div>\n @for (i of values; track i) {\n <div><i class=\"bi bi-trash ms-2 float-end\" (click)=\"onRemove(i)\"></i>{{displayFn(i)}}</div>\n }\n</div>" }]
|
|
4043
4049
|
}], propDecorators: { model: [{
|
|
4044
4050
|
type: Input
|
|
4045
4051
|
}], field: [{
|
|
@@ -4215,10 +4221,10 @@ class DataMessageService {
|
|
|
4215
4221
|
}
|
|
4216
4222
|
this._messages$.next(out);
|
|
4217
4223
|
}
|
|
4218
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4219
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
4224
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: DataMessageService, deps: [{ token: i0.NgZone }, { token: DATA_MESSAGE_SOUNDS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4225
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: DataMessageService, providedIn: "root" }); }
|
|
4220
4226
|
}
|
|
4221
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
4227
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: DataMessageService, decorators: [{
|
|
4222
4228
|
type: Injectable,
|
|
4223
4229
|
args: [{
|
|
4224
4230
|
providedIn: "root"
|
|
@@ -4641,12 +4647,12 @@ class DispeditComponent {
|
|
|
4641
4647
|
}
|
|
4642
4648
|
}
|
|
4643
4649
|
_setDisplayClasses() { }
|
|
4644
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4645
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: DispeditComponent, isStandalone: true, selector: "data-dispedit", inputs: { model: "model", field: "field", form: "form", edit: "edit", editable: "editable", mode: "mode", choices: "choices", inputClasses: "inputClasses", editor: "editor", viewer: "viewer", default: "default", placeholder: "placeholder", help: "help", hideLabel: "hideLabel", queryset: "queryset", collection: "collection", display: "display", filter: "filter" }, outputs: { changed: "changed" }, usesOnChanges: true, ngImport: i0, template: "<ng-template #titleTpl>\n <ng-content></ng-content>\n</ng-template>\n\n<!-- TEMPLATE affichage -->\n<ng-template #dispTpl>\n @switch (realDisplay) {\n @case (\"text\") {\n <span class=\"editable disp-text\" (click)=\"enableEditMode()\">{{\n txtValue\n }}</span>\n }\n @case (\"choice\") {\n <span class=\"editable disp-choice\" (click)=\"enableEditMode()\">{{\n txtValue\n }}</span>\n }\n @case (\"decimal\") {\n <span class=\"editable disp-decimal\" (click)=\"enableEditMode()\">{{\n txtValue\n }}</span>\n }\n @case (\"boolean\") {\n <span class=\"editable disp-boolean\" (click)=\"enableEditMode()\">{{\n txtValue\n }}</span>\n }\n @case (\"fkdetails\") {\n <span class=\"editable disp-fkdetails\" (click)=\"enableEditMode()\">\n <div class=\"fkitem\">{{ txtValue }}</div></span\n >\n }\n @case (\"m2mdetails\") {\n <span class=\"editable disp-m2mdetails\" (click)=\"enableEditMode()\">\n @for (v of txtValues; track v) {\n <div class=\"m2mitem\">{{ v }}</div>\n }\n </span>\n }\n @case (\"datetime\") {\n <span class=\"editable disp-datetime\" (click)=\"enableEditMode()\">\n @if (dispValue) {\n {{ txtValue | date: \"short\" }}\n }\n @if (!dispValue) {\n {{ txtValue }}\n }\n </span>\n }\n @case (\"date\") {\n <span class=\"editable disp-datetime\" (click)=\"enableEditMode()\">\n @if (dispValue) {\n {{ txtValue | date: \"shortDate\" }}\n }\n @if (!dispValue) {\n {{ txtValue }}\n }\n </span>\n }\n }\n</ng-template>\n\n<!-- TEMPLATE \u00E9dition -->\n<ng-template #editTpl let-form=\"form\">\n @switch (realEditor) {\n @case (\"input.text\") {\n <input\n type=\"text\"\n [formControl]=\"form.get(field)\"\n [ngClass]=\"inputClasses\"\n (keyup.escape)=\"unsetEdit()\"\n [placeholder]=\"realPlaceholder\"\n />\n @if (realHelp) {\n <div class=\"form-text\">\n {{ realHelp }}\n @if (required) {\n <span class=\"ms-1\">(requis)</span>\n }\n </div>\n }\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minlength']\"\n >\n Trop court : {{ $any(manager).minLength }} caract\u00E8res minimum...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxlength']\"\n >\n Trop long : {{ $any(manager).maxLength }} caract\u00E8res maximum...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['pattern']\"\n >\n Format invalide...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\"\n >\n Ce champ est requis...\n </div>\n }\n @case (\"input.email\") {\n <input\n type=\"email\"\n [formControl]=\"form.get(field)\"\n [ngClass]=\"inputClasses\"\n (keyup.escape)=\"unsetEdit()\"\n [placeholder]=\"realPlaceholder\"\n />\n @if (realHelp) {\n <div class=\"form-text\">\n {{ realHelp }}\n @if (required) {\n <span class=\"ms-1\">(requis)</span>\n }\n </div>\n }\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minlength']\"\n >\n Trop court : {{ $any(manager).minLength }} caract\u00E8res minimum...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxlength']\"\n >\n Trop long : {{ $any(manager).maxLength }} caract\u00E8res maximum...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['pattern']\"\n >\n Format invalide...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['email']\"\n >\n Format d'email invalide...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\"\n >\n Ce champ est requis...\n </div>\n }\n @case (\"input.password\") {\n <input\n type=\"password\"\n [formControl]=\"form.get(field)\"\n [ngClass]=\"inputClasses\"\n (keyup.escape)=\"unsetEdit()\"\n [placeholder]=\"realPlaceholder\"\n />\n @if (realHelp) {\n <div class=\"form-text\">\n {{ realHelp }}\n @if (required) {\n <span class=\"ms-1\">(requis)</span>\n }\n </div>\n }\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minlength']\"\n >\n Trop court : {{ $any(manager).minLength }} caract\u00E8res minimum...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxlength']\"\n >\n Trop long : {{ $any(manager).maxLength }} caract\u00E8res maximum...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['pattern']\"\n >\n Format invalide...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\"\n >\n Ce champ est requis...\n </div>\n }\n @case (\"input.datetime\") {\n <input\n type=\"datetime-local\"\n [formControl]=\"form.get(field)\"\n [ngClass]=\"inputClasses\"\n (keyup.escape)=\"unsetEdit()\"\n (keyup.enter)=\"update()\"\n />\n <div class=\"form-text\">{{ realHelp }}</div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\"\n >\n Ce champ est requis...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minDate']\"\n >\n Doit \u00EAtre post\u00E9rieur \u00E0 {{ $any(manager).min | date: \"short\" }}...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxDate']\"\n >\n Doit \u00EAtre ant\u00E9rieur \u00E0 {{ $any(manager).max | date: \"short\" }}...\n </div>\n }\n @case (\"input.date\") {\n <input\n type=\"date\"\n [formControl]=\"form.get(field)\"\n [ngClass]=\"inputClasses\"\n (keyup.escape)=\"unsetEdit()\"\n (keyup.enter)=\"update()\"\n />\n <div class=\"form-text\">{{ realHelp }}</div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\"\n >\n Ce champ est requis...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minDate']\"\n >\n Doit \u00EAtre post\u00E9rieur \u00E0 {{ $any(manager).min | date: \"short\" }}...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxDate']\"\n >\n Doit \u00EAtre ant\u00E9rieur \u00E0 {{ $any(manager).max | date: \"short\" }}...\n </div>\n }\n @case (\"input.number\") {\n <input\n type=\"number\"\n [formControl]=\"form.get(field)\"\n [ngClass]=\"inputClasses\"\n (keyup.escape)=\"unsetEdit()\"\n [placeholder]=\"realPlaceholder\"\n />\n @if (realHelp) {\n <div class=\"form-text\">\n {{ realHelp }}\n @if (required) {\n <span class=\"ms-1\">(requis)</span>\n }\n </div>\n }\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['min']\"\n >\n Trop petit : minimum {{ $any(manager).min }}...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['max']\"\n >\n Trop grand : maximum {{ $any(manager).max }}...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\"\n >\n Ce champ est requis...\n </div>\n }\n @case (\"input.decimal\") {\n <input\n type=\"number\"\n [formControl]=\"form.get(field)\"\n [ngClass]=\"inputClasses\"\n (keyup.escape)=\"unsetEdit()\"\n [placeholder]=\"realPlaceholder\"\n />\n @if (realHelp) {\n <div class=\"form-text\">\n {{ realHelp }}\n @if (required) {\n <span class=\"ms-1\">(requis)</span>\n }\n </div>\n }\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['min']\"\n >\n Trop petit : minimum {{ $any(manager).min }}...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['max']\"\n >\n Trop grand : maximum {{ $any(manager).max }}...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\"\n >\n Ce champ est requis...\n </div>\n }\n @case (\"input.checkbox\") {\n @let v = $any(this.model)[this.field];\n <div class=\"btn-group btn-group-sm\" role=\"group\">\n <button\n type=\"button\"\n [class]=\"v===true ? 'btn btn-primary' : 'btn btn-outline-primary'\"\n (click)=\"form.get(field)?.setValue(true); update()\"\n (keyup.escape)=\"unsetEdit()\"\n >\n Oui\n </button>\n <button\n type=\"button\"\n [class]=\"v===false ? 'btn btn-primary' : 'btn btn-outline-primary'\"\n (click)=\"form.get(field)?.setValue(false); update()\"\n (keyup.escape)=\"unsetEdit()\"\n >\n Non\n </button>\n </div>\n <div class=\"form-text\">{{ realHelp }}</div>\n }\n @case (\"textarea\") {\n <textarea\n [formControl]=\"form.get(field)\"\n (keyup.escape)=\"unsetEdit()\"\n [ngClass]=\"inputClasses\"\n (keyup.control.enter)=\"update()\"\n [placeholder]=\"realPlaceholder\"\n ></textarea>\n @if (mode === \"dd\") {\n <button\n class=\"btn btn-sm btn-link w-100 dispedit-text-update-button\"\n (click)=\"update()\"\n >\n <i class=\"bi bi-save\"></i>\n </button>\n }\n @if (realHelp) {\n <div class=\"form-text\">\n {{ realHelp }}\n @if (required) {\n <span class=\"ms-1\">(requis)</span>\n }\n </div>\n }\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minlength']\"\n >\n Trop court : {{ $any(manager).minLength }} caract\u00E8res minimum...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxlength']\"\n >\n Trop long : {{ $any(manager).maxLength }} caract\u00E8res maximum...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['pattern']\"\n >\n Format invalide...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\"\n >\n Ce champ est requis...\n </div>\n }\n @case (\"fkselect\") {\n <data-fkselect\n [collection]=\"collection\"\n [filter]=\"filter\"\n [display]=\"display\"\n (selected)=\"selectedRefItem($event)\"\n [placeholder]=\"placeholder\"\n (cancelled)=\"unsetEdit()\"\n (cleared)=\"selectedRefItem(null)\"\n ></data-fkselect>\n }\n @case (\"m2mselect\") {\n <data-m2mselect\n [collection]=\"collection\"\n [filter]=\"filter\"\n (changed)=\"update()\"\n [formControl]=\"form.get(field)\"\n (detailsChanged)=\"onM2MValuesChanges($event)\"\n [model]=\"model\"\n [field]=\"field\"\n [placeholder]=\"placeholder\"\n ></data-m2mselect>\n }\n @case (\"select\") {\n <select\n [formControl]=\"form.get(field)\"\n (keyup.escape)=\"unsetEdit()\"\n (change)=\"update()\"\n [ngClass]=\"inputClasses\"\n >\n @for (c of realChoices; track c) {\n <option [ngValue]=\"c.value !== undefined ? c.value : c\">\n {{ c.desc ? c.desc : c }}\n </option>\n }\n </select>\n <div class=\"form-text\">{{ realHelp }}</div>\n }\n }\n</ng-template>\n<!-- Disp/edit toggler-->\n<ng-template #dispeditTpl>\n @if (!edit) {\n <ng-container *ngTemplateOutlet=\"dispTpl\"></ng-container>\n }\n @if (edit) {\n @if (fg) {\n <form [formGroup]=\"fg\" (submit)=\"update()\">\n <ng-container\n *ngTemplateOutlet=\"editTpl; context: { form: fg }\"\n ></ng-container>\n </form>\n }\n }\n</ng-template>\n<!-- DispEdit noform-->\n<ng-template #dispeditFormTpl>\n @if (!edit) {\n <ng-container *ngTemplateOutlet=\"dispTpl\"></ng-container>\n }\n @if (edit) {\n @if (form) {\n <ng-container\n *ngTemplateOutlet=\"editTpl; context: { form: form }\"\n ></ng-container>\n }\n }\n</ng-template>\n<!-- Dd display-->\n@if (mode === \"dd\") {\n @if (!hideLabel) {\n <dt [class.required]=\"required\">\n <span class=\"editable\" (click)=\"toggleEdit()\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container\n ></span>\n @if (realDefault !== undefined && edit) {\n <span class=\"pointer float-end\" (click)=\"setDefault()\"\n ><i class=\"bi bi-trash ms-2\"></i\n ></span>\n }\n </dt>\n }\n <dd [class.mb-0]=\"hideLabel\">\n <ng-container *ngTemplateOutlet=\"dispeditTpl\"></ng-container>\n </dd>\n}\n<!-- Inline display-->\n@if (mode === \"inline\") {\n @if (!hideLabel) {\n @if (realDefault !== undefined && edit) {\n <span class=\"pointer float-end\" (click)=\"setDefault()\"\n ><i class=\"bi bi-trash ms-2\"></i\n ></span>\n }\n <label [class.required]=\"required\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </label>\n }\n <ng-container *ngTemplateOutlet=\"dispeditTpl\"></ng-container>\n}\n<!-- Form display-->\n@if (mode === \"form\") {\n @if (!hideLabel) {\n @if (realDefault !== undefined && edit) {\n <span class=\"pointer float-end\" (click)=\"setDefault()\"\n ><i class=\"bi bi-trash ms-2\"></i\n ></span>\n }\n <label [class.required]=\"required\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </label>\n }\n <ng-container *ngTemplateOutlet=\"dispeditFormTpl\"></ng-container>\n}\n", styles: [".editable{cursor:pointer}form.inline{display:inline-block}.required{font-weight:700}.required:after{content:\" (*)\"}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.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$2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: FkselectComponent, selector: "data-fkselect", inputs: ["model", "field", "edit", "value", "queryset", "collection", "update", "filter", "mode", "display", "search", "label", "placeholder", "inputClasses"], outputs: ["selected", "cancelled", "cleared"] }, { kind: "component", type: M2mselectComponent, selector: "data-m2mselect", inputs: ["model", "field", "edit", "values", "queryset", "collection", "filter", "mode", "display", "search", "label", "placeholder", "emptyLabel", "inputClasses"], outputs: ["added", "removed", "cancelled", "cleared", "detailsChanged", "changed"] }, { kind: "pipe", type: i1$1.DatePipe, name: "date" }] }); }
|
|
4650
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: DispeditComponent, deps: [{ token: DATA_DISPLAY_CONFIG, optional: true }, { token: DataMessageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4651
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: DispeditComponent, isStandalone: true, selector: "data-dispedit", inputs: { model: "model", field: "field", form: "form", edit: "edit", editable: "editable", mode: "mode", choices: "choices", inputClasses: "inputClasses", editor: "editor", viewer: "viewer", default: "default", placeholder: "placeholder", help: "help", hideLabel: "hideLabel", queryset: "queryset", collection: "collection", display: "display", filter: "filter" }, outputs: { changed: "changed" }, usesOnChanges: true, ngImport: i0, template: "<ng-template #titleTpl>\n <ng-content></ng-content>\n</ng-template>\n\n<!-- TEMPLATE affichage -->\n<ng-template #dispTpl>\n @switch (realDisplay) {\n @case (\"text\") {\n <span class=\"editable disp-text\" (click)=\"enableEditMode()\">{{\n txtValue\n }}</span>\n }\n @case (\"choice\") {\n <span class=\"editable disp-choice\" (click)=\"enableEditMode()\">{{\n txtValue\n }}</span>\n }\n @case (\"decimal\") {\n <span class=\"editable disp-decimal\" (click)=\"enableEditMode()\">{{\n txtValue\n }}</span>\n }\n @case (\"boolean\") {\n <span class=\"editable disp-boolean\" (click)=\"enableEditMode()\">{{\n txtValue\n }}</span>\n }\n @case (\"fkdetails\") {\n <span class=\"editable disp-fkdetails\" (click)=\"enableEditMode()\">\n <div class=\"fkitem\">{{ txtValue }}</div></span\n >\n }\n @case (\"m2mdetails\") {\n <span class=\"editable disp-m2mdetails\" (click)=\"enableEditMode()\">\n @for (v of txtValues; track v) {\n <div class=\"m2mitem\">{{ v }}</div>\n }\n </span>\n }\n @case (\"datetime\") {\n <span class=\"editable disp-datetime\" (click)=\"enableEditMode()\">\n @if (dispValue) {\n {{ txtValue | date: \"short\" }}\n }\n @if (!dispValue) {\n {{ txtValue }}\n }\n </span>\n }\n @case (\"date\") {\n <span class=\"editable disp-datetime\" (click)=\"enableEditMode()\">\n @if (dispValue) {\n {{ txtValue | date: \"shortDate\" }}\n }\n @if (!dispValue) {\n {{ txtValue }}\n }\n </span>\n }\n }\n</ng-template>\n\n<!-- TEMPLATE \u00E9dition -->\n<ng-template #editTpl let-form=\"form\">\n @switch (realEditor) {\n @case (\"input.text\") {\n <input\n type=\"text\"\n [formControl]=\"form.get(field)\"\n [ngClass]=\"inputClasses\"\n (keyup.escape)=\"unsetEdit()\"\n [placeholder]=\"realPlaceholder\"\n />\n @if (realHelp) {\n <div class=\"form-text\">\n {{ realHelp }}\n @if (required) {\n <span class=\"ms-1\">(requis)</span>\n }\n </div>\n }\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minlength']\"\n >\n Trop court : {{ $any(manager).minLength }} caract\u00E8res minimum...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxlength']\"\n >\n Trop long : {{ $any(manager).maxLength }} caract\u00E8res maximum...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['pattern']\"\n >\n Format invalide...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\"\n >\n Ce champ est requis...\n </div>\n }\n @case (\"input.email\") {\n <input\n type=\"email\"\n [formControl]=\"form.get(field)\"\n [ngClass]=\"inputClasses\"\n (keyup.escape)=\"unsetEdit()\"\n [placeholder]=\"realPlaceholder\"\n />\n @if (realHelp) {\n <div class=\"form-text\">\n {{ realHelp }}\n @if (required) {\n <span class=\"ms-1\">(requis)</span>\n }\n </div>\n }\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minlength']\"\n >\n Trop court : {{ $any(manager).minLength }} caract\u00E8res minimum...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxlength']\"\n >\n Trop long : {{ $any(manager).maxLength }} caract\u00E8res maximum...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['pattern']\"\n >\n Format invalide...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['email']\"\n >\n Format d'email invalide...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\"\n >\n Ce champ est requis...\n </div>\n }\n @case (\"input.password\") {\n <input\n type=\"password\"\n [formControl]=\"form.get(field)\"\n [ngClass]=\"inputClasses\"\n (keyup.escape)=\"unsetEdit()\"\n [placeholder]=\"realPlaceholder\"\n />\n @if (realHelp) {\n <div class=\"form-text\">\n {{ realHelp }}\n @if (required) {\n <span class=\"ms-1\">(requis)</span>\n }\n </div>\n }\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minlength']\"\n >\n Trop court : {{ $any(manager).minLength }} caract\u00E8res minimum...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxlength']\"\n >\n Trop long : {{ $any(manager).maxLength }} caract\u00E8res maximum...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['pattern']\"\n >\n Format invalide...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\"\n >\n Ce champ est requis...\n </div>\n }\n @case (\"input.datetime\") {\n <input\n type=\"datetime-local\"\n [formControl]=\"form.get(field)\"\n [ngClass]=\"inputClasses\"\n (keyup.escape)=\"unsetEdit()\"\n (keyup.enter)=\"update()\"\n />\n <div class=\"form-text\">{{ realHelp }}</div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\"\n >\n Ce champ est requis...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minDate']\"\n >\n Doit \u00EAtre post\u00E9rieur \u00E0 {{ $any(manager).min | date: \"short\" }}...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxDate']\"\n >\n Doit \u00EAtre ant\u00E9rieur \u00E0 {{ $any(manager).max | date: \"short\" }}...\n </div>\n }\n @case (\"input.date\") {\n <input\n type=\"date\"\n [formControl]=\"form.get(field)\"\n [ngClass]=\"inputClasses\"\n (keyup.escape)=\"unsetEdit()\"\n (keyup.enter)=\"update()\"\n />\n <div class=\"form-text\">{{ realHelp }}</div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\"\n >\n Ce champ est requis...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minDate']\"\n >\n Doit \u00EAtre post\u00E9rieur \u00E0 {{ $any(manager).min | date: \"short\" }}...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxDate']\"\n >\n Doit \u00EAtre ant\u00E9rieur \u00E0 {{ $any(manager).max | date: \"short\" }}...\n </div>\n }\n @case (\"input.number\") {\n <input\n type=\"number\"\n [formControl]=\"form.get(field)\"\n [ngClass]=\"inputClasses\"\n (keyup.escape)=\"unsetEdit()\"\n [placeholder]=\"realPlaceholder\"\n />\n @if (realHelp) {\n <div class=\"form-text\">\n {{ realHelp }}\n @if (required) {\n <span class=\"ms-1\">(requis)</span>\n }\n </div>\n }\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['min']\"\n >\n Trop petit : minimum {{ $any(manager).min }}...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['max']\"\n >\n Trop grand : maximum {{ $any(manager).max }}...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\"\n >\n Ce champ est requis...\n </div>\n }\n @case (\"input.decimal\") {\n <input\n type=\"number\"\n [formControl]=\"form.get(field)\"\n [ngClass]=\"inputClasses\"\n (keyup.escape)=\"unsetEdit()\"\n [placeholder]=\"realPlaceholder\"\n />\n @if (realHelp) {\n <div class=\"form-text\">\n {{ realHelp }}\n @if (required) {\n <span class=\"ms-1\">(requis)</span>\n }\n </div>\n }\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['min']\"\n >\n Trop petit : minimum {{ $any(manager).min }}...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['max']\"\n >\n Trop grand : maximum {{ $any(manager).max }}...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\"\n >\n Ce champ est requis...\n </div>\n }\n @case (\"input.checkbox\") {\n @let v = $any(this.model)[this.field];\n <div class=\"btn-group btn-group-sm\" role=\"group\">\n <button\n type=\"button\"\n [class]=\"v===true ? 'btn btn-primary' : 'btn btn-outline-primary'\"\n (click)=\"form.get(field)?.setValue(true); update()\"\n (keyup.escape)=\"unsetEdit()\"\n >\n Oui\n </button>\n <button\n type=\"button\"\n [class]=\"v===false ? 'btn btn-primary' : 'btn btn-outline-primary'\"\n (click)=\"form.get(field)?.setValue(false); update()\"\n (keyup.escape)=\"unsetEdit()\"\n >\n Non\n </button>\n </div>\n <div class=\"form-text\">{{ realHelp }}</div>\n }\n @case (\"textarea\") {\n <textarea\n [formControl]=\"form.get(field)\"\n (keyup.escape)=\"unsetEdit()\"\n [ngClass]=\"inputClasses\"\n (keyup.control.enter)=\"update()\"\n [placeholder]=\"realPlaceholder\"\n ></textarea>\n @if (mode === \"dd\") {\n <button\n class=\"btn btn-sm btn-link w-100 dispedit-text-update-button\"\n (click)=\"update()\"\n >\n <i class=\"bi bi-save\"></i>\n </button>\n }\n @if (realHelp) {\n <div class=\"form-text\">\n {{ realHelp }}\n @if (required) {\n <span class=\"ms-1\">(requis)</span>\n }\n </div>\n }\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['minlength']\"\n >\n Trop court : {{ $any(manager).minLength }} caract\u00E8res minimum...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['maxlength']\"\n >\n Trop long : {{ $any(manager).maxLength }} caract\u00E8res maximum...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['pattern']\"\n >\n Format invalide...\n </div>\n <div\n class=\"invalid-feedback mt-0\"\n [class.d-block]=\"form && !form.controls[field].pristine && form.controls[field].errors?.['required']\"\n >\n Ce champ est requis...\n </div>\n }\n @case (\"fkselect\") {\n <data-fkselect\n [collection]=\"collection\"\n [filter]=\"filter\"\n [display]=\"display\"\n (selected)=\"selectedRefItem($event)\"\n [placeholder]=\"placeholder\"\n (cancelled)=\"unsetEdit()\"\n (cleared)=\"selectedRefItem(null)\"\n ></data-fkselect>\n }\n @case (\"m2mselect\") {\n <data-m2mselect\n [collection]=\"collection\"\n [filter]=\"filter\"\n (changed)=\"update()\"\n [formControl]=\"form.get(field)\"\n (detailsChanged)=\"onM2MValuesChanges($event)\"\n [model]=\"model\"\n [field]=\"field\"\n [placeholder]=\"placeholder\"\n ></data-m2mselect>\n }\n @case (\"select\") {\n <select\n [formControl]=\"form.get(field)\"\n (keyup.escape)=\"unsetEdit()\"\n (change)=\"update()\"\n [ngClass]=\"inputClasses\"\n >\n @for (c of realChoices; track c) {\n <option [ngValue]=\"c.value !== undefined ? c.value : c\">\n {{ c.desc ? c.desc : c }}\n </option>\n }\n </select>\n <div class=\"form-text\">{{ realHelp }}</div>\n }\n }\n</ng-template>\n<!-- Disp/edit toggler-->\n<ng-template #dispeditTpl>\n @if (!edit) {\n <ng-container *ngTemplateOutlet=\"dispTpl\"></ng-container>\n }\n @if (edit) {\n @if (fg) {\n <form [formGroup]=\"fg\" (submit)=\"update()\">\n <ng-container\n *ngTemplateOutlet=\"editTpl; context: { form: fg }\"\n ></ng-container>\n </form>\n }\n }\n</ng-template>\n<!-- DispEdit noform-->\n<ng-template #dispeditFormTpl>\n @if (!edit) {\n <ng-container *ngTemplateOutlet=\"dispTpl\"></ng-container>\n }\n @if (edit) {\n @if (form) {\n <ng-container\n *ngTemplateOutlet=\"editTpl; context: { form: form }\"\n ></ng-container>\n }\n }\n</ng-template>\n<!-- Dd display-->\n@if (mode === \"dd\") {\n @if (!hideLabel) {\n <dt [class.required]=\"required\">\n <span class=\"editable\" (click)=\"toggleEdit()\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container\n ></span>\n @if (realDefault !== undefined && edit) {\n <span class=\"pointer float-end\" (click)=\"setDefault()\"\n ><i class=\"bi bi-trash ms-2\"></i\n ></span>\n }\n </dt>\n }\n <dd [class.mb-0]=\"hideLabel\">\n <ng-container *ngTemplateOutlet=\"dispeditTpl\"></ng-container>\n </dd>\n}\n<!-- Inline display-->\n@if (mode === \"inline\") {\n @if (!hideLabel) {\n @if (realDefault !== undefined && edit) {\n <span class=\"pointer float-end\" (click)=\"setDefault()\"\n ><i class=\"bi bi-trash ms-2\"></i\n ></span>\n }\n <label [class.required]=\"required\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </label>\n }\n <ng-container *ngTemplateOutlet=\"dispeditTpl\"></ng-container>\n}\n<!-- Form display-->\n@if (mode === \"form\") {\n @if (!hideLabel) {\n @if (realDefault !== undefined && edit) {\n <span class=\"pointer float-end\" (click)=\"setDefault()\"\n ><i class=\"bi bi-trash ms-2\"></i\n ></span>\n }\n <label [class.required]=\"required\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </label>\n }\n <ng-container *ngTemplateOutlet=\"dispeditFormTpl\"></ng-container>\n}\n", styles: [".editable{cursor:pointer}form.inline{display:inline-block}.required{font-weight:700}.required:after{content:\" (*)\"}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NumberValueAccessor, selector: "input[type=number]:not([ngNoCva])[formControlName],input[type=number]:not([ngNoCva])[formControl],input[type=number]:not([ngNoCva])[ngModel]" }, { kind: "directive", type: i2$2.SelectControlValueAccessor, selector: "select:not([multiple]):not([ngNoCva])[formControlName],select:not([multiple]):not([ngNoCva])[formControl],select:not([multiple]):not([ngNoCva])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: FkselectComponent, selector: "data-fkselect", inputs: ["model", "field", "edit", "value", "queryset", "collection", "update", "filter", "mode", "display", "search", "label", "placeholder", "inputClasses"], outputs: ["selected", "cancelled", "cleared"] }, { kind: "component", type: M2mselectComponent, selector: "data-m2mselect", inputs: ["model", "field", "edit", "values", "queryset", "collection", "filter", "mode", "display", "search", "label", "placeholder", "emptyLabel", "inputClasses"], outputs: ["added", "removed", "cancelled", "cleared", "detailsChanged", "changed"] }, { kind: "pipe", type: i1$1.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
4646
4652
|
}
|
|
4647
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
4653
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: DispeditComponent, decorators: [{
|
|
4648
4654
|
type: Component,
|
|
4649
|
-
args: [{ selector: 'data-dispedit', imports: [
|
|
4655
|
+
args: [{ selector: 'data-dispedit', changeDetection: ChangeDetectionStrategy.Eager, imports: [
|
|
4650
4656
|
CommonModule,
|
|
4651
4657
|
ReactiveFormsModule,
|
|
4652
4658
|
FkselectComponent,
|
|
@@ -4799,12 +4805,12 @@ class FlagsComponent {
|
|
|
4799
4805
|
this.edit = false;
|
|
4800
4806
|
}
|
|
4801
4807
|
}
|
|
4802
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4803
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
4808
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: FlagsComponent, deps: [{ token: DataMessageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4809
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: FlagsComponent, isStandalone: true, selector: "data-flags", inputs: { model: "model", field: "field", get_flags_endpoint: "get_flags_endpoint", edit: "edit", editable: "editable", flags: "flags", free: "free", create: "create", action: "action" }, ngImport: i0, template: "\n<dt (click)=\"toggleEdit()\" role=\"button\">\n <ng-content></ng-content>\n</dt>\n@if (!edit) {\n <dd (click)=\"toggleEdit()\" role=\"button\">@for (flag of curflags; track flag) {\n <span class=\"badge bg-info me-1\">{{flag}}</span>\n }</dd>\n}\n@if (edit) {\n <dd>\n <div class=\"row\">\n @if (!free) {\n <div class=\"col\">\n <select class=\"form-select form-select-sm\" [formControl]=\"fs\">\n @for (flag of flaglist; track flag) {\n <option [value]=\"flag.flag\">{{flag.flag}}@if (flag.count) {\n <span class=\"ms-1\">({{flag.count}})</span>\n }</option>\n }\n </select>\n </div>\n @if (create) {\n <div class=\"col\">\n <input class=\"form-control form-control-sm\" placeholder=\"Nouveau flag\" [formControl]=\"ft\" (keyup.enter)=\"addFreeFlag()\">\n </div>\n }\n }\n @if (free) {\n <div class=\"col-12\">\n <input class=\"form-control form-select-sm\" placeholder=\"Nouveau flag\" [formControl]=\"ft\" (keyup.enter)=\"addFreeFlag()\" (keyup.escape)=\"toggleEdit()\">\n </div>\n }\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12\">@for (flag of curflags; track flag) {\n <span class=\"badge bg-info me-1\" (click)=\"removeFlag(flag)\" role=\"button\"><i class=\"bi bi-trash me-1\"></i>{{flag}}</span>\n }<i class=\"bi bi-x-lg text-muted ms-2\" role=\"button\" (click)=\"toggleEdit()\"></i></div>\n </div>\n </dd>\n }", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.SelectControlValueAccessor, selector: "select:not([multiple]):not([ngNoCva])[formControlName],select:not([multiple]):not([ngNoCva])[formControl],select:not([multiple]):not([ngNoCva])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
4804
4810
|
}
|
|
4805
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
4811
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: FlagsComponent, decorators: [{
|
|
4806
4812
|
type: Component,
|
|
4807
|
-
args: [{ selector: 'data-flags', imports: [ReactiveFormsModule], template: "\n<dt (click)=\"toggleEdit()\" role=\"button\">\n <ng-content></ng-content>\n</dt>\n@if (!edit) {\n <dd (click)=\"toggleEdit()\" role=\"button\">@for (flag of curflags; track flag) {\n <span class=\"badge bg-info me-1\">{{flag}}</span>\n }</dd>\n}\n@if (edit) {\n <dd>\n <div class=\"row\">\n @if (!free) {\n <div class=\"col\">\n <select class=\"form-select form-select-sm\" [formControl]=\"fs\">\n @for (flag of flaglist; track flag) {\n <option [value]=\"flag.flag\">{{flag.flag}}@if (flag.count) {\n <span class=\"ms-1\">({{flag.count}})</span>\n }</option>\n }\n </select>\n </div>\n @if (create) {\n <div class=\"col\">\n <input class=\"form-control form-control-sm\" placeholder=\"Nouveau flag\" [formControl]=\"ft\" (keyup.enter)=\"addFreeFlag()\">\n </div>\n }\n }\n @if (free) {\n <div class=\"col-12\">\n <input class=\"form-control form-select-sm\" placeholder=\"Nouveau flag\" [formControl]=\"ft\" (keyup.enter)=\"addFreeFlag()\" (keyup.escape)=\"toggleEdit()\">\n </div>\n }\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12\">@for (flag of curflags; track flag) {\n <span class=\"badge bg-info me-1\" (click)=\"removeFlag(flag)\" role=\"button\"><i class=\"bi bi-trash me-1\"></i>{{flag}}</span>\n }<i class=\"bi bi-x-lg text-muted ms-2\" role=\"button\" (click)=\"toggleEdit()\"></i></div>\n </div>\n </dd>\n }" }]
|
|
4813
|
+
args: [{ selector: 'data-flags', imports: [ReactiveFormsModule], changeDetection: ChangeDetectionStrategy.Eager, template: "\n<dt (click)=\"toggleEdit()\" role=\"button\">\n <ng-content></ng-content>\n</dt>\n@if (!edit) {\n <dd (click)=\"toggleEdit()\" role=\"button\">@for (flag of curflags; track flag) {\n <span class=\"badge bg-info me-1\">{{flag}}</span>\n }</dd>\n}\n@if (edit) {\n <dd>\n <div class=\"row\">\n @if (!free) {\n <div class=\"col\">\n <select class=\"form-select form-select-sm\" [formControl]=\"fs\">\n @for (flag of flaglist; track flag) {\n <option [value]=\"flag.flag\">{{flag.flag}}@if (flag.count) {\n <span class=\"ms-1\">({{flag.count}})</span>\n }</option>\n }\n </select>\n </div>\n @if (create) {\n <div class=\"col\">\n <input class=\"form-control form-control-sm\" placeholder=\"Nouveau flag\" [formControl]=\"ft\" (keyup.enter)=\"addFreeFlag()\">\n </div>\n }\n }\n @if (free) {\n <div class=\"col-12\">\n <input class=\"form-control form-select-sm\" placeholder=\"Nouveau flag\" [formControl]=\"ft\" (keyup.enter)=\"addFreeFlag()\" (keyup.escape)=\"toggleEdit()\">\n </div>\n }\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12\">@for (flag of curflags; track flag) {\n <span class=\"badge bg-info me-1\" (click)=\"removeFlag(flag)\" role=\"button\"><i class=\"bi bi-trash me-1\"></i>{{flag}}</span>\n }<i class=\"bi bi-x-lg text-muted ms-2\" role=\"button\" (click)=\"toggleEdit()\"></i></div>\n </div>\n </dd>\n }" }]
|
|
4808
4814
|
}], ctorParameters: () => [{ type: DataMessageService }], propDecorators: { model: [{
|
|
4809
4815
|
type: Input
|
|
4810
4816
|
}], field: [{
|
|
@@ -4827,20 +4833,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
4827
4833
|
|
|
4828
4834
|
const RichEditToolbars = {
|
|
4829
4835
|
default: [
|
|
4830
|
-
[
|
|
4831
|
-
[
|
|
4832
|
-
[
|
|
4833
|
-
[
|
|
4834
|
-
[{ heading: [
|
|
4835
|
-
[
|
|
4836
|
-
[
|
|
4837
|
-
[
|
|
4836
|
+
["bold", "italic"],
|
|
4837
|
+
["underline", "strike"],
|
|
4838
|
+
["code", "blockquote"],
|
|
4839
|
+
["ordered_list", "bullet_list"],
|
|
4840
|
+
[{ heading: ["h1", "h2", "h3", "h4", "h5", "h6"] }],
|
|
4841
|
+
["link"],
|
|
4842
|
+
["text_color", "background_color"],
|
|
4843
|
+
["align_left", "align_center", "align_right", "align_justify"],
|
|
4838
4844
|
],
|
|
4839
4845
|
light: [
|
|
4840
|
-
[
|
|
4841
|
-
[
|
|
4842
|
-
[
|
|
4843
|
-
[
|
|
4846
|
+
["bold", "italic", "underline"],
|
|
4847
|
+
["ordered_list", "bullet_list"],
|
|
4848
|
+
["text_color"],
|
|
4849
|
+
["align_left", "align_center", "align_right", "align_justify"],
|
|
4844
4850
|
],
|
|
4845
4851
|
none: [],
|
|
4846
4852
|
};
|
|
@@ -4848,32 +4854,32 @@ class RicheditComponent {
|
|
|
4848
4854
|
constructor() {
|
|
4849
4855
|
this.editable = true;
|
|
4850
4856
|
this.edit = true;
|
|
4851
|
-
this.mode =
|
|
4857
|
+
this.mode = "dd";
|
|
4852
4858
|
/** Hide label (for inline forms) */
|
|
4853
4859
|
this.hideLabel = false;
|
|
4854
4860
|
/** Hide button (for changed usage) */
|
|
4855
4861
|
this.hideButton = false;
|
|
4856
4862
|
/** Toolbar mode */
|
|
4857
|
-
this.toolbar =
|
|
4863
|
+
this.toolbar = "default";
|
|
4858
4864
|
this.changed = new EventEmitter();
|
|
4859
|
-
this.html =
|
|
4865
|
+
this.html = "";
|
|
4860
4866
|
}
|
|
4861
4867
|
ngOnInit() {
|
|
4862
4868
|
this.editor = new Editor();
|
|
4863
|
-
if (this.toolbar ===
|
|
4869
|
+
if (this.toolbar === "light" || this.toolbar === "default") {
|
|
4864
4870
|
this.realToolbar = RichEditToolbars[this.toolbar];
|
|
4865
4871
|
}
|
|
4866
|
-
else if (this.toolbar ===
|
|
4872
|
+
else if (this.toolbar === "none") {
|
|
4867
4873
|
}
|
|
4868
4874
|
else {
|
|
4869
4875
|
this.realToolbar = this.toolbar;
|
|
4870
4876
|
}
|
|
4871
4877
|
if (!this.fc) {
|
|
4872
|
-
this.fc = new FormControl(
|
|
4878
|
+
this.fc = new FormControl("");
|
|
4873
4879
|
if (this.model && this.field) {
|
|
4874
4880
|
this.manager = this.model.FM(this.field);
|
|
4875
4881
|
this.required = this.manager?.required || false;
|
|
4876
|
-
this.fc.setValue(this.model[this.field] ||
|
|
4882
|
+
this.fc.setValue(this.model[this.field] || "", {
|
|
4877
4883
|
emitEvent: false,
|
|
4878
4884
|
});
|
|
4879
4885
|
}
|
|
@@ -4909,17 +4915,17 @@ class RicheditComponent {
|
|
|
4909
4915
|
async save() {
|
|
4910
4916
|
if (this.model && this.field) {
|
|
4911
4917
|
this.model.setFV(this.field, this.fc.value);
|
|
4912
|
-
if (this.mode ===
|
|
4918
|
+
if (this.mode === "dd") {
|
|
4913
4919
|
await firstValueFrom(this.model.update([this.field], { updateModel: true }));
|
|
4914
4920
|
}
|
|
4915
4921
|
}
|
|
4916
4922
|
}
|
|
4917
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4918
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
4923
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: RicheditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4924
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: RicheditComponent, isStandalone: true, selector: "data-richedit", inputs: { model: "model", field: "field", editable: "editable", edit: "edit", mode: "mode", hideLabel: "hideLabel", hideButton: "hideButton", fc: "fc", toolbar: "toolbar" }, outputs: { changed: "changed" }, ngImport: i0, template: "\n<ng-template #editorTemplate>\n <div class=\"NgxEditor__Wrapper\">\n @if (edit && toolbar!=='none') {\n <ngx-editor-menu [editor]=\"editor\" [toolbar]=\"realToolbar\"></ngx-editor-menu>\n }\n <ngx-editor [editor]=\"editor\" [formControl]=\"fc\" [placeholder]=\"''\"></ngx-editor>\n </div>\n @if (edit && !hideButton) {\n <button class=\"btn btn-primary btn-sm w-100 mt-1\" (click)=\"save()\"><i class=\"bi bi-save me-2\"></i>Enregistrer</button>\n }\n</ng-template>\n<ng-template #titleTpl>\n <ng-content></ng-content>\n</ng-template>\n<!-- Dd display-->\n@if (mode==='dd') {\n @if (!hideLabel) {\n <dt [class.required]=\"required\"><span class=\"editable\" (click)=\"toggleEdit()\" role=\"button\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container></span></dt>\n }\n <dd [class.mb-0]=\"hideLabel\">\n <ng-container *ngTemplateOutlet=\"editorTemplate\"></ng-container>\n </dd>\n }\n <!-- Inline display-->\n @if (mode==='inline') {\n @if (!hideLabel) {\n <label [class.required]=\"required\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </label>\n }\n <ng-container *ngTemplateOutlet=\"editorTemplate\"></ng-container>\n }\n <!-- Form display-->\n @if (mode==='form') {\n @if (!hideLabel) {\n <label [class.required]=\"required\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </label>\n }\n <ng-container *ngTemplateOutlet=\"editorTemplate\"></ng-container>\n }", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: NgxEditorModule }, { kind: "component", type: i2$3.NgxEditorComponent, selector: "ngx-editor", inputs: ["editor", "outputFormat", "placeholder"], outputs: ["focusOut", "focusIn"] }, { kind: "component", type: i2$3.NgxEditorMenuComponent, selector: "ngx-editor-menu", inputs: ["toolbar", "colorPresets", "disabled", "editor", "customMenuRef", "dropdownPlacement"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
4919
4925
|
}
|
|
4920
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
4926
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: RicheditComponent, decorators: [{
|
|
4921
4927
|
type: Component,
|
|
4922
|
-
args: [{ selector:
|
|
4928
|
+
args: [{ selector: "data-richedit", imports: [CommonModule, NgxEditorModule, ReactiveFormsModule], changeDetection: ChangeDetectionStrategy.Eager, template: "\n<ng-template #editorTemplate>\n <div class=\"NgxEditor__Wrapper\">\n @if (edit && toolbar!=='none') {\n <ngx-editor-menu [editor]=\"editor\" [toolbar]=\"realToolbar\"></ngx-editor-menu>\n }\n <ngx-editor [editor]=\"editor\" [formControl]=\"fc\" [placeholder]=\"''\"></ngx-editor>\n </div>\n @if (edit && !hideButton) {\n <button class=\"btn btn-primary btn-sm w-100 mt-1\" (click)=\"save()\"><i class=\"bi bi-save me-2\"></i>Enregistrer</button>\n }\n</ng-template>\n<ng-template #titleTpl>\n <ng-content></ng-content>\n</ng-template>\n<!-- Dd display-->\n@if (mode==='dd') {\n @if (!hideLabel) {\n <dt [class.required]=\"required\"><span class=\"editable\" (click)=\"toggleEdit()\" role=\"button\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container></span></dt>\n }\n <dd [class.mb-0]=\"hideLabel\">\n <ng-container *ngTemplateOutlet=\"editorTemplate\"></ng-container>\n </dd>\n }\n <!-- Inline display-->\n @if (mode==='inline') {\n @if (!hideLabel) {\n <label [class.required]=\"required\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </label>\n }\n <ng-container *ngTemplateOutlet=\"editorTemplate\"></ng-container>\n }\n <!-- Form display-->\n @if (mode==='form') {\n @if (!hideLabel) {\n <label [class.required]=\"required\">\n <ng-container *ngTemplateOutlet=\"titleTpl\"></ng-container>\n </label>\n }\n <ng-container *ngTemplateOutlet=\"editorTemplate\"></ng-container>\n }" }]
|
|
4923
4929
|
}], propDecorators: { model: [{
|
|
4924
4930
|
type: Input
|
|
4925
4931
|
}], field: [{
|
|
@@ -5012,12 +5018,12 @@ class SafeDeleteComponent {
|
|
|
5012
5018
|
}
|
|
5013
5019
|
}
|
|
5014
5020
|
}
|
|
5015
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
5016
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
5021
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: SafeDeleteComponent, deps: [{ token: i2.NgbOffcanvas }, { token: DataMessageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5022
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: SafeDeleteComponent, isStandalone: true, selector: "data-safe-delete", inputs: { model: "model", service: "service", actionFn: "actionFn", checks: "checks", messages: "messages", display: "display" }, outputs: { deleted: "deleted" }, viewQueries: [{ propertyName: "_dialogRef", first: true, predicate: ["dialog"], descendants: true, static: true }], ngImport: i0, template: "\n<ng-template #dialog let-offcanvas>\n <div class=\"offcanvas-header\">\n <h2 class=\"offcanvas-title text-danger text-center\"><i class=\"bi bi-trash me-2\"></i>Supprimer r\u00E9ellement ??</h2>\n </div>\n @if (result) {\n <div class=\"offcanvas-body text-danger\">\n <div class=\"text-center my-4 fs-1\"><i class=\"bi bi-exclamation-diamond my-5\"></i></div>\n <div class=\"fs-4\">\n <p>La suppression de cet \u00E9l\u00E9ment supprimera {{result.count}} \u00E9l\u00E9ments dans la base de donn\u00E9es..</p>\n </div>\n <table class=\"table table-sm table-striped table-danger\">\n <thead>\n <tr>\n <th>Type d'\u00E9l\u00E9ment</th>\n <th>Nombre</th>\n </tr>\n </thead>\n <tbody>\n @for (rl of result.details; track rl) {\n <tr>\n <td>{{checks[rl[0]] ? checks[rl[0]] : rl[0]}}</td>\n <td>{{rl[1]}}</td>\n </tr>\n }\n </tbody>\n </table>\n <button class=\"w-100 btn btn-lg btn-danger\" (click)=\"reallyDelete()\"><i class=\"bi bi-trash me-2\"></i>Je confirme la suppression</button>\n <button class=\"w-100 btn btn-outline-secondary my-3\" (click)=\"offcanvas.close()\"><i class=\"bi bi-door-open me-2\"></i>Je renonce \u00E0 la suppression</button>\n </div>\n }\n</ng-template>\n<ng-template #contentTpl>\n <ng-content></ng-content>\n</ng-template>\n@if (display==='button') {\n <button class=\"btn btn-sm btn-danger\" (click)=\"checkDelete(model)\"><i class=\"bi bi-trash\"></i>\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n</button>\n}\n@if (display==='fbutton') {\n <button class=\"btn btn-sm btn-outline-danger float-end\" (click)=\"checkDelete(model)\"><i class=\"bi bi-trash mx-2\"></i></button>\n }@if (display==='icon') {\n <i class=\"bi bi-trash mx-2\" (click)=\"checkDelete(model)\" role=\"button\"></i>\n}\n@if (display==='custom') {\n <div (click)=\"checkDelete(model)\" role=\"button\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </div>\n}", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: NgbOffcanvasModule }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
5017
5023
|
}
|
|
5018
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5024
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: SafeDeleteComponent, decorators: [{
|
|
5019
5025
|
type: Component,
|
|
5020
|
-
args: [{ selector: 'data-safe-delete', imports: [CommonModule, NgbOffcanvasModule], template: "\n<ng-template #dialog let-offcanvas>\n <div class=\"offcanvas-header\">\n <h2 class=\"offcanvas-title text-danger text-center\"><i class=\"bi bi-trash me-2\"></i>Supprimer r\u00E9ellement ??</h2>\n </div>\n @if (result) {\n <div class=\"offcanvas-body text-danger\">\n <div class=\"text-center my-4 fs-1\"><i class=\"bi bi-exclamation-diamond my-5\"></i></div>\n <div class=\"fs-4\">\n <p>La suppression de cet \u00E9l\u00E9ment supprimera {{result.count}} \u00E9l\u00E9ments dans la base de donn\u00E9es..</p>\n </div>\n <table class=\"table table-sm table-striped table-danger\">\n <thead>\n <tr>\n <th>Type d'\u00E9l\u00E9ment</th>\n <th>Nombre</th>\n </tr>\n </thead>\n <tbody>\n @for (rl of result.details; track rl) {\n <tr>\n <td>{{checks[rl[0]] ? checks[rl[0]] : rl[0]}}</td>\n <td>{{rl[1]}}</td>\n </tr>\n }\n </tbody>\n </table>\n <button class=\"w-100 btn btn-lg btn-danger\" (click)=\"reallyDelete()\"><i class=\"bi bi-trash me-2\"></i>Je confirme la suppression</button>\n <button class=\"w-100 btn btn-outline-secondary my-3\" (click)=\"offcanvas.close()\"><i class=\"bi bi-door-open me-2\"></i>Je renonce \u00E0 la suppression</button>\n </div>\n }\n</ng-template>\n<ng-template #contentTpl>\n <ng-content></ng-content>\n</ng-template>\n@if (display==='button') {\n <button class=\"btn btn-sm btn-danger\" (click)=\"checkDelete(model)\"><i class=\"bi bi-trash\"></i>\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n</button>\n}\n@if (display==='fbutton') {\n <button class=\"btn btn-sm btn-outline-danger float-end\" (click)=\"checkDelete(model)\"><i class=\"bi bi-trash mx-2\"></i></button>\n }@if (display==='icon') {\n <i class=\"bi bi-trash mx-2\" (click)=\"checkDelete(model)\" role=\"button\"></i>\n}\n@if (display==='custom') {\n <div (click)=\"checkDelete(model)\" role=\"button\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </div>\n}" }]
|
|
5026
|
+
args: [{ selector: 'data-safe-delete', changeDetection: ChangeDetectionStrategy.Eager, imports: [CommonModule, NgbOffcanvasModule], template: "\n<ng-template #dialog let-offcanvas>\n <div class=\"offcanvas-header\">\n <h2 class=\"offcanvas-title text-danger text-center\"><i class=\"bi bi-trash me-2\"></i>Supprimer r\u00E9ellement ??</h2>\n </div>\n @if (result) {\n <div class=\"offcanvas-body text-danger\">\n <div class=\"text-center my-4 fs-1\"><i class=\"bi bi-exclamation-diamond my-5\"></i></div>\n <div class=\"fs-4\">\n <p>La suppression de cet \u00E9l\u00E9ment supprimera {{result.count}} \u00E9l\u00E9ments dans la base de donn\u00E9es..</p>\n </div>\n <table class=\"table table-sm table-striped table-danger\">\n <thead>\n <tr>\n <th>Type d'\u00E9l\u00E9ment</th>\n <th>Nombre</th>\n </tr>\n </thead>\n <tbody>\n @for (rl of result.details; track rl) {\n <tr>\n <td>{{checks[rl[0]] ? checks[rl[0]] : rl[0]}}</td>\n <td>{{rl[1]}}</td>\n </tr>\n }\n </tbody>\n </table>\n <button class=\"w-100 btn btn-lg btn-danger\" (click)=\"reallyDelete()\"><i class=\"bi bi-trash me-2\"></i>Je confirme la suppression</button>\n <button class=\"w-100 btn btn-outline-secondary my-3\" (click)=\"offcanvas.close()\"><i class=\"bi bi-door-open me-2\"></i>Je renonce \u00E0 la suppression</button>\n </div>\n }\n</ng-template>\n<ng-template #contentTpl>\n <ng-content></ng-content>\n</ng-template>\n@if (display==='button') {\n <button class=\"btn btn-sm btn-danger\" (click)=\"checkDelete(model)\"><i class=\"bi bi-trash\"></i>\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n</button>\n}\n@if (display==='fbutton') {\n <button class=\"btn btn-sm btn-outline-danger float-end\" (click)=\"checkDelete(model)\"><i class=\"bi bi-trash mx-2\"></i></button>\n }@if (display==='icon') {\n <i class=\"bi bi-trash mx-2\" (click)=\"checkDelete(model)\" role=\"button\"></i>\n}\n@if (display==='custom') {\n <div (click)=\"checkDelete(model)\" role=\"button\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </div>\n}" }]
|
|
5021
5027
|
}], ctorParameters: () => [{ type: i2.NgbOffcanvas }, { type: DataMessageService }], propDecorators: { model: [{
|
|
5022
5028
|
type: Input
|
|
5023
5029
|
}], service: [{
|
|
@@ -5427,8 +5433,8 @@ class MessageZoneComponent {
|
|
|
5427
5433
|
this.current = messages;
|
|
5428
5434
|
});
|
|
5429
5435
|
}
|
|
5430
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
5431
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
5436
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MessageZoneComponent, deps: [{ token: DataMessageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5437
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: MessageZoneComponent, isStandalone: true, selector: "data-message-zone", inputs: { filter: "filter" }, providers: [provideAnimations()], ngImport: i0, template: "\n<div class=\"messagezone\">\n @for (message of current; track message) {\n <div class=\"alert\" [@dispStatus]=\"message.status\" [class]=\"message.style\" (click)=\"message.showTrace=!message.showTrace\">\n <button class=\"btn-close\" type=\"button\" (click)=\"messages.ack(message)\" aria-label=\"Close\"></button><strong>{{message.title}}</strong> {{message.message}}\n @if (message.showTrace) {\n <div class=\"pretrace\">{{message.trace}}</div>\n }\n </div>\n }\n</div>", styles: [".messagezone{position:fixed;top:30px;right:40px;width:35vw;height:auto;z-index:1050}.messagezone .pretrace{white-space:pre-wrap;font-family:monospace;font-size:.7rem}\n"], animations: [
|
|
5432
5438
|
trigger('dispStatus', [
|
|
5433
5439
|
transition('void => *', [
|
|
5434
5440
|
style({ opacity: 0 }),
|
|
@@ -5439,11 +5445,11 @@ class MessageZoneComponent {
|
|
|
5439
5445
|
animate(550, style({ opacity: 0 })),
|
|
5440
5446
|
]),
|
|
5441
5447
|
]),
|
|
5442
|
-
] }); }
|
|
5448
|
+
], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
5443
5449
|
}
|
|
5444
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5450
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MessageZoneComponent, decorators: [{
|
|
5445
5451
|
type: Component,
|
|
5446
|
-
args: [{ selector: 'data-message-zone', imports: [], providers: [provideAnimations()], animations: [
|
|
5452
|
+
args: [{ selector: 'data-message-zone', imports: [], providers: [provideAnimations()], changeDetection: ChangeDetectionStrategy.Eager, animations: [
|
|
5447
5453
|
trigger('dispStatus', [
|
|
5448
5454
|
transition('void => *', [
|
|
5449
5455
|
style({ opacity: 0 }),
|
|
@@ -5906,10 +5912,10 @@ class NgFileDropDirective {
|
|
|
5906
5912
|
const event = { type: "dragOut" };
|
|
5907
5913
|
this.uploadOutput.emit(event);
|
|
5908
5914
|
}
|
|
5909
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
5910
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
5915
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NgFileDropDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5916
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.4", type: NgFileDropDirective, isStandalone: false, selector: "[dataFileDrop]", inputs: { options: "options", uploadInput: "uploadInput" }, outputs: { uploadOutput: "uploadOutput" }, host: { listeners: { "drop": "onDrop($event)", "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)" } }, ngImport: i0 }); }
|
|
5911
5917
|
}
|
|
5912
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5918
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NgFileDropDirective, decorators: [{
|
|
5913
5919
|
type: Directive,
|
|
5914
5920
|
args: [{
|
|
5915
5921
|
selector: "[dataFileDrop]",
|
|
@@ -5964,10 +5970,10 @@ class NgFileSelectDirective {
|
|
|
5964
5970
|
this._sub.forEach(sub => sub.unsubscribe());
|
|
5965
5971
|
}
|
|
5966
5972
|
}
|
|
5967
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
5968
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
5973
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NgFileSelectDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5974
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.4", type: NgFileSelectDirective, isStandalone: false, selector: "[dataFileSelect]", inputs: { options: "options", uploadInput: "uploadInput" }, outputs: { uploadOutput: "uploadOutput" }, ngImport: i0 }); }
|
|
5969
5975
|
}
|
|
5970
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5976
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NgFileSelectDirective, decorators: [{
|
|
5971
5977
|
type: Directive,
|
|
5972
5978
|
args: [{
|
|
5973
5979
|
selector: "[dataFileSelect]",
|
|
@@ -5982,11 +5988,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
5982
5988
|
}] } });
|
|
5983
5989
|
|
|
5984
5990
|
class NgxUploaderModule {
|
|
5985
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
5986
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
5987
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
5991
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NgxUploaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
5992
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.4", ngImport: i0, type: NgxUploaderModule, declarations: [NgFileDropDirective, NgFileSelectDirective], exports: [NgFileDropDirective, NgFileSelectDirective] }); }
|
|
5993
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NgxUploaderModule }); }
|
|
5988
5994
|
}
|
|
5989
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5995
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NgxUploaderModule, decorators: [{
|
|
5990
5996
|
type: NgModule,
|
|
5991
5997
|
args: [{
|
|
5992
5998
|
declarations: [NgFileDropDirective, NgFileSelectDirective],
|
|
@@ -6172,12 +6178,12 @@ class BreadcrumbComponent {
|
|
|
6172
6178
|
}
|
|
6173
6179
|
return '';
|
|
6174
6180
|
}
|
|
6175
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6176
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
6181
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: BreadcrumbComponent, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6182
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: BreadcrumbComponent, isStandalone: true, selector: "data-breadcrumb", inputs: { data: "data", icons: "icons" }, usesOnChanges: true, ngImport: i0, template: "\n<nav aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb\">\n @for (p of tree; track p) {\n @if (!p.current) {\n <li class=\"breadcrumb-item\"><a class=\"breadcrumb-item\" [routerLink]=\"p.path\">\n @if (icons && p.icon) {\n <i class=\"me-2\" [ngClass]=\"p.icon\"></i>{{p.title}}\n }\n @if (!(icons && p.icon)) {\n {{p.title}}\n }</a></li>\n }\n @if (p.current) {\n <li class=\"breadcrumb-item active\" aria-current=\"page\">\n @if (icons && p.icon) {\n <i class=\"me-1\" [ngClass]=\"p.icon\"></i>{{p.title}}\n }\n @if (!(icons && p.icon)) {\n {{p.title}}\n }\n </li>\n }\n }\n </ol>\n </nav>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "browserUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
6177
6183
|
}
|
|
6178
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
6184
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: BreadcrumbComponent, decorators: [{
|
|
6179
6185
|
type: Component,
|
|
6180
|
-
args: [{ selector: 'data-breadcrumb', imports: [CommonModule, RouterModule], template: "\n<nav aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb\">\n @for (p of tree; track p) {\n @if (!p.current) {\n <li class=\"breadcrumb-item\"><a class=\"breadcrumb-item\" [routerLink]=\"p.path\">\n @if (icons && p.icon) {\n <i class=\"me-2\" [ngClass]=\"p.icon\"></i>{{p.title}}\n }\n @if (!(icons && p.icon)) {\n {{p.title}}\n }</a></li>\n }\n @if (p.current) {\n <li class=\"breadcrumb-item active\" aria-current=\"page\">\n @if (icons && p.icon) {\n <i class=\"me-1\" [ngClass]=\"p.icon\"></i>{{p.title}}\n }\n @if (!(icons && p.icon)) {\n {{p.title}}\n }\n </li>\n }\n }\n </ol>\n </nav>" }]
|
|
6186
|
+
args: [{ selector: 'data-breadcrumb', changeDetection: ChangeDetectionStrategy.Eager, imports: [CommonModule, RouterModule], template: "\n<nav aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb\">\n @for (p of tree; track p) {\n @if (!p.current) {\n <li class=\"breadcrumb-item\"><a class=\"breadcrumb-item\" [routerLink]=\"p.path\">\n @if (icons && p.icon) {\n <i class=\"me-2\" [ngClass]=\"p.icon\"></i>{{p.title}}\n }\n @if (!(icons && p.icon)) {\n {{p.title}}\n }</a></li>\n }\n @if (p.current) {\n <li class=\"breadcrumb-item active\" aria-current=\"page\">\n @if (icons && p.icon) {\n <i class=\"me-1\" [ngClass]=\"p.icon\"></i>{{p.title}}\n }\n @if (!(icons && p.icon)) {\n {{p.title}}\n }\n </li>\n }\n }\n </ol>\n </nav>" }]
|
|
6181
6187
|
}], ctorParameters: () => [{ type: i1$2.Router }, { type: i1$2.ActivatedRoute }], propDecorators: { data: [{
|
|
6182
6188
|
type: Input
|
|
6183
6189
|
}], icons: [{
|
|
@@ -6251,10 +6257,10 @@ class TabMemoryService {
|
|
|
6251
6257
|
}
|
|
6252
6258
|
return null;
|
|
6253
6259
|
}
|
|
6254
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6255
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
6260
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TabMemoryService, deps: [{ token: i1$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6261
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TabMemoryService, providedIn: 'root' }); }
|
|
6256
6262
|
}
|
|
6257
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
6263
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TabMemoryService, decorators: [{
|
|
6258
6264
|
type: Injectable,
|
|
6259
6265
|
args: [{
|
|
6260
6266
|
providedIn: 'root',
|
|
@@ -6392,10 +6398,10 @@ class UpdateService {
|
|
|
6392
6398
|
dismiss() {
|
|
6393
6399
|
this._available$.next(false);
|
|
6394
6400
|
}
|
|
6395
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6396
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
6401
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: UpdateService, deps: [{ token: i0.ApplicationRef }, { token: i1$3.SwUpdate }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6402
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: UpdateService, providedIn: 'root' }); }
|
|
6397
6403
|
}
|
|
6398
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
6404
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: UpdateService, decorators: [{
|
|
6399
6405
|
type: Injectable,
|
|
6400
6406
|
args: [{
|
|
6401
6407
|
providedIn: 'root',
|
|
@@ -6406,12 +6412,12 @@ class UpdateComponent {
|
|
|
6406
6412
|
constructor(update) {
|
|
6407
6413
|
this.update = update;
|
|
6408
6414
|
}
|
|
6409
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6410
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
6415
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: UpdateComponent, deps: [{ token: UpdateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6416
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: UpdateComponent, isStandalone: true, selector: "data-update", ngImport: i0, template: "\n@if (update.available$|async) {\n <div class=\"snack\">\n <p>Une nouvelle version de l'application est disponible.</p>\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <button class=\"btn btn-primary btn-block w-100\" (click)=\"update.activate()\">L'ACTIVER MAINTENANT</button>\n </div>\n <div class=\"col-sm-6\">\n <button class=\"btn btn-warning btn-block w-100\" (click)=\"update.dismiss()\">Plus tard</button>\n </div>\n </div>\n </div>\n}", styles: [".snack{position:fixed;bottom:0;margin-left:auto;margin-right:auto;left:auto;right:auto;background-color:#ff7a00cc;padding:20px;z-index:2000;border-top:1px solid rgb(255,122,0);font-size:1.5rem;font-weight:700;color:#8b0000;width:100%;text-align:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
6411
6417
|
}
|
|
6412
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
6418
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: UpdateComponent, decorators: [{
|
|
6413
6419
|
type: Component,
|
|
6414
|
-
args: [{ selector: 'data-update', imports: [CommonModule], template: "\n@if (update.available$|async) {\n <div class=\"snack\">\n <p>Une nouvelle version de l'application est disponible.</p>\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <button class=\"btn btn-primary btn-block w-100\" (click)=\"update.activate()\">L'ACTIVER MAINTENANT</button>\n </div>\n <div class=\"col-sm-6\">\n <button class=\"btn btn-warning btn-block w-100\" (click)=\"update.dismiss()\">Plus tard</button>\n </div>\n </div>\n </div>\n}", styles: [".snack{position:fixed;bottom:0;margin-left:auto;margin-right:auto;left:auto;right:auto;background-color:#ff7a00cc;padding:20px;z-index:2000;border-top:1px solid rgb(255,122,0);font-size:1.5rem;font-weight:700;color:#8b0000;width:100%;text-align:center}\n"] }]
|
|
6420
|
+
args: [{ selector: 'data-update', changeDetection: ChangeDetectionStrategy.Eager, imports: [CommonModule], template: "\n@if (update.available$|async) {\n <div class=\"snack\">\n <p>Une nouvelle version de l'application est disponible.</p>\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <button class=\"btn btn-primary btn-block w-100\" (click)=\"update.activate()\">L'ACTIVER MAINTENANT</button>\n </div>\n <div class=\"col-sm-6\">\n <button class=\"btn btn-warning btn-block w-100\" (click)=\"update.dismiss()\">Plus tard</button>\n </div>\n </div>\n </div>\n}", styles: [".snack{position:fixed;bottom:0;margin-left:auto;margin-right:auto;left:auto;right:auto;background-color:#ff7a00cc;padding:20px;z-index:2000;border-top:1px solid rgb(255,122,0);font-size:1.5rem;font-weight:700;color:#8b0000;width:100%;text-align:center}\n"] }]
|
|
6415
6421
|
}], ctorParameters: () => [{ type: UpdateService }] });
|
|
6416
6422
|
|
|
6417
6423
|
/*
|