@solidev/data 0.0.1-alpha.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/README.md +7 -0
- package/esm2020/lib/auth/auth-interceptor.service.mjs +90 -0
- package/esm2020/lib/auth/auth.service.mjs +125 -0
- package/esm2020/lib/auth/jwt.mjs +21 -0
- package/esm2020/lib/data/data-backend.mjs +106 -0
- package/esm2020/lib/data/data-collection.mjs +109 -0
- package/esm2020/lib/data/data-collection.mock.mjs +39 -0
- package/esm2020/lib/data/data-model.mjs +287 -0
- package/esm2020/lib/data/data-parameters.mjs +34 -0
- package/esm2020/lib/data/data-query.mjs +147 -0
- package/esm2020/lib/data/data-query.mock.mjs +46 -0
- package/esm2020/lib/data/fields/base.mjs +142 -0
- package/esm2020/lib/data/fields/boolean.mjs +38 -0
- package/esm2020/lib/data/fields/datetime.mjs +124 -0
- package/esm2020/lib/data/fields/index.mjs +7 -0
- package/esm2020/lib/data/fields/numbers.mjs +38 -0
- package/esm2020/lib/data/fields/primaryfield.mjs +9 -0
- package/esm2020/lib/data/fields/relations.mjs +53 -0
- package/esm2020/lib/data/fields/stringfields.mjs +71 -0
- package/esm2020/lib/dispedit/choice.pipe.mjs +39 -0
- package/esm2020/lib/dispedit/dispedit/dispedit.component.mjs +475 -0
- package/esm2020/lib/dispedit/dispedit/dispedit.constants.mjs +2 -0
- package/esm2020/lib/dispedit/factor.pipe.mjs +48 -0
- package/esm2020/lib/dispedit/factorc.pipe.mjs +50 -0
- package/esm2020/lib/dispedit/fkselect/fkselect.component.mjs +142 -0
- package/esm2020/lib/dispedit/flags/flags.component.mjs +140 -0
- package/esm2020/lib/dispedit/m2mselect/m2mselect.component.mjs +318 -0
- package/esm2020/lib/dispedit/richedit/richedit.component.mjs +94 -0
- package/esm2020/lib/dispedit/sdelete/sdelete.component.mjs +46 -0
- package/esm2020/lib/messages/message-zone/message-zone.component.mjs +57 -0
- package/esm2020/lib/messages/message.service.mjs +151 -0
- package/esm2020/lib/modellist/model-list-fields/model-list-field-header/model-list-field-header.component.mjs +34 -0
- package/esm2020/lib/modellist/model-list-fields/model-list-fields-selector/model-list-fields-selector.component.mjs +63 -0
- package/esm2020/lib/modellist/model-list-fields/model-list-fields.mjs +225 -0
- package/esm2020/lib/modellist/model-list-filters/filters/filtertypes.mjs +3 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.component.mjs +108 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.mjs +28 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.component.mjs +24 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.mjs +9 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-date-filter/model-list-date-filter.component.mjs +40 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-date-filter/model-list-date-filter.mjs +14 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.component.mjs +40 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.mjs +14 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetime-range-filter.component.mjs +21 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetimerange-filter.mjs +14 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.component.mjs +21 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.mjs +14 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/adapters/ban.mjs +24 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.component.mjs +63 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.mjs +16 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.component.mjs +46 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.mjs +49 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.component.mjs +57 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.mjs +35 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.component.mjs +49 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.mjs +15 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.component.mjs +40 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.mjs +14 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.component.mjs +21 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.mjs +14 -0
- package/esm2020/lib/modellist/model-list-filters/model-list-filter.mjs +145 -0
- package/esm2020/lib/modellist/model-list-filters/model-list-filters/model-list-filters.component.mjs +50 -0
- package/esm2020/lib/modellist/model-list-filters/model-list-filters-select/model-list-filters-select.component.mjs +30 -0
- package/esm2020/lib/modellist/model-list-filters/model-list-filters.mjs +80 -0
- package/esm2020/lib/modellist/model-list-paginator/model-list-paginator/model-list-paginator.component.mjs +70 -0
- package/esm2020/lib/modellist/model-list-paginator/model-list-paginator.mjs +47 -0
- package/esm2020/lib/modellist/model-list-sorter/model-list-sorter/model-list-sorter.component.mjs +49 -0
- package/esm2020/lib/modellist/model-list-sorter/model-list-sorter.mjs +116 -0
- package/esm2020/lib/modellist/model-list.service.mjs +135 -0
- package/esm2020/lib/routing/breadcrumb/breadcrumb.component.mjs +142 -0
- package/esm2020/lib/routing/routing.mjs +57 -0
- package/esm2020/lib/uploader/index.mjs +6 -0
- package/esm2020/lib/uploader/interfaces.mjs +8 -0
- package/esm2020/lib/uploader/ng-file-drop.directive.mjs +81 -0
- package/esm2020/lib/uploader/ng-file-select.directive.mjs +51 -0
- package/esm2020/lib/uploader/ngx-uploader.class.mjs +308 -0
- package/esm2020/lib/uploader/ngx-uploader.module.mjs +17 -0
- package/esm2020/lib/utils/slugify.mjs +16 -0
- package/esm2020/lib/utils/tab-memory.service.mjs +71 -0
- package/esm2020/public-api.mjs +51 -0
- package/esm2020/solidev-data.mjs +5 -0
- package/fesm2015/solidev-data.mjs +5411 -0
- package/fesm2015/solidev-data.mjs.map +1 -0
- package/fesm2020/solidev-data.mjs +5358 -0
- package/fesm2020/solidev-data.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/auth/auth-interceptor.service.d.ts +17 -0
- package/lib/auth/auth.service.d.ts +43 -0
- package/lib/auth/jwt.d.ts +22 -0
- package/lib/data/data-backend.d.ts +47 -0
- package/lib/data/data-collection.d.ts +87 -0
- package/lib/data/data-collection.mock.d.ts +19 -0
- package/lib/data/data-model.d.ts +93 -0
- package/lib/data/data-parameters.d.ts +26 -0
- package/lib/data/data-query.d.ts +101 -0
- package/lib/data/data-query.mock.d.ts +25 -0
- package/lib/data/fields/base.d.ts +116 -0
- package/lib/data/fields/boolean.d.ts +9 -0
- package/lib/data/fields/datetime.d.ts +39 -0
- package/lib/data/fields/index.d.ts +6 -0
- package/lib/data/fields/numbers.d.ts +35 -0
- package/lib/data/fields/primaryfield.d.ts +8 -0
- package/lib/data/fields/relations.d.ts +45 -0
- package/lib/data/fields/stringfields.d.ts +50 -0
- package/lib/dispedit/choice.pipe.d.ts +8 -0
- package/lib/dispedit/dispedit/dispedit.component.d.ts +182 -0
- package/lib/dispedit/dispedit/dispedit.constants.d.ts +6 -0
- package/lib/dispedit/factor.pipe.d.ts +12 -0
- package/lib/dispedit/factorc.pipe.d.ts +11 -0
- package/lib/dispedit/fkselect/fkselect.component.d.ts +43 -0
- package/lib/dispedit/flags/flags.component.d.ts +40 -0
- package/lib/dispedit/m2mselect/m2mselect.component.d.ts +120 -0
- package/lib/dispedit/richedit/richedit.component.d.ts +31 -0
- package/lib/dispedit/sdelete/sdelete.component.d.ts +27 -0
- package/lib/messages/message-zone/message-zone.component.d.ts +14 -0
- package/lib/messages/message.service.d.ts +59 -0
- package/lib/modellist/model-list-fields/model-list-field-header/model-list-field-header.component.d.ts +15 -0
- package/lib/modellist/model-list-fields/model-list-fields-selector/model-list-fields-selector.component.d.ts +19 -0
- package/lib/modellist/model-list-fields/model-list-fields.d.ts +67 -0
- package/lib/modellist/model-list-filters/filters/filtertypes.d.ts +1 -0
- package/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.component.d.ts +30 -0
- package/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.d.ts +22 -0
- package/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.component.d.ts +10 -0
- package/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.d.ts +8 -0
- package/lib/modellist/model-list-filters/filters/model-list-date-filter/model-list-date-filter.component.d.ts +15 -0
- package/lib/modellist/model-list-filters/filters/model-list-date-filter/model-list-date-filter.d.ts +4 -0
- package/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.component.d.ts +15 -0
- package/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.d.ts +4 -0
- package/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetime-range-filter.component.d.ts +11 -0
- package/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetimerange-filter.d.ts +4 -0
- package/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.component.d.ts +11 -0
- package/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.d.ts +4 -0
- package/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/adapters/ban.d.ts +35 -0
- package/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.component.d.ts +25 -0
- package/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.d.ts +18 -0
- package/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.component.d.ts +17 -0
- package/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.d.ts +19 -0
- package/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.component.d.ts +17 -0
- package/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.d.ts +16 -0
- package/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.component.d.ts +17 -0
- package/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.d.ts +6 -0
- package/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.component.d.ts +16 -0
- package/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.d.ts +4 -0
- package/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.component.d.ts +11 -0
- package/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.d.ts +4 -0
- package/lib/modellist/model-list-filters/model-list-filter.d.ts +52 -0
- package/lib/modellist/model-list-filters/model-list-filters/model-list-filters.component.d.ts +9 -0
- package/lib/modellist/model-list-filters/model-list-filters-select/model-list-filters-select.component.d.ts +13 -0
- package/lib/modellist/model-list-filters/model-list-filters.d.ts +15 -0
- package/lib/modellist/model-list-paginator/model-list-paginator/model-list-paginator.component.d.ts +23 -0
- package/lib/modellist/model-list-paginator/model-list-paginator.d.ts +16 -0
- package/lib/modellist/model-list-sorter/model-list-sorter/model-list-sorter.component.d.ts +22 -0
- package/lib/modellist/model-list-sorter/model-list-sorter.d.ts +61 -0
- package/lib/modellist/model-list.service.d.ts +83 -0
- package/lib/routing/breadcrumb/breadcrumb.component.d.ts +42 -0
- package/lib/routing/routing.d.ts +64 -0
- package/lib/uploader/index.d.ts +5 -0
- package/lib/uploader/interfaces.d.ts +67 -0
- package/lib/uploader/ng-file-drop.directive.d.ts +22 -0
- package/lib/uploader/ng-file-select.directive.d.ts +19 -0
- package/lib/uploader/ngx-uploader.class.d.ts +35 -0
- package/lib/uploader/ngx-uploader.module.d.ts +8 -0
- package/lib/utils/slugify.d.ts +1 -0
- package/lib/utils/tab-memory.service.d.ts +29 -0
- package/package.json +35 -0
- package/public-api.d.ts +47 -0
- package/src/lib/data/README.md +35 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { debounceTime, distinctUntilChanged, Subject, takeUntil, } from 'rxjs';
|
|
3
|
+
import { ReactiveFormsModule, UntypedFormControl } from '@angular/forms';
|
|
4
|
+
import { switchMap } from 'rxjs/operators';
|
|
5
|
+
import { CommonModule } from '@angular/common';
|
|
6
|
+
import { NgbTypeaheadModule } from '@ng-bootstrap/ng-bootstrap';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/common";
|
|
9
|
+
import * as i2 from "@ng-bootstrap/ng-bootstrap";
|
|
10
|
+
import * as i3 from "@angular/forms";
|
|
11
|
+
export class ModelListAutocompleteFilterComponent {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.classes = '';
|
|
14
|
+
this.fc = new UntypedFormControl();
|
|
15
|
+
this.search = this._search.bind(this);
|
|
16
|
+
this.display = this._display.bind(this);
|
|
17
|
+
this._subscription = new Subject();
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
this._setDisplay();
|
|
21
|
+
this.fc.valueChanges.pipe(debounceTime(250)).subscribe((val) => {
|
|
22
|
+
if (val) {
|
|
23
|
+
console.log('value changed', val, this._display(val));
|
|
24
|
+
if (this.filter.set(val.id, this._display(val))) {
|
|
25
|
+
this.list.filters.update();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
disable() {
|
|
31
|
+
this.filter.enabled = false;
|
|
32
|
+
this.list.filters.update();
|
|
33
|
+
}
|
|
34
|
+
ngOnDestroy() {
|
|
35
|
+
this._subscription.next();
|
|
36
|
+
this._subscription.complete();
|
|
37
|
+
}
|
|
38
|
+
scrollAction($event) {
|
|
39
|
+
if (!this.filter.scroll) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const elem = $event.currentTarget.nextElementSibling.getElementsByClassName('active')[0];
|
|
43
|
+
elem.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
|
|
44
|
+
}
|
|
45
|
+
_setDisplay() {
|
|
46
|
+
if (this.filter.display) {
|
|
47
|
+
if (this.filter.display && typeof this.filter.display === 'string') {
|
|
48
|
+
this._tpl = (model) => `${model[this.filter.display]}`;
|
|
49
|
+
}
|
|
50
|
+
else if (this.filter.display &&
|
|
51
|
+
typeof this.filter.display === 'function') {
|
|
52
|
+
this._tpl = this.filter.display.bind(this);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
this._tpl = (model) => {
|
|
57
|
+
if (model._display) {
|
|
58
|
+
return model._display;
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
return `${model['name'] ||
|
|
62
|
+
model['title'] ||
|
|
63
|
+
model['id']}`;
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Display function. Uses descfield or desc tpl (lodash template using model fields).
|
|
70
|
+
*/
|
|
71
|
+
_display(x) {
|
|
72
|
+
if (x) {
|
|
73
|
+
return this._tpl(x);
|
|
74
|
+
}
|
|
75
|
+
return '';
|
|
76
|
+
}
|
|
77
|
+
_search(text$) {
|
|
78
|
+
return text$.pipe(debounceTime(750), distinctUntilChanged(), switchMap((term) => {
|
|
79
|
+
const f = {};
|
|
80
|
+
// Generate filter
|
|
81
|
+
for (const k of Object.keys(this.filter.filter)) {
|
|
82
|
+
if (this.filter.filter[k] !== null ||
|
|
83
|
+
this.filter.filter[k] !== undefined) {
|
|
84
|
+
f[k] = this.filter.filter[k];
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Add search param
|
|
88
|
+
f[this.filter.searchparam] = term;
|
|
89
|
+
// Update queryset filter
|
|
90
|
+
this.filter.queryset?.filter(f);
|
|
91
|
+
// Launch queryset
|
|
92
|
+
return this.filter.queryset.get();
|
|
93
|
+
}), takeUntil(this._subscription));
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
ModelListAutocompleteFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ModelListAutocompleteFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
97
|
+
ModelListAutocompleteFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", 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.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", "showHint", "placement", "popperOptions", "popupClass"], outputs: ["selectItem"], exportAs: ["ngbTypeahead"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ModelListAutocompleteFilterComponent, decorators: [{
|
|
99
|
+
type: Component,
|
|
100
|
+
args: [{ selector: 'data-model-list-autocomplete-filter', standalone: true, 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>" }]
|
|
101
|
+
}], ctorParameters: function () { return []; }, propDecorators: { list: [{
|
|
102
|
+
type: Input
|
|
103
|
+
}], filter: [{
|
|
104
|
+
type: Input
|
|
105
|
+
}], classes: [{
|
|
106
|
+
type: Input
|
|
107
|
+
}] } });
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1hdXRvY29tcGxldGUtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9tb2RlbGxpc3QvbW9kZWwtbGlzdC1maWx0ZXJzL2ZpbHRlcnMvbW9kZWwtbGlzdC1hdXRvY29tcGxldGUtZmlsdGVyL21vZGVsLWxpc3QtYXV0b2NvbXBsZXRlLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmlsdGVycy9maWx0ZXJzL21vZGVsLWxpc3QtYXV0b2NvbXBsZXRlLWZpbHRlci9tb2RlbC1saXN0LWF1dG9jb21wbGV0ZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBS3BFLE9BQU8sRUFDTCxZQUFZLEVBQ1osb0JBQW9CLEVBRXBCLE9BQU8sRUFDUCxTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7OztBQVNoRSxNQUFNLE9BQU8sb0NBQW9DO0lBWS9DO1FBUGdCLFlBQU8sR0FBc0IsRUFBRSxDQUFDO1FBQ3pDLE9BQUUsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFDOUIsV0FBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUks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a0JBQWtCLGtXQUFFLG1CQUFtQjsyRkFFcEQsb0NBQW9DO2tCQVBoRCxTQUFTOytCQUNFLHFDQUFxQyxjQUduQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLENBQUM7MEVBS2hELElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vZGVsTGlzdCB9IGZyb20gJy4uLy4uLy4uL21vZGVsLWxpc3Quc2VydmljZSc7XG5pbXBvcnQgeyBNb2RlbExpc3RBdXRvY29tcGxldGVGaWx0ZXIgfSBmcm9tICcuL21vZGVsLWxpc3QtYXV0b2NvbXBsZXRlLWZpbHRlcic7XG5pbXBvcnQgeyBUcGxGdW4gfSBmcm9tICcuLi8uLi8uLi8uLi9kaXNwZWRpdC9ma3NlbGVjdC9ma3NlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0YU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGF0YS9kYXRhLW1vZGVsJztcbmltcG9ydCB7XG4gIGRlYm91bmNlVGltZSxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIE9ic2VydmFibGUsXG4gIFN1YmplY3QsXG4gIHRha2VVbnRpbCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdiVHlwZWFoZWFkTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXRhLW1vZGVsLWxpc3QtYXV0b2NvbXBsZXRlLWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RlbC1saXN0LWF1dG9jb21wbGV0ZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RlbC1saXN0LWF1dG9jb21wbGV0ZS1maWx0ZXIuY29tcG9uZW50LnNhc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmdiVHlwZWFoZWFkTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgTW9kZWxMaXN0QXV0b2NvbXBsZXRlRmlsdGVyQ29tcG9uZW50PFQgZXh0ZW5kcyBEYXRhTW9kZWw+XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgQElucHV0KCkgcHVibGljIGxpc3QhOiBNb2RlbExpc3Q8YW55PjtcbiAgQElucHV0KCkgcHVibGljIGZpbHRlciE6IE1vZGVsTGlzdEF1dG9jb21wbGV0ZUZpbHRlcjxUPjtcbiAgQElucHV0KCkgcHVibGljIGNsYXNzZXM6IHN0cmluZ1tdIHwgc3RyaW5nID0gJyc7XG4gIHB1YmxpYyBmYyA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKTtcbiAgcHVibGljIHNlYXJjaCA9IHRoaXMuX3NlYXJjaC5iaW5kKHRoaXMpO1xuICBwdWJsaWMgZGlzcGxheSA9IHRoaXMuX2Rpc3BsYXkuYmluZCh0aGlzKTtcbiAgcHJpdmF0ZSBfdHBsITogVHBsRnVuPFQ+O1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb24gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fc2V0RGlzcGxheSgpO1xuICAgIHRoaXMuZmMudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDI1MCkpLnN1YnNjcmliZSgodmFsKSA9PiB7XG4gICAgICBpZiAodmFsKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCd2YWx1ZSBjaGFuZ2VkJywgdmFsLCB0aGlzLl9kaXNwbGF5KHZhbCkpO1xuICAgICAgICBpZiAodGhpcy5maWx0ZXIuc2V0KHZhbC5pZCwgdGhpcy5fZGlzcGxheSh2YWwpKSkge1xuICAgICAgICAgIHRoaXMubGlzdC5maWx0ZXJzLnVwZGF0ZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZGlzYWJsZSgpIHtcbiAgICB0aGlzLmZpbHRlci5lbmFibGVkID0gZmFsc2U7XG4gICAgdGhpcy5saXN0LmZpbHRlcnMudXBkYXRlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLm5leHQoKTtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24uY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzY3JvbGxBY3Rpb24oJGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoIXRoaXMuZmlsdGVyLnNjcm9sbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBlbGVtID1cbiAgICAgICRldmVudC5jdXJyZW50VGFyZ2V0Lm5leHRFbGVtZW50U2libGluZy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFxuICAgICAgICAnYWN0aXZlJ1xuICAgICAgKVswXTtcbiAgICBlbGVtLnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnLCBibG9jazogJ25lYXJlc3QnIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0RGlzcGxheSgpIHtcbiAgICBpZiAodGhpcy5maWx0ZXIuZGlzcGxheSkge1xuICAgICAgaWYgKHRoaXMuZmlsdGVyLmRpc3BsYXkgJiYgdHlwZW9mIHRoaXMuZmlsdGVyLmRpc3BsYXkgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRoaXMuX3RwbCA9IChtb2RlbDogVCkgPT5cbiAgICAgICAgICBgJHsobW9kZWwgYXMgYW55KVt0aGlzLmZpbHRlci5kaXNwbGF5IGFzIHN0cmluZ119YDtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIHRoaXMuZmlsdGVyLmRpc3BsYXkgJiZcbiAgICAgICAgdHlwZW9mIHRoaXMuZmlsdGVyLmRpc3BsYXkgPT09ICdmdW5jdGlvbidcbiAgICAgICkge1xuICAgICAgICB0aGlzLl90cGwgPSB0aGlzLmZpbHRlci5kaXNwbGF5LmJpbmQodGhpcyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3RwbCA9IChtb2RlbDogVCkgPT4ge1xuICAgICAgICBpZiAoKG1vZGVsIGFzIGFueSkuX2Rpc3BsYXkpIHtcbiAgICAgICAgICByZXR1cm4gKG1vZGVsIGFzIGFueSkuX2Rpc3BsYXk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGAke1xuICAgICAgICAgICAgKG1vZGVsIGFzIGFueSlbJ25hbWUnXSB8fFxuICAgICAgICAgICAgKG1vZGVsIGFzIGFueSlbJ3RpdGxlJ10gfHxcbiAgICAgICAgICAgIChtb2RlbCBhcyBhbnkpWydpZCddXG4gICAgICAgICAgfWA7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERpc3BsYXkgZnVuY3Rpb24uIFVzZXMgZGVzY2ZpZWxkIG9yIGRlc2MgdHBsIChsb2Rhc2ggdGVtcGxhdGUgdXNpbmcgbW9kZWwgZmllbGRzKS5cbiAgICovXG4gIHByaXZhdGUgX2Rpc3BsYXkoeDogYW55KTogYW55IHtcbiAgICBpZiAoeCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3RwbCh4KTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2VhcmNoKHRleHQkOiBPYnNlcnZhYmxlPHN0cmluZz4pOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIHJldHVybiB0ZXh0JC5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKDc1MCksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgc3dpdGNoTWFwKCh0ZXJtKSA9PiB7XG4gICAgICAgIGNvbnN0IGY6IGFueSA9IHt9O1xuICAgICAgICAvLyBHZW5lcmF0ZSBmaWx0ZXJcbiAgICAgICAgZm9yIChjb25zdCBrIG9mIE9iamVjdC5rZXlzKHRoaXMuZmlsdGVyLmZpbHRlcikpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmZpbHRlci5maWx0ZXJba10gIT09IG51bGwgfHxcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyLmZpbHRlcltrXSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBmW2tdID0gdGhpcy5maWx0ZXIuZmlsdGVyW2tdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBBZGQgc2VhcmNoIHBhcmFtXG4gICAgICAgIGZbdGhpcy5maWx0ZXIuc2VhcmNocGFyYW1dID0gdGVybTtcbiAgICAgICAgLy8gVXBkYXRlIHF1ZXJ5c2V0IGZpbHRlclxuICAgICAgICB0aGlzLmZpbHRlci5xdWVyeXNldD8uZmlsdGVyKGYpO1xuICAgICAgICAvLyBMYXVuY2ggcXVlcnlzZXRcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyLnF1ZXJ5c2V0LmdldCgpO1xuICAgICAgfSksXG4gICAgICB0YWtlVW50aWwodGhpcy5fc3Vic2NyaXB0aW9uKVxuICAgICk7XG4gIH1cbn1cbiIsIlxuPGRpdiBjbGFzcz1cImZpbHRlcml0ZW1cIiBbbmdDbGFzc109XCJmaWx0ZXIuZGlzcGxheUNsYXNzZXMgfHwgY2xhc3Nlc1wiPlxuICA8ZGl2IGNsYXNzPVwidHJhc2ggZmxvYXQtZW5kXCIgKGNsaWNrKT1cImRpc2FibGUoKVwiPjxpIGNsYXNzPVwiYmkgYmktdHJhc2hcIj48L2k+PC9kaXY+XG4gIDxsYWJlbD57e2ZpbHRlci5sYWJlbH19PC9sYWJlbD5cbiAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW2Zvcm1Db250cm9sXT1cImZjXCIgW25nYlR5cGVhaGVhZF09XCJzZWFyY2hcIiBbZWRpdGFibGVdPVwiZmFsc2VcIiBbZm9jdXNGaXJzdF09XCJ0cnVlXCIgW2lucHV0Rm9ybWF0dGVyXT1cImRpc3BsYXlcIiBbcmVzdWx0Rm9ybWF0dGVyXT1cImRpc3BsYXlcIiBbcGxhY2Vob2xkZXJdPVwiZmlsdGVyLmhlbHBcIiAoa2V5dXAuYXJyb3dEb3duKT1cInNjcm9sbEFjdGlvbigkZXZlbnQpXCIgKGtleXVwLmFycm93VXApPVwic2Nyb2xsQWN0aW9uKCRldmVudClcIiAjdGg9XCJuZ2JUeXBlYWhlYWRcIiBbY2xhc3MudGFzY3JvbGxdPVwiZmlsdGVyLnNjcm9sbFwiPlxuPC9kaXY+Il19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ModelListFilter, } from '../../model-list-filter';
|
|
2
|
+
export class ModelListAutocompleteFilter extends ModelListFilter {
|
|
3
|
+
constructor(params) {
|
|
4
|
+
super(params);
|
|
5
|
+
this.type = 'autocomplete';
|
|
6
|
+
this.display = params.display;
|
|
7
|
+
this.searchparam = params.searchparam ? params.searchparam : 'search';
|
|
8
|
+
if (!params.collection && !params.queryset) {
|
|
9
|
+
throw 'Missing related data (collection or queryset)';
|
|
10
|
+
}
|
|
11
|
+
this.collection = params.collection;
|
|
12
|
+
if (params.collection && !params.queryset) {
|
|
13
|
+
this.queryset = params.collection.queryset();
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
this.queryset = params.queryset;
|
|
17
|
+
}
|
|
18
|
+
this.scroll = params.scroll !== undefined ? params.scroll : true;
|
|
19
|
+
this.filter = params.filter || {};
|
|
20
|
+
if (this.label == '') {
|
|
21
|
+
this.label = 'Sélectionnez par texte';
|
|
22
|
+
}
|
|
23
|
+
if (this.help == '') {
|
|
24
|
+
this.help = 'Recherche par texte';
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1hdXRvY29tcGxldGUtZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21vZGVsbGlzdC9tb2RlbC1saXN0LWZpbHRlcnMvZmlsdGVycy9tb2RlbC1saXN0LWF1dG9jb21wbGV0ZS1maWx0ZXIvbW9kZWwtbGlzdC1hdXRvY29tcGxldGUtZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxlQUFlLEdBRWhCLE1BQU0seUJBQXlCLENBQUM7QUFnQmpDLE1BQU0sT0FBTywyQkFDWCxTQUFRLGVBQWU7SUFVdkIsWUFBWSxNQUFzQztRQUNoRCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDdEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO1lBQzFDLE1BQU0sK0NBQStDLENBQUM7U0FDdkQ7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDcEMsSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDOUM7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQXVCLENBQUM7U0FDaEQ7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDakUsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUVsQyxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsd0JBQXdCLENBQUM7U0FDdkM7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcscUJBQXFCLENBQUM7U0FDbkM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBNb2RlbExpc3RGaWx0ZXIsXG4gIE1vZGVsTGlzdEZpbHRlclBhcmFtcyxcbn0gZnJvbSAnLi4vLi4vbW9kZWwtbGlzdC1maWx0ZXInO1xuaW1wb3J0IHsgRGF0YU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGF0YS9kYXRhLW1vZGVsJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9kYXRhL2RhdGEtY29sbGVjdGlvbic7XG5pbXBvcnQgeyBGaWx0ZXJEYXRhLCBRdWVyeXNldCB9IGZyb20gJy4uLy4uLy4uLy4uL2RhdGEvZGF0YS1xdWVyeSc7XG5pbXBvcnQgeyBUcGxGdW4gfSBmcm9tICcuLi8uLi8uLi8uLi9kaXNwZWRpdC9ma3NlbGVjdC9ma3NlbGVjdC5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGVsTGlzdEF1dG9jb21wbGV0ZVBhcmFtczxUIGV4dGVuZHMgRGF0YU1vZGVsPlxuICBleHRlbmRzIE1vZGVsTGlzdEZpbHRlclBhcmFtcyB7XG4gIGNvbGxlY3Rpb24/OiBDb2xsZWN0aW9uPFQ+O1xuICBxdWVyeXNldD86IFF1ZXJ5c2V0PFQ+O1xuICBzZWFyY2hwYXJhbT86IHN0cmluZztcbiAgZGlzcGxheT86IHN0cmluZyB8IFRwbEZ1bjxUPjtcbiAgZmlsdGVyPzogRmlsdGVyRGF0YTtcbiAgc2Nyb2xsPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIE1vZGVsTGlzdEF1dG9jb21wbGV0ZUZpbHRlcjxUIGV4dGVuZHMgRGF0YU1vZGVsPlxuICBleHRlbmRzIE1vZGVsTGlzdEZpbHRlclxuICBpbXBsZW1lbnRzIE1vZGVsTGlzdEF1dG9jb21wbGV0ZVBhcmFtczxUPlxue1xuICBwdWJsaWMgZGlzcGxheT86IHN0cmluZyB8IFRwbEZ1bjxUPjtcbiAgcHVibGljIHNlYXJjaHBhcmFtITogc3RyaW5nO1xuICBwdWJsaWMgcXVlcnlzZXQhOiBRdWVyeXNldDxUPjtcbiAgcHVibGljIGNvbGxlY3Rpb24/OiBDb2xsZWN0aW9uPFQ+O1xuICBwdWJsaWMgZmlsdGVyITogRmlsdGVyRGF0YTtcbiAgcHVibGljIHNjcm9sbCE6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocGFyYW1zOiBNb2RlbExpc3RBdXRvY29tcGxldGVQYXJhbXM8VD4pIHtcbiAgICBzdXBlcihwYXJhbXMpO1xuICAgIHRoaXMudHlwZSA9ICdhdXRvY29tcGxldGUnO1xuICAgIHRoaXMuZGlzcGxheSA9IHBhcmFtcy5kaXNwbGF5O1xuICAgIHRoaXMuc2VhcmNocGFyYW0gPSBwYXJhbXMuc2VhcmNocGFyYW0gPyBwYXJhbXMuc2VhcmNocGFyYW0gOiAnc2VhcmNoJztcbiAgICBpZiAoIXBhcmFtcy5jb2xsZWN0aW9uICYmICFwYXJhbXMucXVlcnlzZXQpIHtcbiAgICAgIHRocm93ICdNaXNzaW5nIHJlbGF0ZWQgZGF0YSAoY29sbGVjdGlvbiBvciBxdWVyeXNldCknO1xuICAgIH1cbiAgICB0aGlzLmNvbGxlY3Rpb24gPSBwYXJhbXMuY29sbGVjdGlvbjtcbiAgICBpZiAocGFyYW1zLmNvbGxlY3Rpb24gJiYgIXBhcmFtcy5xdWVyeXNldCkge1xuICAgICAgdGhpcy5xdWVyeXNldCA9IHBhcmFtcy5jb2xsZWN0aW9uLnF1ZXJ5c2V0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucXVlcnlzZXQgPSBwYXJhbXMucXVlcnlzZXQgYXMgUXVlcnlzZXQ8VD47XG4gICAgfVxuICAgIHRoaXMuc2Nyb2xsID0gcGFyYW1zLnNjcm9sbCAhPT0gdW5kZWZpbmVkID8gcGFyYW1zLnNjcm9sbCA6IHRydWU7XG4gICAgdGhpcy5maWx0ZXIgPSBwYXJhbXMuZmlsdGVyIHx8IHt9O1xuXG4gICAgaWYgKHRoaXMubGFiZWwgPT0gJycpIHtcbiAgICAgIHRoaXMubGFiZWwgPSAnU8OpbGVjdGlvbm5leiBwYXIgdGV4dGUnO1xuICAgIH1cbiAgICBpZiAodGhpcy5oZWxwID09ICcnKSB7XG4gICAgICB0aGlzLmhlbHAgPSAnUmVjaGVyY2hlIHBhciB0ZXh0ZSc7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { ModelListAutocompleteFilterComponent } from '../model-list-autocomplete-filter/model-list-autocomplete-filter.component';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { NgbTypeaheadModule } from '@ng-bootstrap/ng-bootstrap';
|
|
5
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
import * as i2 from "@ng-bootstrap/ng-bootstrap";
|
|
9
|
+
import * as i3 from "@angular/forms";
|
|
10
|
+
export class ModelListAutocompleteMultiFilterComponent extends ModelListAutocompleteFilterComponent {
|
|
11
|
+
unset(value, desc) {
|
|
12
|
+
this.filter.unset(value, desc);
|
|
13
|
+
this.list.filters.update();
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
ModelListAutocompleteMultiFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ModelListAutocompleteMultiFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
+
ModelListAutocompleteMultiFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", 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 <div *ngFor=\"let e of filter.mcurrent$|async\"><i class=\"bi bi-trash me-2\" (click)=\"unset(e.value, e.desc)\" role=\"button\"></i>{{e.desc}}</div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: NgbTypeaheadModule }, { kind: "directive", type: i2.NgbTypeahead, selector: "input[ngbTypeahead]", inputs: ["autocomplete", "container", "editable", "focusFirst", "inputFormatter", "ngbTypeahead", "resultFormatter", "resultTemplate", "showHint", "placement", "popperOptions", "popupClass"], outputs: ["selectItem"], exportAs: ["ngbTypeahead"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ModelListAutocompleteMultiFilterComponent, decorators: [{
|
|
19
|
+
type: Component,
|
|
20
|
+
args: [{ selector: 'data-model-list-autocomplete-multi-filter', standalone: true, 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 <div *ngFor=\"let e of filter.mcurrent$|async\"><i class=\"bi bi-trash me-2\" (click)=\"unset(e.value, e.desc)\" role=\"button\"></i>{{e.desc}}</div>\n </div>\n</div>" }]
|
|
21
|
+
}], propDecorators: { filter: [{
|
|
22
|
+
type: Input
|
|
23
|
+
}] } });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1hdXRvY29tcGxldGUtbXVsdGktZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9tb2RlbGxpc3QvbW9kZWwtbGlzdC1maWx0ZXJzL2ZpbHRlcnMvbW9kZWwtbGlzdC1hdXRvY29tcGxldGUtbXVsdGktZmlsdGVyL21vZGVsLWxpc3QtYXV0b2NvbXBsZXRlLW11bHRpLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmlsdGVycy9maWx0ZXJzL21vZGVsLWxpc3QtYXV0b2NvbXBsZXRlLW11bHRpLWZpbHRlci9tb2RlbC1saXN0LWF1dG9jb21wbGV0ZS1tdWx0aS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakQsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sNEVBQTRFLENBQUM7QUFDbEksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQVNyRCxNQUFNLE9BQU8seUNBRVgsU0FBUSxvQ0FBdUM7SUFHeEMsS0FBSyxDQUFDLEtBQVUsRUFBRSxJQUFZO1FBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM3QixDQUFDOztzSUFSVSx5Q0FBeUM7MEhBQXpDLHlDQUF5QywwSkNmdEQsMHZCQVFNLHlEREtNLFlBQVksOFNBQUUsa0JBQWtCLGtXQUFFLG1CQUFtQjsyRkFFcEQseUNBQXlDO2tCQVByRCxTQUFTOytCQUNFLDJDQUEyQyxjQUd6QyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLENBQUM7OEJBS3ZDLE1BQU07c0JBQTlCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNb2RlbExpc3RBdXRvY29tcGxldGVNdWx0aUZpbHRlciB9IGZyb20gJy4vbW9kZWwtbGlzdC1hdXRvY29tcGxldGUtbXVsdGktZmlsdGVyJztcbmltcG9ydCB7IERhdGFNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL2RhdGEvZGF0YS1tb2RlbCc7XG5pbXBvcnQgeyBNb2RlbExpc3RBdXRvY29tcGxldGVGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi9tb2RlbC1saXN0LWF1dG9jb21wbGV0ZS1maWx0ZXIvbW9kZWwtbGlzdC1hdXRvY29tcGxldGUtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdiVHlwZWFoZWFkTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGF0YS1tb2RlbC1saXN0LWF1dG9jb21wbGV0ZS1tdWx0aS1maWx0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kZWwtbGlzdC1hdXRvY29tcGxldGUtbXVsdGktZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kZWwtbGlzdC1hdXRvY29tcGxldGUtbXVsdGktZmlsdGVyLmNvbXBvbmVudC5zYXNzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5nYlR5cGVhaGVhZE1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIE1vZGVsTGlzdEF1dG9jb21wbGV0ZU11bHRpRmlsdGVyQ29tcG9uZW50PFxuICBUIGV4dGVuZHMgRGF0YU1vZGVsXG4+IGV4dGVuZHMgTW9kZWxMaXN0QXV0b2NvbXBsZXRlRmlsdGVyQ29tcG9uZW50PFQ+IHtcbiAgQElucHV0KCkgcHVibGljIG92ZXJyaWRlIGZpbHRlciE6IE1vZGVsTGlzdEF1dG9jb21wbGV0ZU11bHRpRmlsdGVyPFQ+O1xuXG4gIHB1YmxpYyB1bnNldCh2YWx1ZTogYW55LCBkZXNjOiBzdHJpbmcpIHtcbiAgICB0aGlzLmZpbHRlci51bnNldCh2YWx1ZSwgZGVzYyk7XG4gICAgdGhpcy5saXN0LmZpbHRlcnMudXBkYXRlKCk7XG4gIH1cbn1cbiIsIlxuPGRpdiBjbGFzcz1cImZpbHRlcml0ZW1cIiBbbmdDbGFzc109XCJmaWx0ZXIuZGlzcGxheUNsYXNzZXMgfHwgY2xhc3Nlc1wiPlxuICA8ZGl2IGNsYXNzPVwidHJhc2ggZmxvYXQtZW5kXCIgKGNsaWNrKT1cImRpc2FibGUoKVwiPjxpIGNsYXNzPVwiYmkgYmktdHJhc2hcIj48L2k+PC9kaXY+XG4gIDxsYWJlbD57e2ZpbHRlci5sYWJlbH19PC9sYWJlbD5cbiAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW2Zvcm1Db250cm9sXT1cImZjXCIgW25nYlR5cGVhaGVhZF09XCJzZWFyY2hcIiBbZWRpdGFibGVdPVwiZmFsc2VcIiBbZm9jdXNGaXJzdF09XCJ0cnVlXCIgW2lucHV0Rm9ybWF0dGVyXT1cImRpc3BsYXlcIiBbcmVzdWx0Rm9ybWF0dGVyXT1cImRpc3BsYXlcIiBbcGxhY2Vob2xkZXJdPVwiZmlsdGVyLmhlbHBcIiAoa2V5dXAuYXJyb3dEb3duKT1cInNjcm9sbEFjdGlvbigkZXZlbnQpXCIgKGtleXVwLmFycm93VXApPVwic2Nyb2xsQWN0aW9uKCRldmVudClcIiAjdGg9XCJuZ2JUeXBlYWhlYWRcIiBbY2xhc3MudGFzY3JvbGxdPVwiZmlsdGVyLnNjcm9sbFwiPlxuICA8ZGl2IGNsYXNzPVwiZW5hYmxlZCBtdC0xXCI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgZSBvZiBmaWx0ZXIubWN1cnJlbnQkfGFzeW5jXCI+PGkgY2xhc3M9XCJiaSBiaS10cmFzaCBtZS0yXCIgKGNsaWNrKT1cInVuc2V0KGUudmFsdWUsIGUuZGVzYylcIiByb2xlPVwiYnV0dG9uXCI+PC9pPnt7ZS5kZXNjfX08L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ModelListAutocompleteFilter, } from '../model-list-autocomplete-filter/model-list-autocomplete-filter';
|
|
2
|
+
export class ModelListAutocompleteMultiFilter extends ModelListAutocompleteFilter {
|
|
3
|
+
constructor(params) {
|
|
4
|
+
super(params);
|
|
5
|
+
this.multi = true;
|
|
6
|
+
this.type = 'autocompletemulti';
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1hdXRvY29tcGxldGUtbXVsdGktZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21vZGVsbGlzdC9tb2RlbC1saXN0LWZpbHRlcnMvZmlsdGVycy9tb2RlbC1saXN0LWF1dG9jb21wbGV0ZS1tdWx0aS1maWx0ZXIvbW9kZWwtbGlzdC1hdXRvY29tcGxldGUtbXVsdGktZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCwyQkFBMkIsR0FFNUIsTUFBTSxrRUFBa0UsQ0FBQztBQU0xRSxNQUFNLE9BQU8sZ0NBRVgsU0FBUSwyQkFBOEI7SUFHdEMsWUFBWSxNQUEyQztRQUNyRCxLQUFLLENBQUMsTUFBd0MsQ0FBQyxDQUFDO1FBSGxDLFVBQUssR0FBRyxJQUFJLENBQUM7UUFJM0IsSUFBSSxDQUFDLElBQUksR0FBRyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBNb2RlbExpc3RBdXRvY29tcGxldGVGaWx0ZXIsXG4gIE1vZGVsTGlzdEF1dG9jb21wbGV0ZVBhcmFtcyxcbn0gZnJvbSAnLi4vbW9kZWwtbGlzdC1hdXRvY29tcGxldGUtZmlsdGVyL21vZGVsLWxpc3QtYXV0b2NvbXBsZXRlLWZpbHRlcic7XG5pbXBvcnQgeyBEYXRhTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9kYXRhL2RhdGEtbW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGVsTGlzdEF1dG9jb21wbGV0ZU11bHRpUGFyYW1zPFQgZXh0ZW5kcyBEYXRhTW9kZWw+XG4gIGV4dGVuZHMgTW9kZWxMaXN0QXV0b2NvbXBsZXRlUGFyYW1zPFQ+IHt9XG5cbmV4cG9ydCBjbGFzcyBNb2RlbExpc3RBdXRvY29tcGxldGVNdWx0aUZpbHRlcjxcbiAgVCBleHRlbmRzIERhdGFNb2RlbFxuPiBleHRlbmRzIE1vZGVsTGlzdEF1dG9jb21wbGV0ZUZpbHRlcjxUPiB7XG4gIHB1YmxpYyBvdmVycmlkZSBtdWx0aSA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocGFyYW1zOiBNb2RlbExpc3RBdXRvY29tcGxldGVNdWx0aVBhcmFtczxUPikge1xuICAgIHN1cGVyKHBhcmFtcyBhcyBNb2RlbExpc3RBdXRvY29tcGxldGVQYXJhbXM8VD4pO1xuICAgIHRoaXMudHlwZSA9ICdhdXRvY29tcGxldGVtdWx0aSc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { debounceTime } from 'rxjs';
|
|
4
|
+
import { FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
import * as i2 from "@angular/forms";
|
|
8
|
+
export class ModelListDateFilterComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.classes = '';
|
|
11
|
+
this.fc = new FormControl();
|
|
12
|
+
}
|
|
13
|
+
ngOnInit() {
|
|
14
|
+
this.filter.valueChanges.subscribe((val) => {
|
|
15
|
+
this.fc.setValue(val.value, { emitEvent: false });
|
|
16
|
+
});
|
|
17
|
+
this.fc.valueChanges.pipe(debounceTime(250)).subscribe((val) => {
|
|
18
|
+
if (this.filter.set(val, val)) {
|
|
19
|
+
this.list.filters.update();
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
disable() {
|
|
24
|
+
this.filter.enabled = false;
|
|
25
|
+
this.list.filters.update();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
ModelListDateFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ModelListDateFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
+
ModelListDateFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", 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.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ModelListDateFilterComponent, decorators: [{
|
|
31
|
+
type: Component,
|
|
32
|
+
args: [{ selector: 'data-model-list-date-filter', standalone: true, 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>" }]
|
|
33
|
+
}], ctorParameters: function () { return []; }, propDecorators: { list: [{
|
|
34
|
+
type: Input
|
|
35
|
+
}], filter: [{
|
|
36
|
+
type: Input
|
|
37
|
+
}], classes: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}] } });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1kYXRlLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmlsdGVycy9maWx0ZXJzL21vZGVsLWxpc3QtZGF0ZS1maWx0ZXIvbW9kZWwtbGlzdC1kYXRlLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmlsdGVycy9maWx0ZXJzL21vZGVsLWxpc3QtZGF0ZS1maWx0ZXIvbW9kZWwtbGlzdC1kYXRlLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFTbEUsTUFBTSxPQUFPLDRCQUE0QjtJQU12QztRQUhnQixZQUFPLEdBQXNCLEVBQUUsQ0FBQztRQUN6QyxPQUFFLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUVmLENBQUM7SUFFVCxRQUFRO1FBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDekMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUUsR0FBdUIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN6RSxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUM3RCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDNUI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7O3lIQXRCVSw0QkFBNEI7NkdBQTVCLDRCQUE0Qix1SkNmekMsdVRBS00seUREUU0sWUFBWSw0SEFBRSxtQkFBbUI7MkZBRWhDLDRCQUE0QjtrQkFQeEMsU0FBUzsrQkFDRSw2QkFBNkIsY0FHM0IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixDQUFDOzBFQUc1QixJQUFJO3NCQUFuQixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vZGVsTGlzdCB9IGZyb20gJy4uLy4uLy4uL21vZGVsLWxpc3Quc2VydmljZSc7XG5pbXBvcnQgeyBNb2RlbExpc3REYXRlRmlsdGVyIH0gZnJvbSAnLi9tb2RlbC1saXN0LWRhdGUtZmlsdGVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJRGlzcEVkaXRDaG9pY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kaXNwZWRpdC9kaXNwZWRpdC9kaXNwZWRpdC5jb25zdGFudHMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGF0YS1tb2RlbC1saXN0LWRhdGUtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGVsLWxpc3QtZGF0ZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RlbC1saXN0LWRhdGUtZmlsdGVyLmNvbXBvbmVudC5zYXNzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RlbExpc3REYXRlRmlsdGVyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHVibGljIGxpc3QhOiBNb2RlbExpc3Q8YW55PjtcbiAgQElucHV0KCkgcHVibGljIGZpbHRlciE6IE1vZGVsTGlzdERhdGVGaWx0ZXI7XG4gIEBJbnB1dCgpIHB1YmxpYyBjbGFzc2VzOiBzdHJpbmdbXSB8IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgZmMgPSBuZXcgRm9ybUNvbnRyb2woKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZmlsdGVyLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbCkgPT4ge1xuICAgICAgdGhpcy5mYy5zZXRWYWx1ZSgodmFsIGFzIElEaXNwRWRpdENob2ljZSkudmFsdWUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9KTtcbiAgICB0aGlzLmZjLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSgyNTApKS5zdWJzY3JpYmUoKHZhbCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZmlsdGVyLnNldCh2YWwsIHZhbCkpIHtcbiAgICAgICAgdGhpcy5saXN0LmZpbHRlcnMudXBkYXRlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZGlzYWJsZSgpIHtcbiAgICB0aGlzLmZpbHRlci5lbmFibGVkID0gZmFsc2U7XG4gICAgdGhpcy5saXN0LmZpbHRlcnMudXBkYXRlKCk7XG4gIH1cbn1cbiIsIlxuPGRpdiBjbGFzcz1cImZpbHRlcml0ZW1cIiBbbmdDbGFzc109XCJmaWx0ZXIuZGlzcGxheUNsYXNzZXMgfHwgY2xhc3Nlc1wiPlxuICA8ZGl2IGNsYXNzPVwidHJhc2ggZmxvYXQtZW5kXCIgKGNsaWNrKT1cImRpc2FibGUoKVwiPjxpIGNsYXNzPVwiYmkgYmktdHJhc2hcIj48L2k+PC9kaXY+XG4gIDxsYWJlbD57e2ZpbHRlci5sYWJlbH19PC9sYWJlbD5cbiAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgdHlwZT1cImRhdGVcIiBbZm9ybUNvbnRyb2xdPVwiZmNcIiBbcGxhY2Vob2xkZXJdPVwiZmlsdGVyLmhlbHBcIj5cbjwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ModelListFilter, } from '../../model-list-filter';
|
|
2
|
+
export class ModelListDateFilter extends ModelListFilter {
|
|
3
|
+
constructor(params) {
|
|
4
|
+
super(params);
|
|
5
|
+
this.type = 'date';
|
|
6
|
+
if (this.label == '') {
|
|
7
|
+
this.label = 'Sélectionnez par date';
|
|
8
|
+
}
|
|
9
|
+
if (this.help == '') {
|
|
10
|
+
this.help = 'Date cible';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1kYXRlLWZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9tb2RlbGxpc3QvbW9kZWwtbGlzdC1maWx0ZXJzL2ZpbHRlcnMvbW9kZWwtbGlzdC1kYXRlLWZpbHRlci9tb2RlbC1saXN0LWRhdGUtZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxlQUFlLEdBRWhCLE1BQU0seUJBQXlCLENBQUM7QUFFakMsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGVBQWU7SUFDdEQsWUFBWSxNQUE2QjtRQUN2QyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztRQUNuQixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsdUJBQXVCLENBQUM7U0FDdEM7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTW9kZWxMaXN0RmlsdGVyLFxuICBNb2RlbExpc3RGaWx0ZXJQYXJhbXMsXG59IGZyb20gJy4uLy4uL21vZGVsLWxpc3QtZmlsdGVyJztcblxuZXhwb3J0IGNsYXNzIE1vZGVsTGlzdERhdGVGaWx0ZXIgZXh0ZW5kcyBNb2RlbExpc3RGaWx0ZXIge1xuICBjb25zdHJ1Y3RvcihwYXJhbXM6IE1vZGVsTGlzdEZpbHRlclBhcmFtcykge1xuICAgIHN1cGVyKHBhcmFtcyk7XG4gICAgdGhpcy50eXBlID0gJ2RhdGUnO1xuICAgIGlmICh0aGlzLmxhYmVsID09ICcnKSB7XG4gICAgICB0aGlzLmxhYmVsID0gJ1PDqWxlY3Rpb25uZXogcGFyIGRhdGUnO1xuICAgIH1cbiAgICBpZiAodGhpcy5oZWxwID09ICcnKSB7XG4gICAgICB0aGlzLmhlbHAgPSAnRGF0ZSBjaWJsZSc7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { debounceTime } from 'rxjs';
|
|
4
|
+
import { FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
import * as i2 from "@angular/forms";
|
|
8
|
+
export class ModelListDatetimeFilterComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.classes = '';
|
|
11
|
+
this.fc = new FormControl();
|
|
12
|
+
}
|
|
13
|
+
ngOnInit() {
|
|
14
|
+
this.filter.valueChanges.subscribe((val) => {
|
|
15
|
+
this.fc.setValue(val.value, { emitEvent: false });
|
|
16
|
+
});
|
|
17
|
+
this.fc.valueChanges.pipe(debounceTime(250)).subscribe((val) => {
|
|
18
|
+
if (this.filter.set(val, val)) {
|
|
19
|
+
this.list.filters.update();
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
disable() {
|
|
24
|
+
this.filter.enabled = false;
|
|
25
|
+
this.list.filters.update();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
ModelListDatetimeFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ModelListDatetimeFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
+
ModelListDatetimeFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", 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.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ModelListDatetimeFilterComponent, decorators: [{
|
|
31
|
+
type: Component,
|
|
32
|
+
args: [{ selector: 'data-model-list-datetime-filter', standalone: true, 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>" }]
|
|
33
|
+
}], ctorParameters: function () { return []; }, propDecorators: { list: [{
|
|
34
|
+
type: Input
|
|
35
|
+
}], filter: [{
|
|
36
|
+
type: Input
|
|
37
|
+
}], classes: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}] } });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1kYXRldGltZS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21vZGVsbGlzdC9tb2RlbC1saXN0LWZpbHRlcnMvZmlsdGVycy9tb2RlbC1saXN0LWRhdGV0aW1lLWZpbHRlci9tb2RlbC1saXN0LWRhdGV0aW1lLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmlsdGVycy9maWx0ZXJzL21vZGVsLWxpc3QtZGF0ZXRpbWUtZmlsdGVyL21vZGVsLWxpc3QtZGF0ZXRpbWUtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVNsRSxNQUFNLE9BQU8sZ0NBQWdDO0lBTTNDO1FBSGdCLFlBQU8sR0FBc0IsRUFBRSxDQUFDO1FBQ3pDLE9BQUUsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBRWYsQ0FBQztJQUVULFFBQVE7UUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN6QyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBRSxHQUF1QixDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQzdELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUM1QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7NkhBdEJVLGdDQUFnQztpSEFBaEMsZ0NBQWdDLDJKQ2Y3QyxpVUFLTSx5RERRTSxZQUFZLDRIQUFFLG1CQUFtQjsyRkFFaEMsZ0NBQWdDO2tCQVA1QyxTQUFTOytCQUNFLGlDQUFpQyxjQUcvQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUM7MEVBRzVCLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kZWxMaXN0IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwtbGlzdC5zZXJ2aWNlJztcbmltcG9ydCB7IE1vZGVsTGlzdERhdGV0aW1lRmlsdGVyIH0gZnJvbSAnLi9tb2RlbC1saXN0LWRhdGV0aW1lLWZpbHRlcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSURpc3BFZGl0Q2hvaWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlzcGVkaXQvZGlzcGVkaXQvZGlzcGVkaXQuY29uc3RhbnRzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RhdGEtbW9kZWwtbGlzdC1kYXRldGltZS1maWx0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kZWwtbGlzdC1kYXRldGltZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RlbC1saXN0LWRhdGV0aW1lLWZpbHRlci5jb21wb25lbnQuc2FzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgTW9kZWxMaXN0RGF0ZXRpbWVGaWx0ZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBwdWJsaWMgbGlzdCE6IE1vZGVsTGlzdDxhbnk+O1xuICBASW5wdXQoKSBwdWJsaWMgZmlsdGVyITogTW9kZWxMaXN0RGF0ZXRpbWVGaWx0ZXI7XG4gIEBJbnB1dCgpIHB1YmxpYyBjbGFzc2VzOiBzdHJpbmdbXSB8IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgZmMgPSBuZXcgRm9ybUNvbnRyb2woKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZmlsdGVyLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbCkgPT4ge1xuICAgICAgdGhpcy5mYy5zZXRWYWx1ZSgodmFsIGFzIElEaXNwRWRpdENob2ljZSkudmFsdWUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9KTtcbiAgICB0aGlzLmZjLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSgyNTApKS5zdWJzY3JpYmUoKHZhbCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZmlsdGVyLnNldCh2YWwsIHZhbCkpIHtcbiAgICAgICAgdGhpcy5saXN0LmZpbHRlcnMudXBkYXRlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZGlzYWJsZSgpIHtcbiAgICB0aGlzLmZpbHRlci5lbmFibGVkID0gZmFsc2U7XG4gICAgdGhpcy5saXN0LmZpbHRlcnMudXBkYXRlKCk7XG4gIH1cbn1cbiIsIlxuPGRpdiBjbGFzcz1cImZpbHRlcml0ZW1cIiBbbmdDbGFzc109XCJmaWx0ZXIuZGlzcGxheUNsYXNzZXMgfHwgY2xhc3Nlc1wiPlxuICA8ZGl2IGNsYXNzPVwidHJhc2ggZmxvYXQtZW5kXCIgKGNsaWNrKT1cImRpc2FibGUoKVwiPjxpIGNsYXNzPVwiYmkgYmktdHJhc2hcIj48L2k+PC9kaXY+XG4gIDxsYWJlbD57e2ZpbHRlci5sYWJlbH19PC9sYWJlbD5cbiAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgdHlwZT1cImRhdGV0aW1lLWxvY2FsXCIgW2Zvcm1Db250cm9sXT1cImZjXCIgW3BsYWNlaG9sZGVyXT1cImZpbHRlci5oZWxwXCI+XG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ModelListFilter } from "../../model-list-filter";
|
|
2
|
+
export class ModelListDatetimeFilter extends ModelListFilter {
|
|
3
|
+
constructor(params) {
|
|
4
|
+
super(params);
|
|
5
|
+
this.type = "datetime";
|
|
6
|
+
if (this.label == "") {
|
|
7
|
+
this.label = "Sélectionnez par date/heure";
|
|
8
|
+
}
|
|
9
|
+
if (this.help == "") {
|
|
10
|
+
this.help = "Date/heure cible";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1kYXRldGltZS1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmlsdGVycy9maWx0ZXJzL21vZGVsLWxpc3QtZGF0ZXRpbWUtZmlsdGVyL21vZGVsLWxpc3QtZGF0ZXRpbWUtZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQXdCLE1BQU0seUJBQXlCLENBQUM7QUFFL0UsTUFBTSxPQUFPLHVCQUF5QixTQUFRLGVBQWU7SUFDM0QsWUFBWSxNQUE2QjtRQUN2QyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsNkJBQTZCLENBQUM7U0FDNUM7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsa0JBQWtCLENBQUM7U0FDaEM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01vZGVsTGlzdEZpbHRlciwgTW9kZWxMaXN0RmlsdGVyUGFyYW1zfSBmcm9tIFwiLi4vLi4vbW9kZWwtbGlzdC1maWx0ZXJcIjtcblxuZXhwb3J0IGNsYXNzIE1vZGVsTGlzdERhdGV0aW1lRmlsdGVyICBleHRlbmRzIE1vZGVsTGlzdEZpbHRlciB7XG4gIGNvbnN0cnVjdG9yKHBhcmFtczogTW9kZWxMaXN0RmlsdGVyUGFyYW1zKSB7XG4gICAgc3VwZXIocGFyYW1zKTtcbiAgICB0aGlzLnR5cGUgPSBcImRhdGV0aW1lXCI7XG4gICAgaWYgKHRoaXMubGFiZWwgPT0gXCJcIikge1xuICAgICAgdGhpcy5sYWJlbCA9IFwiU8OpbGVjdGlvbm5leiBwYXIgZGF0ZS9oZXVyZVwiO1xuICAgIH1cbiAgICBpZiAodGhpcy5oZWxwID09IFwiXCIpIHtcbiAgICAgIHRoaXMuaGVscCA9IFwiRGF0ZS9oZXVyZSBjaWJsZVwiO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ModelListDatetimeRangeFilterComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.classes = '';
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
ModelListDatetimeRangeFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ModelListDatetimeRangeFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
ModelListDatetimeRangeFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: ModelListDatetimeRangeFilterComponent, isStandalone: true, selector: "data-model-list-datetime-range-filter", inputs: { list: "list", filter: "filter", classes: "classes" }, ngImport: i0, template: "<p>model-list-datetime-range-filter works!</p>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ModelListDatetimeRangeFilterComponent, decorators: [{
|
|
12
|
+
type: Component,
|
|
13
|
+
args: [{ selector: 'data-model-list-datetime-range-filter', standalone: true, imports: [CommonModule], template: "<p>model-list-datetime-range-filter works!</p>" }]
|
|
14
|
+
}], ctorParameters: function () { return []; }, propDecorators: { list: [{
|
|
15
|
+
type: Input
|
|
16
|
+
}], filter: [{
|
|
17
|
+
type: Input
|
|
18
|
+
}], classes: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}] } });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1kYXRldGltZS1yYW5nZS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21vZGVsbGlzdC9tb2RlbC1saXN0LWZpbHRlcnMvZmlsdGVycy9tb2RlbC1saXN0LWRhdGV0aW1lcmFuZ2UtZmlsdGVyL21vZGVsLWxpc3QtZGF0ZXRpbWUtcmFuZ2UtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9tb2RlbGxpc3QvbW9kZWwtbGlzdC1maWx0ZXJzL2ZpbHRlcnMvbW9kZWwtbGlzdC1kYXRldGltZXJhbmdlLWZpbHRlci9tb2RlbC1saXN0LWRhdGV0aW1lLXJhbmdlLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBUy9DLE1BQU0sT0FBTyxxQ0FBcUM7SUFLaEQ7UUFGZ0IsWUFBTyxHQUFzQixFQUFFLENBQUM7SUFFakMsQ0FBQzs7a0lBTEwscUNBQXFDO3NIQUFyQyxxQ0FBcUMsaUtDWmxELGdEQUE4Qyx5RERVbEMsWUFBWTsyRkFFWCxxQ0FBcUM7a0JBUGpELFNBQVM7K0JBQ0UsdUNBQXVDLGNBR3JDLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzswRUFHUCxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vZGVsTGlzdCB9IGZyb20gJy4uLy4uLy4uL21vZGVsLWxpc3Quc2VydmljZSc7XG5pbXBvcnQgeyBNb2RlbExpc3REYXRldGltZXJhbmdlRmlsdGVyIH0gZnJvbSAnLi9tb2RlbC1saXN0LWRhdGV0aW1lcmFuZ2UtZmlsdGVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RhdGEtbW9kZWwtbGlzdC1kYXRldGltZS1yYW5nZS1maWx0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kZWwtbGlzdC1kYXRldGltZS1yYW5nZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RlbC1saXN0LWRhdGV0aW1lLXJhbmdlLWZpbHRlci5jb21wb25lbnQuc2FzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgTW9kZWxMaXN0RGF0ZXRpbWVSYW5nZUZpbHRlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBsaXN0ITogTW9kZWxMaXN0PGFueT47XG4gIEBJbnB1dCgpIHB1YmxpYyBmaWx0ZXIhOiBNb2RlbExpc3REYXRldGltZXJhbmdlRmlsdGVyO1xuICBASW5wdXQoKSBwdWJsaWMgY2xhc3Nlczogc3RyaW5nW10gfCBzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iLCI8cD5tb2RlbC1saXN0LWRhdGV0aW1lLXJhbmdlLWZpbHRlciB3b3JrcyE8L3A+Il19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ModelListFilter } from "../../model-list-filter";
|
|
2
|
+
export class ModelListDatetimerangeFilter extends ModelListFilter {
|
|
3
|
+
constructor(params) {
|
|
4
|
+
super(params);
|
|
5
|
+
this.type = "datetimerange";
|
|
6
|
+
if (this.label == "") {
|
|
7
|
+
this.label = "Sélectionnez par intervalle de date/heure";
|
|
8
|
+
}
|
|
9
|
+
if (this.help == "") {
|
|
10
|
+
this.help = "Date/heure";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1kYXRldGltZXJhbmdlLWZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9tb2RlbGxpc3QvbW9kZWwtbGlzdC1maWx0ZXJzL2ZpbHRlcnMvbW9kZWwtbGlzdC1kYXRldGltZXJhbmdlLWZpbHRlci9tb2RlbC1saXN0LWRhdGV0aW1lcmFuZ2UtZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQXdCLE1BQU0seUJBQXlCLENBQUM7QUFFL0UsTUFBTSxPQUFPLDRCQUE4QixTQUFRLGVBQWU7SUFDaEUsWUFBWSxNQUE2QjtRQUN2QyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQztRQUM1QixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsMkNBQTJDLENBQUM7U0FDMUQ7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb2RlbExpc3RGaWx0ZXIsIE1vZGVsTGlzdEZpbHRlclBhcmFtc30gZnJvbSBcIi4uLy4uL21vZGVsLWxpc3QtZmlsdGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBNb2RlbExpc3REYXRldGltZXJhbmdlRmlsdGVyICBleHRlbmRzIE1vZGVsTGlzdEZpbHRlciB7XG4gIGNvbnN0cnVjdG9yKHBhcmFtczogTW9kZWxMaXN0RmlsdGVyUGFyYW1zKSB7XG4gICAgc3VwZXIocGFyYW1zKTtcbiAgICB0aGlzLnR5cGUgPSBcImRhdGV0aW1lcmFuZ2VcIjtcbiAgICBpZiAodGhpcy5sYWJlbCA9PSBcIlwiKSB7XG4gICAgICB0aGlzLmxhYmVsID0gXCJTw6lsZWN0aW9ubmV6IHBhciBpbnRlcnZhbGxlIGRlIGRhdGUvaGV1cmVcIjtcbiAgICB9XG4gICAgaWYgKHRoaXMuaGVscCA9PSBcIlwiKSB7XG4gICAgICB0aGlzLmhlbHAgPSBcIkRhdGUvaGV1cmVcIjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ModelListFlagsFilterComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.classes = '';
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
ModelListFlagsFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ModelListFlagsFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
ModelListFlagsFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: ModelListFlagsFilterComponent, isStandalone: true, selector: "data-model-list-flags-filter", inputs: { list: "list", filter: "filter", classes: "classes" }, ngImport: i0, template: "<p>model-list-flags-filter works!</p>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ModelListFlagsFilterComponent, decorators: [{
|
|
12
|
+
type: Component,
|
|
13
|
+
args: [{ selector: 'data-model-list-flags-filter', standalone: true, imports: [CommonModule], template: "<p>model-list-flags-filter works!</p>" }]
|
|
14
|
+
}], ctorParameters: function () { return []; }, propDecorators: { list: [{
|
|
15
|
+
type: Input
|
|
16
|
+
}], filter: [{
|
|
17
|
+
type: Input
|
|
18
|
+
}], classes: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}] } });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1mbGFncy1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21vZGVsbGlzdC9tb2RlbC1saXN0LWZpbHRlcnMvZmlsdGVycy9tb2RlbC1saXN0LWZsYWdzLWZpbHRlci9tb2RlbC1saXN0LWZsYWdzLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmlsdGVycy9maWx0ZXJzL21vZGVsLWxpc3QtZmxhZ3MtZmlsdGVyL21vZGVsLWxpc3QtZmxhZ3MtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFTL0MsTUFBTSxPQUFPLDZCQUE2QjtJQUt4QztRQUZnQixZQUFPLEdBQXNCLEVBQUUsQ0FBQztJQUVqQyxDQUFDOzswSEFMTCw2QkFBNkI7OEdBQTdCLDZCQUE2Qix3SkNaMUMsdUNBQXFDLHlERFV6QixZQUFZOzJGQUVYLDZCQUE2QjtrQkFQekMsU0FBUzsrQkFDRSw4QkFBOEIsY0FHNUIsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDOzBFQUdQLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kZWxMaXN0IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwtbGlzdC5zZXJ2aWNlJztcbmltcG9ydCB7IE1vZGVsTGlzdEZsYWdzRmlsdGVyIH0gZnJvbSAnLi9tb2RlbC1saXN0LWZsYWdzLWZpbHRlcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXRhLW1vZGVsLWxpc3QtZmxhZ3MtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGVsLWxpc3QtZmxhZ3MtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kZWwtbGlzdC1mbGFncy1maWx0ZXIuY29tcG9uZW50LnNhc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIE1vZGVsTGlzdEZsYWdzRmlsdGVyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHVibGljIGxpc3QhOiBNb2RlbExpc3Q8YW55PjtcbiAgQElucHV0KCkgcHVibGljIGZpbHRlciE6IE1vZGVsTGlzdEZsYWdzRmlsdGVyO1xuICBASW5wdXQoKSBwdWJsaWMgY2xhc3Nlczogc3RyaW5nW10gfCBzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iLCI8cD5tb2RlbC1saXN0LWZsYWdzLWZpbHRlciB3b3JrcyE8L3A+Il19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ModelListFilter } from "../../model-list-filter";
|
|
2
|
+
export class ModelListFlagsFilter extends ModelListFilter {
|
|
3
|
+
constructor(params) {
|
|
4
|
+
super(params);
|
|
5
|
+
this.type = "flags";
|
|
6
|
+
if (this.label == "") {
|
|
7
|
+
this.label = "Sélectionnez par étiquette";
|
|
8
|
+
}
|
|
9
|
+
if (this.help == "") {
|
|
10
|
+
this.help = "Nom de l'étiquette";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1mbGFncy1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmlsdGVycy9maWx0ZXJzL21vZGVsLWxpc3QtZmxhZ3MtZmlsdGVyL21vZGVsLWxpc3QtZmxhZ3MtZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQXdCLE1BQU0seUJBQXlCLENBQUM7QUFFL0UsTUFBTSxPQUFPLG9CQUFzQixTQUFRLGVBQWU7SUFDeEQsWUFBWSxNQUE2QjtRQUN2QyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsNEJBQTRCLENBQUM7U0FDM0M7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsb0JBQW9CLENBQUM7U0FDbEM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01vZGVsTGlzdEZpbHRlciwgTW9kZWxMaXN0RmlsdGVyUGFyYW1zfSBmcm9tIFwiLi4vLi4vbW9kZWwtbGlzdC1maWx0ZXJcIjtcblxuZXhwb3J0IGNsYXNzIE1vZGVsTGlzdEZsYWdzRmlsdGVyICBleHRlbmRzIE1vZGVsTGlzdEZpbHRlciB7XG4gIGNvbnN0cnVjdG9yKHBhcmFtczogTW9kZWxMaXN0RmlsdGVyUGFyYW1zKSB7XG4gICAgc3VwZXIocGFyYW1zKTtcbiAgICB0aGlzLnR5cGUgPSBcImZsYWdzXCI7XG4gICAgaWYgKHRoaXMubGFiZWwgPT0gXCJcIikge1xuICAgICAgdGhpcy5sYWJlbCA9IFwiU8OpbGVjdGlvbm5leiBwYXIgw6l0aXF1ZXR0ZVwiO1xuICAgIH1cbiAgICBpZiAodGhpcy5oZWxwID09IFwiXCIpIHtcbiAgICAgIHRoaXMuaGVscCA9IFwiTm9tIGRlIGwnw6l0aXF1ZXR0ZVwiO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { map } from 'rxjs/operators';
|
|
2
|
+
export class BanAdapter {
|
|
3
|
+
constructor(_http, _baseUrl) {
|
|
4
|
+
this._http = _http;
|
|
5
|
+
this._baseUrl = _baseUrl;
|
|
6
|
+
}
|
|
7
|
+
search(text) {
|
|
8
|
+
return this._http
|
|
9
|
+
.get(`${this._baseUrl}`, { params: { q: text } })
|
|
10
|
+
.pipe(map((r) => {
|
|
11
|
+
const out = [];
|
|
12
|
+
for (const f of r.features) {
|
|
13
|
+
out.push({
|
|
14
|
+
score: f.properties.score,
|
|
15
|
+
label: `${f.properties.label} (${f.properties.context})`,
|
|
16
|
+
lat: f.geometry.coordinates[1],
|
|
17
|
+
lng: f.geometry.coordinates[0],
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return out;
|
|
21
|
+
}));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21vZGVsbGlzdC9tb2RlbC1saXN0LWZpbHRlcnMvZmlsdGVycy9tb2RlbC1saXN0LWdlb2Rpc3RhbmNlLWZpbHRlci9hZGFwdGVycy9iYW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBOEJyQyxNQUFNLE9BQU8sVUFBVTtJQUNyQixZQUFvQixLQUFpQixFQUFVLFFBQWdCO1FBQTNDLFVBQUssR0FBTCxLQUFLLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFRO0lBQUcsQ0FBQztJQUU1RCxNQUFNLENBQUMsSUFBWTtRQUN4QixPQUFPLElBQUksQ0FBQyxLQUFLO2FBQ2QsR0FBRyxDQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUM7YUFDNUQsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ1IsTUFBTSxHQUFHLEdBQXNCLEVBQUUsQ0FBQztZQUNsQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUU7Z0JBQzFCLEdBQUcsQ0FBQyxJQUFJLENBQUM7b0JBQ1AsS0FBSyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSztvQkFDekIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUc7b0JBQ3hELEdBQUcsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7b0JBQzlCLEdBQUcsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7aUJBQy9CLENBQUMsQ0FBQzthQUNKO1lBQ0QsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEdlb1NlYXJjaFJlc3VsdCB9IGZyb20gJy4uL21vZGVsLWxpc3QtZ2VvZGlzdGFuY2UtZmlsdGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBCYW5SZXN1bHRzIHtcbiAgdHlwZTogJ0ZlYXR1cmVDb2xsZWN0aW9uJztcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBmZWF0dXJlczoge1xuICAgIHR5cGU6ICdGZWF0dXJlJztcbiAgICBnZW9tZXRyeToge1xuICAgICAgdHlwZTogJ1BvaW50JztcbiAgICAgIGNvb3JkaW5hdGVzOiBbbnVtYmVyLCBudW1iZXJdO1xuICAgIH07XG4gICAgcHJvcGVydGllczoge1xuICAgICAgbGFiZWw6IHN0cmluZztcbiAgICAgIHNjb3JlOiBudW1iZXI7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAgdHlwZTogc3RyaW5nO1xuICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgcG9zdGNvZGU6IHN0cmluZztcbiAgICAgIGNpdHljb2RlOiBzdHJpbmc7XG4gICAgICB4OiBudW1iZXI7XG4gICAgICB5OiBudW1iZXI7XG4gICAgICBwb3B1bGF0aW9uOiBudW1iZXI7XG4gICAgICBjaXR5OiBzdHJpbmc7XG4gICAgICBjb250ZXh0OiBzdHJpbmc7XG4gICAgICBpbXBvcnRhbmNlOiBudW1iZXI7XG4gICAgfTtcbiAgfVtdO1xufVxuXG5leHBvcnQgY2xhc3MgQmFuQWRhcHRlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2h0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgX2Jhc2VVcmw6IHN0cmluZykge31cblxuICBwdWJsaWMgc2VhcmNoKHRleHQ6IHN0cmluZyk6IE9ic2VydmFibGU8R2VvU2VhcmNoUmVzdWx0W10+IHtcbiAgICByZXR1cm4gdGhpcy5faHR0cFxuICAgICAgLmdldDxCYW5SZXN1bHRzPihgJHt0aGlzLl9iYXNlVXJsfWAsIHsgcGFyYW1zOiB7IHE6IHRleHQgfSB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocikgPT4ge1xuICAgICAgICAgIGNvbnN0IG91dDogR2VvU2VhcmNoUmVzdWx0W10gPSBbXTtcbiAgICAgICAgICBmb3IgKGNvbnN0IGYgb2Ygci5mZWF0dXJlcykge1xuICAgICAgICAgICAgb3V0LnB1c2goe1xuICAgICAgICAgICAgICBzY29yZTogZi5wcm9wZXJ0aWVzLnNjb3JlLFxuICAgICAgICAgICAgICBsYWJlbDogYCR7Zi5wcm9wZXJ0aWVzLmxhYmVsfSAoJHtmLnByb3BlcnRpZXMuY29udGV4dH0pYCxcbiAgICAgICAgICAgICAgbGF0OiBmLmdlb21ldHJ5LmNvb3JkaW5hdGVzWzFdLFxuICAgICAgICAgICAgICBsbmc6IGYuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMF0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG91dDtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { combineLatest, debounceTime, distinctUntilChanged, Subject, } from 'rxjs';
|
|
5
|
+
import { filter, switchMap } from 'rxjs/operators';
|
|
6
|
+
import { NgbTypeaheadModule } from '@ng-bootstrap/ng-bootstrap';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/common";
|
|
9
|
+
import * as i2 from "@ng-bootstrap/ng-bootstrap";
|
|
10
|
+
import * as i3 from "@angular/forms";
|
|
11
|
+
export class ModelListGeodistanceFilterComponent {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.classes = '';
|
|
14
|
+
this.fc = new FormControl();
|
|
15
|
+
this.fd = new FormControl('');
|
|
16
|
+
this.search = this._search.bind(this);
|
|
17
|
+
this.display = this._display.bind(this);
|
|
18
|
+
this._subscription = new Subject();
|
|
19
|
+
}
|
|
20
|
+
ngOnInit() {
|
|
21
|
+
const address = this.fc.valueChanges.pipe(debounceTime(250), filter((val) => !!val));
|
|
22
|
+
const distance = this.fd.valueChanges.pipe(filter((d) => !!d));
|
|
23
|
+
combineLatest([address, distance]).subscribe(([val, dist]) => {
|
|
24
|
+
if (this.filter.set(`${dist},${val.lng},${val.lat}`, val.label)) {
|
|
25
|
+
this.list.filters.update();
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
disable() {
|
|
30
|
+
this.filter.enabled = false;
|
|
31
|
+
this.list.filters.update();
|
|
32
|
+
}
|
|
33
|
+
ngOnDestroy() {
|
|
34
|
+
this._subscription.next();
|
|
35
|
+
this._subscription.complete();
|
|
36
|
+
}
|
|
37
|
+
_display(x) {
|
|
38
|
+
return `${x.label}`;
|
|
39
|
+
}
|
|
40
|
+
_search(text$) {
|
|
41
|
+
return text$.pipe(debounceTime(750), distinctUntilChanged(), switchMap((term) => this.filter.geolocator(term)));
|
|
42
|
+
}
|
|
43
|
+
scrollAction($event) {
|
|
44
|
+
if (!this.filter.scroll) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const elem = $event.currentTarget.nextElementSibling.getElementsByClassName('active')[0];
|
|
48
|
+
elem.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
ModelListGeodistanceFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ModelListGeodistanceFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
52
|
+
ModelListGeodistanceFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", 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.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", "showHint", "placement", "popperOptions", "popupClass"], outputs: ["selectItem"], exportAs: ["ngbTypeahead"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.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: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ModelListGeodistanceFilterComponent, decorators: [{
|
|
54
|
+
type: Component,
|
|
55
|
+
args: [{ selector: 'data-model-list-geodistance-filter', standalone: true, 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>" }]
|
|
56
|
+
}], ctorParameters: function () { return []; }, propDecorators: { list: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}], filter: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}], classes: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}] } });
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1nZW9kaXN0YW5jZS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21vZGVsbGlzdC9tb2RlbC1saXN0LWZpbHRlcnMvZmlsdGVycy9tb2RlbC1saXN0LWdlb2Rpc3RhbmNlLWZpbHRlci9tb2RlbC1saXN0LWdlb2Rpc3RhbmNlLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmlsdGVycy9maWx0ZXJzL21vZGVsLWxpc3QtZ2VvZGlzdGFuY2UtZmlsdGVyL21vZGVsLWxpc3QtZ2VvZGlzdGFuY2UtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQU1wRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFDTCxhQUFhLEVBQ2IsWUFBWSxFQUNaLG9CQUFvQixFQUVwQixPQUFPLEdBQ1IsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7OztBQVNoRSxNQUFNLE9BQU8sbUNBQW1DO0lBVTlDO1FBUGdCLFlBQU8sR0FBc0IsRUFBRSxDQUFDO1FBQ3pDLE9BQUUsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ3ZCLE9BQUUsR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6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eyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kZWxMaXN0IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwtbGlzdC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEdlb1NlYXJjaFJlc3VsdCxcbiAgTW9kZWxMaXN0R2VvZGlzdGFuY2VGaWx0ZXIsXG59IGZyb20gJy4vbW9kZWwtbGlzdC1nZW9kaXN0YW5jZS1maWx0ZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgY29tYmluZUxhdGVzdCxcbiAgZGVib3VuY2VUaW1lLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE5nYlR5cGVhaGVhZE1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGF0YS1tb2RlbC1saXN0LWdlb2Rpc3RhbmNlLWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RlbC1saXN0LWdlb2Rpc3RhbmNlLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGVsLWxpc3QtZ2VvZGlzdGFuY2UtZmlsdGVyLmNvbXBvbmVudC5zYXNzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5nYlR5cGVhaGVhZE1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIE1vZGVsTGlzdEdlb2Rpc3RhbmNlRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwdWJsaWMgbGlzdCE6IE1vZGVsTGlzdDxhbnk+O1xuICBASW5wdXQoKSBwdWJsaWMgZmlsdGVyITogTW9kZWxMaXN0R2VvZGlzdGFuY2VGaWx0ZXI7XG4gIEBJbnB1dCgpIHB1YmxpYyBjbGFzc2VzOiBzdHJpbmdbXSB8IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgZmMgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgcHVibGljIGZkID0gbmV3IEZvcm1Db250cm9sKCcnKTtcbiAgcHVibGljIHNlYXJjaCA9IHRoaXMuX3NlYXJjaC5iaW5kKHRoaXMpO1xuICBwdWJsaWMgZGlzcGxheSA9IHRoaXMuX2Rpc3BsYXkuYmluZCh0aGlzKTtcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGFkZHJlc3MgPSB0aGlzLmZjLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKDI1MCksXG4gICAgICBmaWx0ZXIoKHZhbCkgPT4gISF2YWwpXG4gICAgKTtcbiAgICBjb25zdCBkaXN0YW5jZSA9IHRoaXMuZmQudmFsdWVDaGFuZ2VzLnBpcGUoZmlsdGVyKChkKSA9PiAhIWQpKTtcbiAgICBjb21iaW5lTGF0ZXN0KFthZGRyZXNzLCBkaXN0YW5jZV0pLnN1YnNjcmliZSgoW3ZhbCwgZGlzdF0pID0+IHtcbiAgICAgIGlmICh0aGlzLmZpbHRlci5zZXQoYCR7ZGlzdH0sJHt2YWwubG5nfSwke3ZhbC5sYXR9YCwgdmFsLmxhYmVsKSkge1xuICAgICAgICB0aGlzLmxpc3QuZmlsdGVycy51cGRhdGUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNhYmxlKCkge1xuICAgIHRoaXMuZmlsdGVyLmVuYWJsZWQgPSBmYWxzZTtcbiAgICB0aGlzLmxpc3QuZmlsdGVycy51cGRhdGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24ubmV4dCgpO1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGlzcGxheSh4OiBHZW9TZWFyY2hSZXN1bHQpOiBhbnkge1xuICAgIHJldHVybiBgJHt4LmxhYmVsfWA7XG4gIH1cblxuICBwcml2YXRlIF9zZWFyY2godGV4dCQ6IE9ic2VydmFibGU8c3RyaW5nPik6IE9ic2VydmFibGU8R2VvU2VhcmNoUmVzdWx0W10+IHtcbiAgICByZXR1cm4gdGV4dCQucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSg3NTApLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHN3aXRjaE1hcCgodGVybSkgPT4gdGhpcy5maWx0ZXIuZ2VvbG9jYXRvcih0ZXJtKSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNjcm9sbEFjdGlvbigkZXZlbnQ6IGFueSkge1xuICAgIGlmICghdGhpcy5maWx0ZXIuc2Nyb2xsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGVsZW0gPVxuICAgICAgJGV2ZW50LmN1cnJlbnRUYXJnZXQubmV4dEVsZW1lbnRTaWJsaW5nLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXG4gICAgICAgICdhY3RpdmUnXG4gICAgICApWzBdO1xuICAgIGVsZW0uc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcsIGJsb2NrOiAnbmVhcmVzdCcgfSk7XG4gIH1cbn1cbiIsIlxuPGRpdiBjbGFzcz1cImZpbHRlcml0ZW1cIiBbbmdDbGFzc109XCJmaWx0ZXIuZGlzcGxheUNsYXNzZXMgfHwgY2xhc3Nlc1wiPlxuICA8ZGl2IGNsYXNzPVwidHJhc2ggZmxvYXQtZW5kXCIgKGNsaWNrKT1cImRpc2FibGUoKVwiPjxpIGNsYXNzPVwiYmkgYmktdHJhc2hcIj48L2k+PC9kaXY+XG4gIDxsYWJlbD57e2ZpbHRlci5sYWJlbH19PC9sYWJlbD5cbiAgPGRpdiBjbGFzcz1cInJvdyBnLTFcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTRcIj5cbiAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIFtmb3JtQ29udHJvbF09XCJmZFwiPlxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwiXCI+RGlzdGFuY2U8L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImx0ZSwxMFwiPjwgMTAga208L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImx0ZSwyMFwiPjwgMjAga208L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImx0ZSwzMFwiPjwgMzAga208L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImx0ZSw1MFwiPjwgNTAga208L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImx0ZSw4MFwiPjwgODAga208L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImx0ZSwxMDBcIj48IDEwMCBrbTwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwibHRlLDE1MFwiPjwgMTUwIGttPC9vcHRpb24+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJsdGUsMjAwXCI+PCAyMDAga208L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImx0ZSwyNTBcIj48IDI1MCBrbTwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwibHRlLDMwMFwiPjwgMzAwIGttPC9vcHRpb24+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJsdGUsNTAwXCI+PCA1MDAga208L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImx0ZSwxMDAwXCI+PCAxMDAwIGttPC9vcHRpb24+XG4gICAgICA8L3NlbGVjdD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLThcIj5cbiAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFtmb3JtQ29udHJvbF09XCJmY1wiIFtuZ2JUeXBlYWhlYWRdPVwic2VhcmNoXCIgW2VkaXRhYmxlXT1cImZhbHNlXCIgW2ZvY3VzRmlyc3RdPVwidHJ1ZVwiIFtpbnB1dEZvcm1hdHRlcl09XCJkaXNwbGF5XCIgW3Jlc3VsdEZvcm1hdHRlcl09XCJkaXNwbGF5XCIgW3BsYWNlaG9sZGVyXT1cImZpbHRlci5oZWxwXCIgKGtleXVwLmFycm93RG93bik9XCJzY3JvbGxBY3Rpb24oJGV2ZW50KVwiIChrZXl1cC5hcnJvd1VwKT1cInNjcm9sbEFjdGlvbigkZXZlbnQpXCIgI3RoPVwibmdiVHlwZWFoZWFkXCIgW2NsYXNzLnRhc2Nyb2xsXT1cImZpbHRlci5zY3JvbGxcIj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ModelListFilter, } from '../../model-list-filter';
|
|
2
|
+
export class ModelListGeodistanceFilter extends ModelListFilter {
|
|
3
|
+
constructor(params) {
|
|
4
|
+
super(params);
|
|
5
|
+
this.type = 'geodistance';
|
|
6
|
+
this.geolocator = params.geolocator;
|
|
7
|
+
if (this.label == '') {
|
|
8
|
+
this.label = "Par distance autour d'un point";
|
|
9
|
+
}
|
|
10
|
+
if (this.help == '') {
|
|
11
|
+
this.help = 'Ville & distance';
|
|
12
|
+
}
|
|
13
|
+
this.scroll = params.scroll !== undefined ? params.scroll : true;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1nZW9kaXN0YW5jZS1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmlsdGVycy9maWx0ZXJzL21vZGVsLWxpc3QtZ2VvZGlzdGFuY2UtZmlsdGVyL21vZGVsLWxpc3QtZ2VvZGlzdGFuY2UtZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxlQUFlLEdBRWhCLE1BQU0seUJBQXlCLENBQUM7QUFpQmpDLE1BQU0sT0FBTywwQkFDWCxTQUFRLGVBQWU7SUFNdkIsWUFBWSxNQUF3QztRQUNsRCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFZCxJQUFJLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQztRQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDcEMsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLGdDQUFnQyxDQUFDO1NBQy9DO1FBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFDO1NBQ2hDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ25FLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE1vZGVsTGlzdEZpbHRlcixcbiAgTW9kZWxMaXN0RmlsdGVyUGFyYW1zLFxufSBmcm9tICcuLi8uLi9tb2RlbC1saXN0LWZpbHRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VvU2VhcmNoUmVzdWx0IHtcbiAgc2NvcmU6IG51bWJlcjtcbiAgbGFiZWw6IHN0cmluZztcbiAgbGF0OiBudW1iZXI7XG4gIGxuZzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGVsTGlzdEdlb2Rpc3RhbmNlRmlsdGVyUGFyYW1zXG4gIGV4dGVuZHMgTW9kZWxMaXN0RmlsdGVyUGFyYW1zIHtcbiAgZ2VvbG9jYXRvcjogKHBvczogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPEdlb1NlYXJjaFJlc3VsdFtdPjtcbiAgZ2VvbWFwPzogKHBvczogW251bWJlciwgbnVtYmVyXSwgZGlzdDogbnVtYmVyKSA9PiBzdHJpbmc7XG4gIHNjcm9sbD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBNb2RlbExpc3RHZW9kaXN0YW5jZUZpbHRlclxuICBleHRlbmRzIE1vZGVsTGlzdEZpbHRlclxuICBpbXBsZW1lbnRzIE1vZGVsTGlzdEdlb2Rpc3RhbmNlRmlsdGVyUGFyYW1zXG57XG4gIHB1YmxpYyBnZW9sb2NhdG9yOiAocG9zOiBzdHJpbmcpID0+IE9ic2VydmFibGU8R2VvU2VhcmNoUmVzdWx0W10+O1xuICBwdWJsaWMgc2Nyb2xsITogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihwYXJhbXM6IE1vZGVsTGlzdEdlb2Rpc3RhbmNlRmlsdGVyUGFyYW1zKSB7XG4gICAgc3VwZXIocGFyYW1zKTtcblxuICAgIHRoaXMudHlwZSA9ICdnZW9kaXN0YW5jZSc7XG4gICAgdGhpcy5nZW9sb2NhdG9yID0gcGFyYW1zLmdlb2xvY2F0b3I7XG4gICAgaWYgKHRoaXMubGFiZWwgPT0gJycpIHtcbiAgICAgIHRoaXMubGFiZWwgPSBcIlBhciBkaXN0YW5jZSBhdXRvdXIgZCd1biBwb2ludFwiO1xuICAgIH1cbiAgICBpZiAodGhpcy5oZWxwID09ICcnKSB7XG4gICAgICB0aGlzLmhlbHAgPSAnVmlsbGUgJiBkaXN0YW5jZSc7XG4gICAgfVxuICAgIHRoaXMuc2Nyb2xsID0gcGFyYW1zLnNjcm9sbCAhPT0gdW5kZWZpbmVkID8gcGFyYW1zLnNjcm9sbCA6IHRydWU7XG4gIH1cbn1cbiJdfQ==
|