@solidev/data 0.0.9 → 0.1.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/esm2022/lib/auth/auth-interceptor.service.mjs +92 -0
- package/{esm2020 → esm2022}/lib/auth/auth.service.mjs +1 -1
- package/esm2022/lib/data/data-backend.mjs +135 -0
- package/esm2022/lib/data/data-model.mjs +292 -0
- package/esm2022/lib/dispedit/choice.pipe.mjs +81 -0
- package/esm2022/lib/dispedit/dispedit/dispedit.component.mjs +481 -0
- package/esm2022/lib/dispedit/factor.pipe.mjs +83 -0
- package/esm2022/lib/dispedit/factorc.pipe.mjs +101 -0
- package/esm2022/lib/dispedit/fkselect/fkselect.component.mjs +143 -0
- package/esm2022/lib/dispedit/flags/flags.component.mjs +141 -0
- package/esm2022/lib/dispedit/m2mselect/m2mselect.component.mjs +319 -0
- package/esm2022/lib/dispedit/richedit/richedit.component.mjs +127 -0
- package/esm2022/lib/dispedit/sdelete/sdelete.component.mjs +94 -0
- package/esm2022/lib/messages/message-zone/message-zone.component.mjs +58 -0
- package/esm2022/lib/messages/message.service.mjs +152 -0
- package/esm2022/lib/modellist/model-list-fields/model-list-field-header/model-list-field-header.component.mjs +66 -0
- package/esm2022/lib/modellist/model-list-fields/model-list-fields-selector/model-list-fields-selector.component.mjs +65 -0
- package/esm2022/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.component.mjs +113 -0
- package/esm2022/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.component.mjs +30 -0
- package/esm2022/lib/modellist/model-list-filters/filters/model-list-date-filter/model-list-date-filter.component.mjs +41 -0
- package/esm2022/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.component.mjs +41 -0
- package/esm2022/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetime-range-filter.component.mjs +22 -0
- package/esm2022/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.component.mjs +50 -0
- package/esm2022/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.component.mjs +64 -0
- package/esm2022/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.component.mjs +47 -0
- package/esm2022/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.component.mjs +57 -0
- package/esm2022/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.component.mjs +52 -0
- package/esm2022/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.component.mjs +41 -0
- package/esm2022/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.component.mjs +175 -0
- package/esm2022/lib/modellist/model-list-filters/model-list-filters/model-list-filters.component.mjs +51 -0
- package/esm2022/lib/modellist/model-list-filters/model-list-filters-select/model-list-filters-select.component.mjs +31 -0
- package/esm2022/lib/modellist/model-list-paginator/model-list-paginator/model-list-paginator.component.mjs +71 -0
- package/esm2022/lib/modellist/model-list-sorter/model-list-sorter/model-list-sorter.component.mjs +50 -0
- package/esm2022/lib/modellist/model-list.service.mjs +158 -0
- package/esm2022/lib/routing/breadcrumb/breadcrumb.component.mjs +143 -0
- package/esm2022/lib/updates/update/update.component.mjs +18 -0
- package/esm2022/lib/updates/update.service.mjs +59 -0
- package/esm2022/lib/uploader/ng-file-drop.directive.mjs +82 -0
- package/esm2022/lib/uploader/ng-file-select.directive.mjs +52 -0
- package/esm2022/lib/uploader/ngx-uploader.module.mjs +18 -0
- package/esm2022/lib/utils/tab-memory.service.mjs +81 -0
- package/{fesm2020 → fesm2022}/solidev-data.mjs +149 -149
- package/{fesm2020 → fesm2022}/solidev-data.mjs.map +1 -1
- package/lib/dispedit/dispedit/dispedit.component.d.ts +1 -1
- package/lib/dispedit/fkselect/fkselect.component.d.ts +1 -1
- package/lib/dispedit/flags/flags.component.d.ts +1 -1
- package/lib/dispedit/m2mselect/m2mselect.component.d.ts +1 -1
- package/lib/dispedit/richedit/richedit.component.d.ts +1 -1
- package/lib/dispedit/sdelete/sdelete.component.d.ts +1 -1
- package/lib/messages/message-zone/message-zone.component.d.ts +1 -1
- package/lib/modellist/model-list-fields/model-list-field-header/model-list-field-header.component.d.ts +1 -1
- package/lib/modellist/model-list-fields/model-list-fields-selector/model-list-fields-selector.component.d.ts +1 -1
- package/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.component.d.ts +1 -1
- package/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.component.d.ts +1 -1
- package/lib/modellist/model-list-filters/filters/model-list-date-filter/model-list-date-filter.component.d.ts +1 -1
- package/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.component.d.ts +1 -1
- package/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetime-range-filter.component.d.ts +1 -1
- package/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.component.d.ts +1 -1
- package/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.component.d.ts +1 -1
- package/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.component.d.ts +1 -1
- package/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.component.d.ts +1 -1
- package/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.component.d.ts +1 -1
- package/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.component.d.ts +1 -1
- package/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.component.d.ts +1 -1
- package/lib/modellist/model-list-filters/model-list-filters/model-list-filters.component.d.ts +1 -1
- package/lib/modellist/model-list-filters/model-list-filters-select/model-list-filters-select.component.d.ts +1 -1
- package/lib/modellist/model-list-paginator/model-list-paginator/model-list-paginator.component.d.ts +1 -1
- package/lib/modellist/model-list-sorter/model-list-sorter/model-list-sorter.component.d.ts +1 -1
- package/lib/routing/breadcrumb/breadcrumb.component.d.ts +1 -1
- package/lib/uploader/ng-file-drop.directive.d.ts +1 -1
- package/lib/uploader/ng-file-select.directive.d.ts +1 -1
- package/package.json +7 -13
- package/esm2020/lib/auth/auth-interceptor.service.mjs +0 -91
- package/esm2020/lib/data/data-backend.mjs +0 -134
- package/esm2020/lib/data/data-model.mjs +0 -291
- package/esm2020/lib/dispedit/choice.pipe.mjs +0 -79
- package/esm2020/lib/dispedit/dispedit/dispedit.component.mjs +0 -480
- package/esm2020/lib/dispedit/factor.pipe.mjs +0 -81
- package/esm2020/lib/dispedit/factorc.pipe.mjs +0 -99
- package/esm2020/lib/dispedit/fkselect/fkselect.component.mjs +0 -142
- package/esm2020/lib/dispedit/flags/flags.component.mjs +0 -140
- package/esm2020/lib/dispedit/m2mselect/m2mselect.component.mjs +0 -318
- package/esm2020/lib/dispedit/richedit/richedit.component.mjs +0 -126
- package/esm2020/lib/dispedit/sdelete/sdelete.component.mjs +0 -93
- package/esm2020/lib/messages/message-zone/message-zone.component.mjs +0 -57
- package/esm2020/lib/messages/message.service.mjs +0 -151
- package/esm2020/lib/modellist/model-list-fields/model-list-field-header/model-list-field-header.component.mjs +0 -65
- package/esm2020/lib/modellist/model-list-fields/model-list-fields-selector/model-list-fields-selector.component.mjs +0 -64
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.component.mjs +0 -112
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.component.mjs +0 -29
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-date-filter/model-list-date-filter.component.mjs +0 -40
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.component.mjs +0 -40
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetime-range-filter.component.mjs +0 -21
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.component.mjs +0 -49
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.component.mjs +0 -63
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.component.mjs +0 -46
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.component.mjs +0 -56
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.component.mjs +0 -51
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.component.mjs +0 -40
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.component.mjs +0 -174
- package/esm2020/lib/modellist/model-list-filters/model-list-filters/model-list-filters.component.mjs +0 -50
- package/esm2020/lib/modellist/model-list-filters/model-list-filters-select/model-list-filters-select.component.mjs +0 -30
- package/esm2020/lib/modellist/model-list-paginator/model-list-paginator/model-list-paginator.component.mjs +0 -70
- package/esm2020/lib/modellist/model-list-sorter/model-list-sorter/model-list-sorter.component.mjs +0 -49
- package/esm2020/lib/modellist/model-list.service.mjs +0 -157
- package/esm2020/lib/routing/breadcrumb/breadcrumb.component.mjs +0 -142
- package/esm2020/lib/updates/update/update.component.mjs +0 -17
- package/esm2020/lib/updates/update.service.mjs +0 -58
- package/esm2020/lib/uploader/ng-file-drop.directive.mjs +0 -81
- package/esm2020/lib/uploader/ng-file-select.directive.mjs +0 -51
- package/esm2020/lib/uploader/ngx-uploader.module.mjs +0 -17
- package/esm2020/lib/utils/tab-memory.service.mjs +0 -80
- package/fesm2015/solidev-data.mjs +0 -6228
- package/fesm2015/solidev-data.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/auth/jwt.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data/data-collection.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data/data-collection.mock.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data/data-parameters.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data/data-query.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data/data-query.mock.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data/fields/base.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data/fields/boolean.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data/fields/computed.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data/fields/datetime.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data/fields/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data/fields/numbers.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data/fields/primaryfield.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data/fields/relations.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data/fields/stringfields.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/dispedit/dispedit/dispedit.constants.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modellist/model-list-fields/model-list-field-header/messages.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modellist/model-list-fields/model-list-fields.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modellist/model-list-filters/filters/filtertypes.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modellist/model-list-filters/filters/model-list-date-filter/model-list-date-filter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetimerange-filter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/adapters/ban.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modellist/model-list-filters/model-list-filter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modellist/model-list-filters/model-list-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modellist/model-list-paginator/model-list-paginator.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modellist/model-list-sorter/model-list-sorter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/routing/routing.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/uploader/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/uploader/interfaces.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/uploader/ngx-uploader.class.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/slugify.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/template.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/solidev-data.mjs +0 -0
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
|
2
|
-
import { firstValueFrom } from 'rxjs';
|
|
3
|
-
import { NgbOffcanvasModule, } from '@ng-bootstrap/ng-bootstrap';
|
|
4
|
-
import { CommonModule } from '@angular/common';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@ng-bootstrap/ng-bootstrap";
|
|
7
|
-
import * as i2 from "../../messages/message.service";
|
|
8
|
-
import * as i3 from "@angular/common";
|
|
9
|
-
export class SafeDeleteComponent {
|
|
10
|
-
constructor(_ofc, _msgs) {
|
|
11
|
-
this._ofc = _ofc;
|
|
12
|
-
this._msgs = _msgs;
|
|
13
|
-
this.checks = {};
|
|
14
|
-
this.messages = {};
|
|
15
|
-
this.deleted = new EventEmitter();
|
|
16
|
-
this.display = 'button';
|
|
17
|
-
}
|
|
18
|
-
async checkDelete(model) {
|
|
19
|
-
const service = this.service || this.model._collection;
|
|
20
|
-
if (service) {
|
|
21
|
-
try {
|
|
22
|
-
this.result = await firstValueFrom(service.delete(this.model, { params: { doit: 'no' } }));
|
|
23
|
-
this.ofc = this._ofc.open(this._dialogRef, {
|
|
24
|
-
position: 'end',
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
catch (e) {
|
|
28
|
-
console.error(e);
|
|
29
|
-
if (this.messages.error) {
|
|
30
|
-
this._msgs.error(this.messages.error, e.error?.message || e.message || '');
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
async reallyDelete() {
|
|
36
|
-
if (this.actionFn) {
|
|
37
|
-
const res = await this.actionFn(this.model);
|
|
38
|
-
if (res.success && this.messages.success) {
|
|
39
|
-
this._msgs.success(this.messages.success);
|
|
40
|
-
}
|
|
41
|
-
else if (!res.success && this.messages.error) {
|
|
42
|
-
this._msgs.error(this.messages.error);
|
|
43
|
-
}
|
|
44
|
-
this.ofc?.close();
|
|
45
|
-
if (res.success) {
|
|
46
|
-
this.deleted.emit(this.result);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
const service = this.service || this.model._collection;
|
|
51
|
-
if (service) {
|
|
52
|
-
try {
|
|
53
|
-
this.result = await firstValueFrom(service.delete(this.model, { params: { doit: 'really' } }));
|
|
54
|
-
if (this.messages.success) {
|
|
55
|
-
this._msgs.success(this.messages.success);
|
|
56
|
-
}
|
|
57
|
-
this.ofc?.close();
|
|
58
|
-
this.deleted.emit(this.result);
|
|
59
|
-
}
|
|
60
|
-
catch (e) {
|
|
61
|
-
console.error(e);
|
|
62
|
-
if (this.messages.error) {
|
|
63
|
-
this._msgs.error(this.messages.error, e.error?.message || e.message || '');
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
SafeDeleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SafeDeleteComponent, deps: [{ token: i1.NgbOffcanvas }, { token: i2.DataMessageService }], target: i0.ɵɵFactoryTarget.Component });
|
|
71
|
-
SafeDeleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: SafeDeleteComponent, isStandalone: true, selector: "data-safe-delete", inputs: { model: "model", service: "service", actionFn: "actionFn", checks: "checks", messages: "messages", display: "display" }, outputs: { deleted: "deleted" }, viewQueries: [{ propertyName: "_dialogRef", first: true, predicate: ["dialog"], descendants: true, static: true }], ngImport: i0, template: "\n<ng-template #dialog let-offcanvas>\n <div class=\"offcanvas-header\">\n <h2 class=\"offcanvas-title text-danger text-center\"><i class=\"bi bi-trash me-2\"></i>Supprimer r\u00E9ellement ??</h2>\n </div>\n <div class=\"offcanvas-body text-danger\" *ngIf=\"result\">\n <div class=\"text-center my-4 fs-1\"><i class=\"bi bi-exclamation-diamond my-5\"></i></div>\n <div class=\"fs-4\">\n <p>La suppression de cet \u00E9l\u00E9ment supprimera {{result.count}} \u00E9l\u00E9ments dans la base de donn\u00E9es..</p>\n </div>\n <table class=\"table table-sm table-striped table-danger\">\n <thead>\n <tr>\n <th>Type d'\u00E9l\u00E9ment</th>\n <th>Nombre</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let rl of result.details\">\n <tr>\n <td>{{checks[rl[0]] ? checks[rl[0]] : rl[0]}}</td>\n <td>{{rl[1]}}</td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n <button class=\"w-100 btn btn-lg btn-danger\" (click)=\"reallyDelete()\"><i class=\"bi bi-trash me-2\"></i>Je confirme la suppression</button>\n <button class=\"w-100 btn btn-outline-secondary my-3\" (click)=\"offcanvas.close()\"><i class=\"bi bi-door-open me-2\"></i>Je renonce \u00E0 la suppression</button>\n </div>\n</ng-template>\n<ng-template #contentTpl>\n <ng-content></ng-content>\n</ng-template>\n<button class=\"btn btn-sm btn-danger\" (click)=\"checkDelete(model)\" *ngIf=\"display==='button'\"><i class=\"bi bi-trash\"></i>\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n</button>\n<button class=\"btn btn-sm btn-outline-danger float-end\" (click)=\"checkDelete(model)\" *ngIf=\"display==='fbutton'\"><i class=\"bi bi-trash mx-2\"></i></button><i class=\"bi bi-trash mx-2\" (click)=\"checkDelete(model)\" *ngIf=\"display==='icon'\" role=\"button\"></i>\n<div (click)=\"checkDelete(model)\" *ngIf=\"display==='custom'\" role=\"button\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: NgbOffcanvasModule }] });
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SafeDeleteComponent, decorators: [{
|
|
73
|
-
type: Component,
|
|
74
|
-
args: [{ selector: 'data-safe-delete', standalone: true, imports: [CommonModule, NgbOffcanvasModule], template: "\n<ng-template #dialog let-offcanvas>\n <div class=\"offcanvas-header\">\n <h2 class=\"offcanvas-title text-danger text-center\"><i class=\"bi bi-trash me-2\"></i>Supprimer r\u00E9ellement ??</h2>\n </div>\n <div class=\"offcanvas-body text-danger\" *ngIf=\"result\">\n <div class=\"text-center my-4 fs-1\"><i class=\"bi bi-exclamation-diamond my-5\"></i></div>\n <div class=\"fs-4\">\n <p>La suppression de cet \u00E9l\u00E9ment supprimera {{result.count}} \u00E9l\u00E9ments dans la base de donn\u00E9es..</p>\n </div>\n <table class=\"table table-sm table-striped table-danger\">\n <thead>\n <tr>\n <th>Type d'\u00E9l\u00E9ment</th>\n <th>Nombre</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let rl of result.details\">\n <tr>\n <td>{{checks[rl[0]] ? checks[rl[0]] : rl[0]}}</td>\n <td>{{rl[1]}}</td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n <button class=\"w-100 btn btn-lg btn-danger\" (click)=\"reallyDelete()\"><i class=\"bi bi-trash me-2\"></i>Je confirme la suppression</button>\n <button class=\"w-100 btn btn-outline-secondary my-3\" (click)=\"offcanvas.close()\"><i class=\"bi bi-door-open me-2\"></i>Je renonce \u00E0 la suppression</button>\n </div>\n</ng-template>\n<ng-template #contentTpl>\n <ng-content></ng-content>\n</ng-template>\n<button class=\"btn btn-sm btn-danger\" (click)=\"checkDelete(model)\" *ngIf=\"display==='button'\"><i class=\"bi bi-trash\"></i>\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n</button>\n<button class=\"btn btn-sm btn-outline-danger float-end\" (click)=\"checkDelete(model)\" *ngIf=\"display==='fbutton'\"><i class=\"bi bi-trash mx-2\"></i></button><i class=\"bi bi-trash mx-2\" (click)=\"checkDelete(model)\" *ngIf=\"display==='icon'\" role=\"button\"></i>\n<div (click)=\"checkDelete(model)\" *ngIf=\"display==='custom'\" role=\"button\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n</div>" }]
|
|
75
|
-
}], ctorParameters: function () { return [{ type: i1.NgbOffcanvas }, { type: i2.DataMessageService }]; }, propDecorators: { model: [{
|
|
76
|
-
type: Input
|
|
77
|
-
}], service: [{
|
|
78
|
-
type: Input
|
|
79
|
-
}], actionFn: [{
|
|
80
|
-
type: Input
|
|
81
|
-
}], checks: [{
|
|
82
|
-
type: Input
|
|
83
|
-
}], messages: [{
|
|
84
|
-
type: Input
|
|
85
|
-
}], deleted: [{
|
|
86
|
-
type: Output
|
|
87
|
-
}], display: [{
|
|
88
|
-
type: Input
|
|
89
|
-
}], _dialogRef: [{
|
|
90
|
-
type: ViewChild,
|
|
91
|
-
args: ['dialog', { static: true }]
|
|
92
|
-
}] } });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2RlbGV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvZGlzcGVkaXQvc2RlbGV0ZS9zZGVsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9kaXNwZWRpdC9zZGVsZXRlL3NkZWxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBRUwsa0JBQWtCLEdBRW5CLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQWUvQyxNQUFNLE9BQU8sbUJBQW1CO0lBYTlCLFlBQW9CLElBQWtCLEVBQVUsS0FBeUI7UUFBckQsU0FBSSxHQUFKLElBQUksQ0FBYztRQUFVLFVBQUssR0FBTCxLQUFLLENBQW9CO1FBVHpELFdBQU0sR0FBZ0MsRUFBRSxDQUFDO1FBQ3pDLGFBQVEsR0FBeUMsRUFBRSxDQUFDO1FBQ25ELFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUNoRCxZQUFPLEdBQTZDLFFBQVEsQ0FBQztJQU83RSxDQUFDO0lBRU0sS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFnQjtRQUN2QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQ3ZELElBQUksT0FBTyxFQUFFO1lBQ1gsSUFBSTtnQkFDRixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sY0FBYyxDQUNoQyxPQUFPLENBQUMsTUFBTSxDQUFDLElB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QXVDTSx5RERWTSxZQUFZLHNhQUFFLGtCQUFrQjsyRkFFL0IsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNFLGtCQUFrQixjQUdoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLENBQUM7b0lBRzNCLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVyxPQUFPO3NCQUF2QixNQUFNO2dCQUNTLE9BQU87c0JBQXRCLEtBQUs7Z0JBR0UsVUFBVTtzQkFEakIsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRhTW9kZWwgfSBmcm9tICcuLi8uLi9kYXRhL2RhdGEtbW9kZWwnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2RhdGEvZGF0YS1jb2xsZWN0aW9uJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBOZ2JPZmZjYW52YXMsXG4gIE5nYk9mZmNhbnZhc01vZHVsZSxcbiAgTmdiT2ZmY2FudmFzUmVmLFxufSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGF0YU1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbWVzc2FnZXMvbWVzc2FnZS5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBGYWtlRGVsZXRlUmVzdWx0IHtcbiAgY291bnQ6IG51bWJlcjtcbiAgZGV0YWlsczogW3N0cmluZywgbnVtYmVyXVtdO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXRhLXNhZmUtZGVsZXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NkZWxldGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZGVsZXRlLmNvbXBvbmVudC5zYXNzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5nYk9mZmNhbnZhc01vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNhZmVEZWxldGVDb21wb25lbnQ8VCBleHRlbmRzIERhdGFNb2RlbD4ge1xuICBASW5wdXQoKSBwdWJsaWMgbW9kZWwhOiBUO1xuICBASW5wdXQoKSBwdWJsaWMgc2VydmljZT86IENvbGxlY3Rpb248VD47XG4gIEBJbnB1dCgpIHB1YmxpYyBhY3Rpb25Gbj86IChtb2RlbDogVCkgPT4gUHJvbWlzZTx7IHN1Y2Nlc3M6IGJvb2xlYW4gfT47XG4gIEBJbnB1dCgpIHB1YmxpYyBjaGVja3M6IHsgW2luZGV4OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICBASW5wdXQoKSBwdWJsaWMgbWVzc2FnZXM6IHsgc3VjY2Vzcz86IHN0cmluZzsgZXJyb3I/OiBzdHJpbmcgfSA9IHt9O1xuICBAT3V0cHV0KCkgcHVibGljIGRlbGV0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZha2VEZWxldGVSZXN1bHQ+KCk7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNwbGF5OiAnZmJ1dHRvbicgfCAnYnV0dG9uJyB8ICdpY29uJyB8ICdjdXN0b20nID0gJ2J1dHRvbic7XG4gIHB1YmxpYyByZXN1bHQ/OiBGYWtlRGVsZXRlUmVzdWx0O1xuICBAVmlld0NoaWxkKCdkaWFsb2cnLCB7c3RhdGljOiB0cnVlfSlcbiAgcHJpdmF0ZSBfZGlhbG9nUmVmPzogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gIHByaXZhdGUgb2ZjPzogTmdiT2ZmY2FudmFzUmVmO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX29mYzogTmdiT2ZmY2FudmFzLCBwcml2YXRlIF9tc2dzOiBEYXRhTWVzc2FnZVNlcnZpY2UpIHtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjaGVja0RlbGV0ZShtb2RlbDogRGF0YU1vZGVsKSB7XG4gICAgY29uc3Qgc2VydmljZSA9IHRoaXMuc2VydmljZSB8fCB0aGlzLm1vZGVsLl9jb2xsZWN0aW9uO1xuICAgIGlmIChzZXJ2aWNlKSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLnJlc3VsdCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAgIHNlcnZpY2UuZGVsZXRlKHRoaXMubW9kZWwsIHtwYXJhbXM6IHtkb2l0OiAnbm8nfX0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5vZmMgPSB0aGlzLl9vZmMub3Blbih0aGlzLl9kaWFsb2dSZWYsIHtcbiAgICAgICAgICBwb3NpdGlvbjogJ2VuZCcsXG4gICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICBpZiAodGhpcy5tZXNzYWdlcy5lcnJvcikge1xuICAgICAgICAgIHRoaXMuX21zZ3MuZXJyb3IoXG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VzLmVycm9yLFxuICAgICAgICAgICAgKGUgYXMgYW55KS5lcnJvcj8ubWVzc2FnZSB8fCAoZSBhcyBhbnkpLm1lc3NhZ2UgfHwgJydcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIHJlYWxseURlbGV0ZSgpIHtcbiAgICBpZiAodGhpcy5hY3Rpb25Gbikge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5hY3Rpb25Gbih0aGlzLm1vZGVsKTtcbiAgICAgIGlmIChyZXMuc3VjY2VzcyAmJiB0aGlzLm1lc3NhZ2VzLnN1Y2Nlc3MpIHtcbiAgICAgICAgdGhpcy5fbXNncy5zdWNjZXNzKHRoaXMubWVzc2FnZXMuc3VjY2Vzcyk7XG4gICAgICB9IGVsc2UgaWYgKCFyZXMuc3VjY2VzcyAmJiB0aGlzLm1lc3NhZ2VzLmVycm9yKSB7XG4gICAgICAgIHRoaXMuX21zZ3MuZXJyb3IodGhpcy5tZXNzYWdlcy5lcnJvcik7XG4gICAgICB9XG4gICAgICB0aGlzLm9mYz8uY2xvc2UoKTtcbiAgICAgIGlmIChyZXMuc3VjY2Vzcykge1xuICAgICAgICB0aGlzLmRlbGV0ZWQuZW1pdCh0aGlzLnJlc3VsdCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHNlcnZpY2UgPSB0aGlzLnNlcnZpY2UgfHwgdGhpcy5tb2RlbC5fY29sbGVjdGlvbjtcbiAgICAgIGlmIChzZXJ2aWNlKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdGhpcy5yZXN1bHQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgICAgIHNlcnZpY2UuZGVsZXRlKHRoaXMubW9kZWwsIHtwYXJhbXM6IHtkb2l0OiAncmVhbGx5J319KVxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKHRoaXMubWVzc2FnZXMuc3VjY2Vzcykge1xuICAgICAgICAgICAgdGhpcy5fbXNncy5zdWNjZXNzKHRoaXMubWVzc2FnZXMuc3VjY2Vzcyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMub2ZjPy5jbG9zZSgpO1xuICAgICAgICAgIHRoaXMuZGVsZXRlZC5lbWl0KHRoaXMucmVzdWx0KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgaWYgKHRoaXMubWVzc2FnZXMuZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMuX21zZ3MuZXJyb3IoXG4gICAgICAgICAgICAgIHRoaXMubWVzc2FnZXMuZXJyb3IsXG4gICAgICAgICAgICAgIChlIGFzIGFueSkuZXJyb3I/Lm1lc3NhZ2UgfHwgKGUgYXMgYW55KS5tZXNzYWdlIHx8ICcnXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiXG48bmctdGVtcGxhdGUgI2RpYWxvZyBsZXQtb2ZmY2FudmFzPlxuICA8ZGl2IGNsYXNzPVwib2ZmY2FudmFzLWhlYWRlclwiPlxuICAgIDxoMiBjbGFzcz1cIm9mZmNhbnZhcy10aXRsZSB0ZXh0LWRhbmdlciB0ZXh0LWNlbnRlclwiPjxpIGNsYXNzPVwiYmkgYmktdHJhc2ggbWUtMlwiPjwvaT5TdXBwcmltZXIgcsOpZWxsZW1lbnQgPz88L2gyPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm9mZmNhbnZhcy1ib2R5IHRleHQtZGFuZ2VyXCIgKm5nSWY9XCJyZXN1bHRcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbXktNCBmcy0xXCI+PGkgY2xhc3M9XCJiaSBiaS1leGNsYW1hdGlvbi1kaWFtb25kIG15LTVcIj48L2k+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZzLTRcIj5cbiAgICAgIDxwPkxhIHN1cHByZXNzaW9uIGRlIGNldCDDqWzDqW1lbnQgc3VwcHJpbWVyYSB7e3Jlc3VsdC5jb3VudH19IMOpbMOpbWVudHMgZGFucyBsYSBiYXNlIGRlIGRvbm7DqWVzLi48L3A+XG4gICAgPC9kaXY+XG4gICAgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc20gdGFibGUtc3RyaXBlZCB0YWJsZS1kYW5nZXJcIj5cbiAgICAgIDx0aGVhZD5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0aD5UeXBlIGQnw6lsw6ltZW50PC90aD5cbiAgICAgICAgICA8dGg+Tm9tYnJlPC90aD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGhlYWQ+XG4gICAgICA8dGJvZHk+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJsIG9mIHJlc3VsdC5kZXRhaWxzXCI+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRkPnt7Y2hlY2tzW3JsWzBdXSA/IGNoZWNrc1tybFswXV0gOiBybFswXX19PC90ZD5cbiAgICAgICAgICAgIDx0ZD57e3JsWzFdfX08L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC90Ym9keT5cbiAgICA8L3RhYmxlPlxuICAgIDxidXR0b24gY2xhc3M9XCJ3LTEwMCBidG4gYnRuLWxnIGJ0bi1kYW5nZXJcIiAoY2xpY2spPVwicmVhbGx5RGVsZXRlKClcIj48aSBjbGFzcz1cImJpIGJpLXRyYXNoIG1lLTJcIj48L2k+SmUgY29uZmlybWUgbGEgc3VwcHJlc3Npb248L2J1dHRvbj5cbiAgICA8YnV0dG9uIGNsYXNzPVwidy0xMDAgYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBteS0zXCIgKGNsaWNrKT1cIm9mZmNhbnZhcy5jbG9zZSgpXCI+PGkgY2xhc3M9XCJiaSBiaS1kb29yLW9wZW4gbWUtMlwiPjwvaT5KZSByZW5vbmNlIMOgIGxhIHN1cHByZXNzaW9uPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjY29udGVudFRwbD5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbjxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1kYW5nZXJcIiAoY2xpY2spPVwiY2hlY2tEZWxldGUobW9kZWwpXCIgKm5nSWY9XCJkaXNwbGF5PT09J2J1dHRvbidcIj48aSBjbGFzcz1cImJpIGJpLXRyYXNoXCI+PC9pPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFRwbFwiPjwvbmctY29udGFpbmVyPlxuPC9idXR0b24+XG48YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tb3V0bGluZS1kYW5nZXIgZmxvYXQtZW5kXCIgKGNsaWNrKT1cImNoZWNrRGVsZXRlKG1vZGVsKVwiICpuZ0lmPVwiZGlzcGxheT09PSdmYnV0dG9uJ1wiPjxpIGNsYXNzPVwiYmkgYmktdHJhc2ggbXgtMlwiPjwvaT48L2J1dHRvbj48aSBjbGFzcz1cImJpIGJpLXRyYXNoIG14LTJcIiAoY2xpY2spPVwiY2hlY2tEZWxldGUobW9kZWwpXCIgKm5nSWY9XCJkaXNwbGF5PT09J2ljb24nXCIgcm9sZT1cImJ1dHRvblwiPjwvaT5cbjxkaXYgKGNsaWNrKT1cImNoZWNrRGVsZXRlKG1vZGVsKVwiICpuZ0lmPVwiZGlzcGxheT09PSdjdXN0b20nXCIgcm9sZT1cImJ1dHRvblwiPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFRwbFwiPjwvbmctY29udGFpbmVyPlxuPC9kaXY+Il19
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { animate, style, transition, trigger } from '@angular/animations';
|
|
3
|
-
import { ReplaySubject, takeUntil } from 'rxjs';
|
|
4
|
-
import { CommonModule } from '@angular/common';
|
|
5
|
-
import { provideAnimations } from '@angular/platform-browser/animations';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../message.service";
|
|
8
|
-
import * as i2 from "@angular/common";
|
|
9
|
-
export class MessageZoneComponent {
|
|
10
|
-
constructor(messages) {
|
|
11
|
-
this.messages = messages;
|
|
12
|
-
this.current = [];
|
|
13
|
-
this._subscriptions$ = new ReplaySubject();
|
|
14
|
-
}
|
|
15
|
-
ngOnInit() {
|
|
16
|
-
this.messages.current
|
|
17
|
-
.pipe(takeUntil(this._subscriptions$))
|
|
18
|
-
.subscribe((messages) => {
|
|
19
|
-
this.current = messages;
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
ngOnDestroy() {
|
|
23
|
-
this._subscriptions$.next();
|
|
24
|
-
this._subscriptions$.complete();
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
MessageZoneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: MessageZoneComponent, deps: [{ token: i1.DataMessageService }], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
-
MessageZoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: MessageZoneComponent, isStandalone: true, selector: "data-message-zone", inputs: { filter: "filter" }, providers: [provideAnimations()], ngImport: i0, template: "\n<div class=\"messagezone\">\n <div class=\"alert\" *ngFor=\"let message of current\" [@dispStatus]=\"message.status\" [class]=\"message.style\" (click)=\"message.showTrace=!message.showTrace\">\n <button class=\"btn-close\" type=\"button\" (click)=\"messages.ack(message)\" aria-label=\"Close\"></button><strong>{{message.title}}</strong> {{message.message}}\n <div class=\"pretrace\" *ngIf=\"message.showTrace\">{{message.trace}}</div>\n </div>\n</div>", styles: [".messagezone{position:fixed;top:30px;right:40px;width:35vw;height:auto;z-index:1050}.messagezone .pretrace{white-space:pre-wrap;font-family:monospace;font-size:.7rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
|
|
29
|
-
trigger('dispStatus', [
|
|
30
|
-
transition('void => *', [
|
|
31
|
-
style({ opacity: 0 }),
|
|
32
|
-
animate(550, style({ opacity: 1 })),
|
|
33
|
-
]),
|
|
34
|
-
transition('* => void', [
|
|
35
|
-
style({ opacity: '*' }),
|
|
36
|
-
animate(550, style({ opacity: 0 })),
|
|
37
|
-
]),
|
|
38
|
-
]),
|
|
39
|
-
] });
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: MessageZoneComponent, decorators: [{
|
|
41
|
-
type: Component,
|
|
42
|
-
args: [{ selector: 'data-message-zone', standalone: true, imports: [CommonModule], providers: [provideAnimations()], animations: [
|
|
43
|
-
trigger('dispStatus', [
|
|
44
|
-
transition('void => *', [
|
|
45
|
-
style({ opacity: 0 }),
|
|
46
|
-
animate(550, style({ opacity: 1 })),
|
|
47
|
-
]),
|
|
48
|
-
transition('* => void', [
|
|
49
|
-
style({ opacity: '*' }),
|
|
50
|
-
animate(550, style({ opacity: 0 })),
|
|
51
|
-
]),
|
|
52
|
-
]),
|
|
53
|
-
], template: "\n<div class=\"messagezone\">\n <div class=\"alert\" *ngFor=\"let message of current\" [@dispStatus]=\"message.status\" [class]=\"message.style\" (click)=\"message.showTrace=!message.showTrace\">\n <button class=\"btn-close\" type=\"button\" (click)=\"messages.ack(message)\" aria-label=\"Close\"></button><strong>{{message.title}}</strong> {{message.message}}\n <div class=\"pretrace\" *ngIf=\"message.showTrace\">{{message.trace}}</div>\n </div>\n</div>", styles: [".messagezone{position:fixed;top:30px;right:40px;width:35vw;height:auto;z-index:1050}.messagezone .pretrace{white-space:pre-wrap;font-family:monospace;font-size:.7rem}\n"] }]
|
|
54
|
-
}], ctorParameters: function () { return [{ type: i1.DataMessageService }]; }, propDecorators: { filter: [{
|
|
55
|
-
type: Input
|
|
56
|
-
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS16b25lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9tZXNzYWdlcy9tZXNzYWdlLXpvbmUvbWVzc2FnZS16b25lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9tZXNzYWdlcy9tZXNzYWdlLXpvbmUvbWVzc2FnZS16b25lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7O0FBc0J6RSxNQUFNLE9BQU8sb0JBQW9CO0lBSy9CLFlBQW1CLFFBQTRCO1FBQTVCLGFBQVEsR0FBUixRQUFRLENBQW9CO1FBSHhDLFlBQU8sR0FBYyxFQUFFLENBQUM7UUFDdkIsb0JBQWUsR0FBRyxJQUFJLGFBQWEsRUFBUSxDQUFDO0lBRUYsQ0FBQztJQUU1QyxRQUFRO1FBQ2IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPO2FBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2FBQ3JDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7O2lIQWxCVSxvQkFBb0I7cUdBQXBCLG9CQUFvQiw4RkFkcEIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLDBCQ2JsQyx1ZEFNTSxpT0RNTSxZQUFZLGtQQUVWO1FBQ1YsT0FBTyxDQUFDLFlBQVksRUFBRTtZQUNwQixVQUFVLENBQUMsV0FBVyxFQUFFO2dCQUN0QixLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDcEMsQ0FBQztZQUNGLFVBQVUsQ0FBQyxXQUFXLEVBQUU7Z0JBQ3RCLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQztnQkFDdkIsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNwQyxDQUFDO1NBQ0gsQ0FBQztLQUNIOzJGQUVVLG9CQUFvQjtrQkFwQmhDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBR2pCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxhQUNaLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxjQUNwQjt3QkFDVixPQUFPLENBQUMsWUFBWSxFQUFFOzRCQUNwQixVQUFVLENBQUMsV0FBVyxFQUFFO2dDQUN0QixLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0NBQ3JCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7NkJBQ3BDLENBQUM7NEJBQ0YsVUFBVSxDQUFDLFdBQVcsRUFBRTtnQ0FDdEIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDO2dDQUN2QixPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDOzZCQUNwQyxDQUFDO3lCQUNILENBQUM7cUJBQ0g7eUdBR2UsTUFBTTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgRGF0YU1lc3NhZ2VTZXJ2aWNlLCBNZXNzYWdlIH0gZnJvbSAnLi4vbWVzc2FnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlcGxheVN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IHByb3ZpZGVBbmltYXRpb25zIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGF0YS1tZXNzYWdlLXpvbmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVzc2FnZS16b25lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVzc2FnZS16b25lLmNvbXBvbmVudC5zYXNzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBwcm92aWRlcnM6IFtwcm92aWRlQW5pbWF0aW9ucygpXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2Rpc3BTdGF0dXMnLCBbXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBbXG4gICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMCB9KSxcbiAgICAgICAgYW5pbWF0ZSg1NTAsIHN0eWxlKHsgb3BhY2l0eTogMSB9KSksXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJyogPT4gdm9pZCcsIFtcbiAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAnKicgfSksXG4gICAgICAgIGFuaW1hdGUoNTUwLCBzdHlsZSh7IG9wYWNpdHk6IDAgfSkpLFxuICAgICAgXSksXG4gICAgXSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2Vab25lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwdWJsaWMgZmlsdGVyPzogc3RyaW5nO1xuICBwdWJsaWMgY3VycmVudDogTWVzc2FnZVtdID0gW107XG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMkID0gbmV3IFJlcGxheVN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbWVzc2FnZXM6IERhdGFNZXNzYWdlU2VydmljZSkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tZXNzYWdlcy5jdXJyZW50XG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fc3Vic2NyaXB0aW9ucyQpKVxuICAgICAgLnN1YnNjcmliZSgobWVzc2FnZXMpID0+IHtcbiAgICAgICAgdGhpcy5jdXJyZW50ID0gbWVzc2FnZXM7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zJC5uZXh0KCk7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucyQuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiXG48ZGl2IGNsYXNzPVwibWVzc2FnZXpvbmVcIj5cbiAgPGRpdiBjbGFzcz1cImFsZXJ0XCIgKm5nRm9yPVwibGV0IG1lc3NhZ2Ugb2YgY3VycmVudFwiIFtAZGlzcFN0YXR1c109XCJtZXNzYWdlLnN0YXR1c1wiIFtjbGFzc109XCJtZXNzYWdlLnN0eWxlXCIgKGNsaWNrKT1cIm1lc3NhZ2Uuc2hvd1RyYWNlPSFtZXNzYWdlLnNob3dUcmFjZVwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJidG4tY2xvc2VcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm1lc3NhZ2VzLmFjayhtZXNzYWdlKVwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiPjwvYnV0dG9uPjxzdHJvbmc+e3ttZXNzYWdlLnRpdGxlfX08L3N0cm9uZz4mbmJzcDsge3ttZXNzYWdlLm1lc3NhZ2V9fVxuICAgIDxkaXYgY2xhc3M9XCJwcmV0cmFjZVwiICpuZ0lmPVwibWVzc2FnZS5zaG93VHJhY2VcIj57e21lc3NhZ2UudHJhY2V9fTwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable, InjectionToken, Optional } from "@angular/core";
|
|
2
|
-
import { ReplaySubject, timer } from "rxjs";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export var DEFAULT_TIMEOUTS;
|
|
5
|
-
(function (DEFAULT_TIMEOUTS) {
|
|
6
|
-
DEFAULT_TIMEOUTS[DEFAULT_TIMEOUTS["SUCCESS"] = 3000] = "SUCCESS";
|
|
7
|
-
DEFAULT_TIMEOUTS[DEFAULT_TIMEOUTS["INFO"] = 4000] = "INFO";
|
|
8
|
-
DEFAULT_TIMEOUTS[DEFAULT_TIMEOUTS["WARNING"] = 10000] = "WARNING";
|
|
9
|
-
DEFAULT_TIMEOUTS[DEFAULT_TIMEOUTS["DANGER"] = 30000] = "DANGER";
|
|
10
|
-
})(DEFAULT_TIMEOUTS || (DEFAULT_TIMEOUTS = {}));
|
|
11
|
-
export var STATUS;
|
|
12
|
-
(function (STATUS) {
|
|
13
|
-
STATUS[STATUS["UNDISP"] = 0] = "UNDISP";
|
|
14
|
-
STATUS[STATUS["DISP"] = 1] = "DISP";
|
|
15
|
-
STATUS[STATUS["ACK"] = 2] = "ACK";
|
|
16
|
-
})(STATUS || (STATUS = {}));
|
|
17
|
-
const DEFAULT_MESSAGE_TIMEOUT = 5000;
|
|
18
|
-
export const DATA_MESSAGE_SOUNDS = new InjectionToken("data.message.sounds");
|
|
19
|
-
export class Message {
|
|
20
|
-
constructor(title, type = 1 /* TYPE.INFO */, message = "", trace = null, ttl = DEFAULT_MESSAGE_TIMEOUT) {
|
|
21
|
-
this.title = title;
|
|
22
|
-
this.type = type;
|
|
23
|
-
this.message = message;
|
|
24
|
-
this.trace = trace;
|
|
25
|
-
this.ttl = ttl;
|
|
26
|
-
this.status = STATUS[STATUS.UNDISP];
|
|
27
|
-
this.showTrace = false;
|
|
28
|
-
}
|
|
29
|
-
get style() {
|
|
30
|
-
if (this.type === 3 /* TYPE.DANGER */) {
|
|
31
|
-
return "alert alert-dismissible alert-danger";
|
|
32
|
-
}
|
|
33
|
-
if (this.type === 1 /* TYPE.INFO */) {
|
|
34
|
-
return "alert alert-dismissible alert-info";
|
|
35
|
-
}
|
|
36
|
-
if (this.type === 2 /* TYPE.WARNING */) {
|
|
37
|
-
return "alert alert-dismissible alert-warning";
|
|
38
|
-
}
|
|
39
|
-
if (this.type === 0 /* TYPE.SUCCESS */) {
|
|
40
|
-
return "alert alert-dismissible alert-success";
|
|
41
|
-
}
|
|
42
|
-
return "alert alert-dismissible alert-success";
|
|
43
|
-
}
|
|
44
|
-
ack() {
|
|
45
|
-
this.status = STATUS[STATUS.ACK];
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
export class DataMessageService {
|
|
49
|
-
constructor(ngZone, sounds) {
|
|
50
|
-
this.ngZone = ngZone;
|
|
51
|
-
this.sounds = sounds;
|
|
52
|
-
this._messages$ = new ReplaySubject(1);
|
|
53
|
-
this._messages = [];
|
|
54
|
-
this.init();
|
|
55
|
-
}
|
|
56
|
-
get current() {
|
|
57
|
-
return this._messages$.asObservable();
|
|
58
|
-
}
|
|
59
|
-
init() {
|
|
60
|
-
let changed = false;
|
|
61
|
-
if (!this._timer) {
|
|
62
|
-
this.ngZone.runOutsideAngular(() => {
|
|
63
|
-
this._timer = timer(500, 500);
|
|
64
|
-
this._subscription = this._timer.subscribe(() => {
|
|
65
|
-
for (const m of this._messages) {
|
|
66
|
-
m.ttl -= 500;
|
|
67
|
-
if (m.ttl <= 0) {
|
|
68
|
-
changed = true;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
if (changed) {
|
|
72
|
-
this.ngZone.run(() => {
|
|
73
|
-
const out = [];
|
|
74
|
-
for (const m of this._messages) {
|
|
75
|
-
if (m.ttl >= 0) {
|
|
76
|
-
out.push(m);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
this._messages = out;
|
|
80
|
-
this._notify();
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
close() {
|
|
88
|
-
this._subscription.unsubscribe();
|
|
89
|
-
}
|
|
90
|
-
success(title, message = "", trace = null, timeout = DEFAULT_TIMEOUTS.SUCCESS) {
|
|
91
|
-
this._messages.push(new Message(title, 0 /* TYPE.SUCCESS */, message, trace, timeout));
|
|
92
|
-
this.play("success");
|
|
93
|
-
this._notify();
|
|
94
|
-
}
|
|
95
|
-
info(title, message = "", trace = null, timeout = DEFAULT_TIMEOUTS.INFO) {
|
|
96
|
-
this._messages.push(new Message(title, 1 /* TYPE.INFO */, message, trace, timeout));
|
|
97
|
-
this.play("info");
|
|
98
|
-
this._notify();
|
|
99
|
-
}
|
|
100
|
-
warning(title, message = "", trace = null, timeout = DEFAULT_TIMEOUTS.WARNING) {
|
|
101
|
-
this._messages.push(new Message(title, 2 /* TYPE.WARNING */, message, trace, timeout));
|
|
102
|
-
this.play("warning");
|
|
103
|
-
this._notify();
|
|
104
|
-
}
|
|
105
|
-
danger(title, message = "", trace = null, timeout = DEFAULT_TIMEOUTS.DANGER) {
|
|
106
|
-
this._messages.push(new Message(title, 3 /* TYPE.DANGER */, message, trace, DEFAULT_TIMEOUTS.DANGER));
|
|
107
|
-
this.play("error");
|
|
108
|
-
this._notify();
|
|
109
|
-
}
|
|
110
|
-
error(title, message = "", trace = null) {
|
|
111
|
-
this.danger(title, message, trace);
|
|
112
|
-
}
|
|
113
|
-
debug(title, message = "", trace = null) {
|
|
114
|
-
console.log(title, message, trace);
|
|
115
|
-
}
|
|
116
|
-
ack(message) {
|
|
117
|
-
message.ack();
|
|
118
|
-
this._notify();
|
|
119
|
-
}
|
|
120
|
-
play(type = "notify") {
|
|
121
|
-
if (this.sounds && this.sounds[type]) {
|
|
122
|
-
const audio = new Audio(this.sounds[type]);
|
|
123
|
-
audio.play();
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
_notify() {
|
|
127
|
-
const out = [];
|
|
128
|
-
for (const message of this._messages) {
|
|
129
|
-
if ((message.status === STATUS[STATUS.UNDISP]) ||
|
|
130
|
-
(message.status === STATUS[STATUS.DISP])) {
|
|
131
|
-
message.status = STATUS[STATUS.DISP];
|
|
132
|
-
out.push(message);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
this._messages$.next(out);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
DataMessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DataMessageService, deps: [{ token: i0.NgZone }, { token: DATA_MESSAGE_SOUNDS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
139
|
-
DataMessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DataMessageService, providedIn: "root" });
|
|
140
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DataMessageService, decorators: [{
|
|
141
|
-
type: Injectable,
|
|
142
|
-
args: [{
|
|
143
|
-
providedIn: "root"
|
|
144
|
-
}]
|
|
145
|
-
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: undefined, decorators: [{
|
|
146
|
-
type: Optional
|
|
147
|
-
}, {
|
|
148
|
-
type: Inject,
|
|
149
|
-
args: [DATA_MESSAGE_SOUNDS]
|
|
150
|
-
}] }]; } });
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21lc3NhZ2VzL21lc3NhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQVUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBYSxhQUFhLEVBQWdCLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQzs7QUFNcEUsTUFBTSxDQUFOLElBQVksZ0JBS1g7QUFMRCxXQUFZLGdCQUFnQjtJQUMxQixnRUFBYyxDQUFBO0lBQ2QsMERBQVcsQ0FBQTtJQUNYLGlFQUFlLENBQUE7SUFDZiwrREFBYyxDQUFBO0FBQ2hCLENBQUMsRUFMVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBSzNCO0FBRUQsTUFBTSxDQUFOLElBQVksTUFFWDtBQUZELFdBQVksTUFBTTtJQUNoQix1Q0FBTSxDQUFBO0lBQUUsbUNBQUksQ0FBQTtJQUFFLGlDQUFHLENBQUE7QUFDbkIsQ0FBQyxFQUZXLE1BQU0sS0FBTixNQUFNLFFBRWpCO0FBRUQsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLENBQUM7QUFNckMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQWMscUJBQXFCLENBQUMsQ0FBQztBQUcxRixNQUFNLE9BQU8sT0FBTztJQUlsQixZQUFtQixLQUFhLEVBQ2Isd0JBQXNCLEVBQ3RCLFVBQWtCLEVBQUUsRUFDcEIsUUFBYSxJQUFJLEVBQ2pCLE1BQWMsdUJBQXVCO1FBSnJDLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixTQUFJLEdBQUosSUFBSSxDQUFrQjtRQUN0QixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ3BCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsUUFBRyxHQUFILEdBQUcsQ0FBa0M7UUFQakQsV0FBTSxH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QUNELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7OytHQXRHVSxrQkFBa0Isd0NBT0csbUJBQW1CO21IQVB4QyxrQkFBa0IsY0FGakIsTUFBTTsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRYyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgTmdab25lLCBPcHRpb25hbH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7T2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3Vic2NyaXB0aW9uLCB0aW1lcn0gZnJvbSBcInJ4anNcIjtcblxuZXhwb3J0IGNvbnN0IGVudW0gVFlQRSB7XG4gIFNVQ0NFU1MsIElORk8sIFdBUk5JTkcsIERBTkdFUlxufVxuXG5leHBvcnQgZW51bSBERUZBVUxUX1RJTUVPVVRTIHtcbiAgU1VDQ0VTUyA9IDMwMDAsXG4gIElORk8gPSA0MDAwLFxuICBXQVJOSU5HID0gMTAwMDAsXG4gIERBTkdFUiA9IDMwMDAwXG59XG5cbmV4cG9ydCBlbnVtIFNUQVRVUyB7XG4gIFVORElTUCwgRElTUCwgQUNLXG59XG5cbmNvbnN0IERFRkFVTFRfTUVTU0FHRV9USU1FT1VUID0gNTAwMDtcblxuZXhwb3J0IGludGVyZmFjZSBJU291bmRUeXBlcyB7XG4gIFtpbmRleDogc3RyaW5nXTogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCBEQVRBX01FU1NBR0VfU09VTkRTID0gbmV3IEluamVjdGlvblRva2VuPElTb3VuZFR5cGVzPihcImRhdGEubWVzc2FnZS5zb3VuZHNcIik7XG5cblxuZXhwb3J0IGNsYXNzIE1lc3NhZ2Uge1xuICBwdWJsaWMgc3RhdHVzOiBzdHJpbmcgPSBTVEFUVVNbU1RBVFVTLlVORElTUF07XG4gIHB1YmxpYyBzaG93VHJhY2UgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGl0bGU6IHN0cmluZyxcbiAgICAgICAgICAgICAgcHVibGljIHR5cGU6IFRZUEUgPSBUWVBFLklORk8sXG4gICAgICAgICAgICAgIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmcgPSBcIlwiLFxuICAgICAgICAgICAgICBwdWJsaWMgdHJhY2U6IGFueSA9IG51bGwsXG4gICAgICAgICAgICAgIHB1YmxpYyB0dGw6IG51bWJlciA9IERFRkFVTFRfTUVTU0FHRV9USU1FT1VUKSB7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0eWxlKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gVFlQRS5EQU5HRVIpIHtcbiAgICAgIHJldHVybiBcImFsZXJ0IGFsZXJ0LWRpc21pc3NpYmxlIGFsZXJ0LWRhbmdlclwiO1xuICAgIH1cbiAgICBpZiAodGhpcy50eXBlID09PSBUWVBFLklORk8pIHtcbiAgICAgIHJldHVybiBcImFsZXJ0IGFsZXJ0LWRpc21pc3NpYmxlIGFsZXJ0LWluZm9cIjtcbiAgICB9XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gVFlQRS5XQVJOSU5HKSB7XG4gICAgICByZXR1cm4gXCJhbGVydCBhbGVydC1kaXNtaXNzaWJsZSBhbGVydC13YXJuaW5nXCI7XG4gICAgfVxuICAgIGlmICh0aGlzLnR5cGUgPT09IFRZUEUuU1VDQ0VTUykge1xuICAgICAgcmV0dXJuIFwiYWxlcnQgYWxlcnQtZGlzbWlzc2libGUgYWxlcnQtc3VjY2Vzc1wiO1xuICAgIH1cbiAgICByZXR1cm4gXCJhbGVydCBhbGVydC1kaXNtaXNzaWJsZSBhbGVydC1zdWNjZXNzXCI7XG4gIH1cblxuICBwdWJsaWMgYWNrKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdHVzID0gU1RBVFVTW1NUQVRVUy5BQ0tdO1xuICB9XG59XG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiBcInJvb3RcIlxufSlcbmV4cG9ydCBjbGFzcyBEYXRhTWVzc2FnZVNlcnZpY2Uge1xuICBwdWJsaWMgX21lc3NhZ2VzJDogUmVwbGF5U3ViamVjdDxNZXNzYWdlW10+ID0gbmV3IFJlcGxheVN1YmplY3Q8TWVzc2FnZVtdPigxKTtcbiAgcHJpdmF0ZSBfbWVzc2FnZXM6IE1lc3NhZ2VbXSA9IFtdO1xuICBwcml2YXRlIF90aW1lciE6IE9ic2VydmFibGU8YW55PjtcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChEQVRBX01FU1NBR0VfU09VTkRTKSBwdWJsaWMgc291bmRzOiBJU291bmRUeXBlcykge1xuICAgIHRoaXMuaW5pdCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjdXJyZW50KCk6IE9ic2VydmFibGU8TWVzc2FnZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuX21lc3NhZ2VzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0KCk6IHZvaWQge1xuICAgIGxldCBjaGFuZ2VkID0gZmFsc2U7XG4gICAgaWYgKCF0aGlzLl90aW1lcikge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICB0aGlzLl90aW1lciA9IHRpbWVyKDUwMCwgNTAwKTtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uID0gdGhpcy5fdGltZXIuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBmb3IgKGNvbnN0IG0gb2YgdGhpcy5fbWVzc2FnZXMpIHtcbiAgICAgICAgICAgIG0udHRsIC09IDUwMDtcbiAgICAgICAgICAgIGlmIChtLnR0bCA8PSAwKSB7XG4gICAgICAgICAgICAgIGNoYW5nZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoY2hhbmdlZCkge1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3Qgb3V0OiBNZXNzYWdlW10gPSBbXTtcbiAgICAgICAgICAgICAgZm9yIChjb25zdCBtIG9mIHRoaXMuX21lc3NhZ2VzKSB7XG4gICAgICAgICAgICAgICAgaWYgKG0udHRsID49IDApIHtcbiAgICAgICAgICAgICAgICAgIG91dC5wdXNoKG0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB0aGlzLl9tZXNzYWdlcyA9IG91dDtcbiAgICAgICAgICAgICAgdGhpcy5fbm90aWZ5KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIHN1Y2Nlc3ModGl0bGU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nID0gXCJcIiwgdHJhY2U6IGFueSA9IG51bGwsIHRpbWVvdXQ6IG51bWJlciA9IERFRkFVTFRfVElNRU9VVFMuU1VDQ0VTUyk6IHZvaWQge1xuICAgIHRoaXMuX21lc3NhZ2VzLnB1c2gobmV3IE1lc3NhZ2UodGl0bGUsIFRZUEUuU1VDQ0VTUywgbWVzc2FnZSwgdHJhY2UsIHRpbWVvdXQpKTtcbiAgICB0aGlzLnBsYXkoXCJzdWNjZXNzXCIpO1xuICAgIHRoaXMuX25vdGlmeSgpO1xuICB9XG5cbiAgcHVibGljIGluZm8odGl0bGU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nID0gXCJcIiwgdHJhY2U6IGFueSA9IG51bGwsIHRpbWVvdXQ6IG51bWJlciA9IERFRkFVTFRfVElNRU9VVFMuSU5GTyk6IHZvaWQge1xuICAgIHRoaXMuX21lc3NhZ2VzLnB1c2gobmV3IE1lc3NhZ2UodGl0bGUsIFRZUEUuSU5GTywgbWVzc2FnZSwgdHJhY2UsIHRpbWVvdXQpKTtcbiAgICB0aGlzLnBsYXkoXCJpbmZvXCIpO1xuICAgIHRoaXMuX25vdGlmeSgpO1xuICB9XG5cbiAgcHVibGljIHdhcm5pbmcodGl0bGU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nID0gXCJcIiwgdHJhY2U6IGFueSA9IG51bGwsIHRpbWVvdXQ6IG51bWJlciA9IERFRkFVTFRfVElNRU9VVFMuV0FSTklORyk6IHZvaWQge1xuICAgIHRoaXMuX21lc3NhZ2VzLnB1c2gobmV3IE1lc3NhZ2UodGl0bGUsIFRZUEUuV0FSTklORywgbWVzc2FnZSwgdHJhY2UsIHRpbWVvdXQpKTtcbiAgICB0aGlzLnBsYXkoXCJ3YXJuaW5nXCIpXG4gICAgdGhpcy5fbm90aWZ5KCk7XG4gIH1cblxuICBwdWJsaWMgZGFuZ2VyKHRpdGxlOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyA9IFwiXCIsIHRyYWNlOiBhbnkgPSBudWxsLCB0aW1lb3V0OiBudW1iZXIgPSBERUZBVUxUX1RJTUVPVVRTLkRBTkdFUik6IHZvaWQge1xuICAgIHRoaXMuX21lc3NhZ2VzLnB1c2gobmV3IE1lc3NhZ2UodGl0bGUsIFRZUEUuREFOR0VSLCBtZXNzYWdlLCB0cmFjZSwgREVGQVVMVF9USU1FT1VUUy5EQU5HRVIpKTtcbiAgICB0aGlzLnBsYXkoXCJlcnJvclwiKVxuICAgIHRoaXMuX25vdGlmeSgpO1xuICB9XG5cbiAgcHVibGljIGVycm9yKHRpdGxlOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyA9IFwiXCIsIHRyYWNlOiBhbnkgPSBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5kYW5nZXIodGl0bGUsIG1lc3NhZ2UsIHRyYWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBkZWJ1Zyh0aXRsZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcgPSBcIlwiLCB0cmFjZTogYW55ID0gbnVsbCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKHRpdGxlLCBtZXNzYWdlLCB0cmFjZSk7XG4gIH1cblxuICBwdWJsaWMgYWNrKG1lc3NhZ2U6IE1lc3NhZ2UpOiB2b2lkIHtcbiAgICBtZXNzYWdlLmFjaygpO1xuICAgIHRoaXMuX25vdGlmeSgpO1xuICB9XG5cbiAgcHVibGljIHBsYXkodHlwZTogc3RyaW5nID0gXCJub3RpZnlcIikge1xuICAgIGlmICh0aGlzLnNvdW5kcyAmJiB0aGlzLnNvdW5kc1t0eXBlXSkge1xuICAgICAgY29uc3QgYXVkaW8gPSBuZXcgQXVkaW8odGhpcy5zb3VuZHNbdHlwZV0pO1xuICAgICAgYXVkaW8ucGxheSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX25vdGlmeSgpOiB2b2lkIHtcbiAgICBjb25zdCBvdXQ6IE1lc3NhZ2VbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgbWVzc2FnZSBvZiB0aGlzLl9tZXNzYWdlcykge1xuICAgICAgaWYgKChtZXNzYWdlLnN0YXR1cyA9PT0gU1RBVFVTW1NUQVRVUy5VTkRJU1BdKSB8fFxuICAgICAgICAobWVzc2FnZS5zdGF0dXMgPT09IFNUQVRVU1tTVEFUVVMuRElTUF0pKSB7XG4gICAgICAgIG1lc3NhZ2Uuc3RhdHVzID0gU1RBVFVTW1NUQVRVUy5ESVNQXTtcbiAgICAgICAgb3V0LnB1c2gobWVzc2FnZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuX21lc3NhZ2VzJC5uZXh0KG91dCk7XG4gIH1cblxufVxuIl19
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
|
|
4
|
-
import { ModelListSorterComponent } from '../../model-list-sorter/model-list-sorter/model-list-sorter.component';
|
|
5
|
-
import { filter } from 'rxjs/operators';
|
|
6
|
-
import { Subject, takeUntil } from 'rxjs';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/common";
|
|
9
|
-
import * as i2 from "@ng-bootstrap/ng-bootstrap";
|
|
10
|
-
export class ModelListFieldHeaderComponent {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.sort = false;
|
|
13
|
-
this.menuMode = 'side';
|
|
14
|
-
this.sortMode = 'side';
|
|
15
|
-
this.dispMenuMode = this.menuMode;
|
|
16
|
-
this.dispSortMode = this.sortMode;
|
|
17
|
-
this._subscriptions$ = new Subject();
|
|
18
|
-
}
|
|
19
|
-
ngOnInit() {
|
|
20
|
-
this.list.messages$
|
|
21
|
-
.pipe(takeUntil(this._subscriptions$), filter((m) => m.dest === 'header'))
|
|
22
|
-
.subscribe((m) => {
|
|
23
|
-
this.dispMenuMode =
|
|
24
|
-
m.menu && m.menu !== 'default' ? m.menu : this.menuMode;
|
|
25
|
-
this.dispSortMode =
|
|
26
|
-
m.sort && m.sort !== 'default' ? m.sort : this.sortMode;
|
|
27
|
-
this.display = m.show !== undefined ? m.show : this.display;
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
ngOnDestroy() {
|
|
31
|
-
this._subscriptions$.next();
|
|
32
|
-
this._subscriptions$.complete();
|
|
33
|
-
}
|
|
34
|
-
disable() {
|
|
35
|
-
this.list.fields.disable(this.field);
|
|
36
|
-
}
|
|
37
|
-
enable(f) {
|
|
38
|
-
this.list.fields.move(f.name, 'after', this.field);
|
|
39
|
-
this.list.fields.enable(f.name);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
ModelListFieldHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ModelListFieldHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
-
ModelListFieldHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ModelListFieldHeaderComponent, isStandalone: true, selector: "data-model-list-field-header", inputs: { list: "list", field: "field", sort: "sort", sortField: "sortField", menuMode: "menuMode", sortMode: "sortMode", display: "display" }, viewQueries: [{ propertyName: "mnu", first: true, predicate: ["mnu"], descendants: true }], ngImport: i0, template: "\n<ng-template #label><span #ref>\n <ng-content></ng-content></span><span *ngIf=\"!ref.children.length\">{{list.fields.get(field)?.label||field}}</span></ng-template>\n<div class=\"d-flex flex-row justify-content-between align-items-end slabel\">\n <div class=\"flex-grow-1\">\n <data-model-list-sorter [list]=\"list\" [field]=\"sortField||field\" *ngIf=\"sort && dispSortMode==='side'\">\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n </data-model-list-sorter>\n <ng-container *ngIf=\"!sort || dispSortMode==='hide'\">\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n </ng-container>\n </div>\n <div class=\"navicons d-flex flex-row\" [attr.aria-label]=\"'Gestion champs'\" *ngIf=\"dispMenuMode==='side'\"><i class=\"bi bi-caret-left-fill\" role=\"button\" (click)=\"list.fields.move(field, 'before')\" aria-label=\"D\u00E9placer vers la gauche\"></i>\n <div ngbDropdown #mnu=\"ngbDropdown\" [container]=\"'body'\"><i class=\"bi bi-record\" ngbDropdownToggle aria-label=\"Ouvrir la boite de dialogue des champs\" role=\"button\"></i>\n <div ngbDropdownMenu>\n <button ngbDropdownItem (click)=\"disable()\"><i class=\"bi bi-trash me-2\"></i>Supprimer</button>\n <h6 class=\"dropdown-header\">Ajouter une colonne apr\u00E8s</h6>\n <ng-container *ngFor=\"let f of list.fields.fields|async\">\n <ng-container *ngIf=\"f.allowed && !f.enabled\">\n <button ngbDropdownItem (click)=\"enable(f)\" [attr.aria-label]=\"f.label||f.name\"><i class=\"bi bi-plus-circle me-2\"></i>{{f.label||f.name}}</button>\n </ng-container>\n </ng-container>\n </div>\n </div><i class=\"bi bi-caret-right-fill\" role=\"button\" (click)=\"list.fields.move(field, 'after')\" aria-label=\"D\u00E9placer vers la droite\"></i>\n </div>\n</div>", styles: [".slabel .navicons{opacity:0}.slabel:hover .navicons,.slabel.active .navicons{opacity:1!important}.dropdown-toggle:after{display:none!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: NgbDropdownModule }, { kind: "directive", type: i2.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i2.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i2.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i2.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: ModelListSorterComponent, selector: "data-model-list-sorter", inputs: ["list", "field"] }] });
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ModelListFieldHeaderComponent, decorators: [{
|
|
45
|
-
type: Component,
|
|
46
|
-
args: [{ selector: 'data-model-list-field-header', standalone: true, imports: [CommonModule, NgbDropdownModule, ModelListSorterComponent], template: "\n<ng-template #label><span #ref>\n <ng-content></ng-content></span><span *ngIf=\"!ref.children.length\">{{list.fields.get(field)?.label||field}}</span></ng-template>\n<div class=\"d-flex flex-row justify-content-between align-items-end slabel\">\n <div class=\"flex-grow-1\">\n <data-model-list-sorter [list]=\"list\" [field]=\"sortField||field\" *ngIf=\"sort && dispSortMode==='side'\">\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n </data-model-list-sorter>\n <ng-container *ngIf=\"!sort || dispSortMode==='hide'\">\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n </ng-container>\n </div>\n <div class=\"navicons d-flex flex-row\" [attr.aria-label]=\"'Gestion champs'\" *ngIf=\"dispMenuMode==='side'\"><i class=\"bi bi-caret-left-fill\" role=\"button\" (click)=\"list.fields.move(field, 'before')\" aria-label=\"D\u00E9placer vers la gauche\"></i>\n <div ngbDropdown #mnu=\"ngbDropdown\" [container]=\"'body'\"><i class=\"bi bi-record\" ngbDropdownToggle aria-label=\"Ouvrir la boite de dialogue des champs\" role=\"button\"></i>\n <div ngbDropdownMenu>\n <button ngbDropdownItem (click)=\"disable()\"><i class=\"bi bi-trash me-2\"></i>Supprimer</button>\n <h6 class=\"dropdown-header\">Ajouter une colonne apr\u00E8s</h6>\n <ng-container *ngFor=\"let f of list.fields.fields|async\">\n <ng-container *ngIf=\"f.allowed && !f.enabled\">\n <button ngbDropdownItem (click)=\"enable(f)\" [attr.aria-label]=\"f.label||f.name\"><i class=\"bi bi-plus-circle me-2\"></i>{{f.label||f.name}}</button>\n </ng-container>\n </ng-container>\n </div>\n </div><i class=\"bi bi-caret-right-fill\" role=\"button\" (click)=\"list.fields.move(field, 'after')\" aria-label=\"D\u00E9placer vers la droite\"></i>\n </div>\n</div>", styles: [".slabel .navicons{opacity:0}.slabel:hover .navicons,.slabel.active .navicons{opacity:1!important}.dropdown-toggle:after{display:none!important}\n"] }]
|
|
47
|
-
}], ctorParameters: function () { return []; }, propDecorators: { list: [{
|
|
48
|
-
type: Input
|
|
49
|
-
}], field: [{
|
|
50
|
-
type: Input
|
|
51
|
-
}], sort: [{
|
|
52
|
-
type: Input
|
|
53
|
-
}], sortField: [{
|
|
54
|
-
type: Input
|
|
55
|
-
}], menuMode: [{
|
|
56
|
-
type: Input
|
|
57
|
-
}], sortMode: [{
|
|
58
|
-
type: Input
|
|
59
|
-
}], display: [{
|
|
60
|
-
type: Input
|
|
61
|
-
}], mnu: [{
|
|
62
|
-
type: ViewChild,
|
|
63
|
-
args: ['mnu', { static: false }]
|
|
64
|
-
}] } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1maWVsZC1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21vZGVsbGlzdC9tb2RlbC1saXN0LWZpZWxkcy9tb2RlbC1saXN0LWZpZWxkLWhlYWRlci9tb2RlbC1saXN0LWZpZWxkLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmllbGRzL21vZGVsLWxpc3QtZmllbGQtaGVhZGVyL21vZGVsLWxpc3QtZmllbGQtaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBZSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQVMxQyxNQUFNLE9BQU8sNkJBQTZCO0lBZ0J4QztRQVhnQixTQUFJLEdBQWEsS0FBSyxDQUFDO1FBRXZCLGFBQVEsR0FBOEIsTUFBTSxDQUFDO1FBQzdDLGFBQVEsR0FBOEIsTUFBTSxDQUFDO1FBSXRELGlCQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM3QixpQkFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDNUIsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRS9CLENBQUM7SUFFVCxRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO2FBQ2hCLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUMvQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQ25DO2FBQ0EsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDZixJQUFJLENBQUMsWUFBWTtnQkFDZixDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzFELElBQUksQ0FBQyxZQUFZO2dCQUNmLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDMUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxDQUFpQjtRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7MEhBN0NVLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLG9VQ2pCMUMsbTBEQXlCTSwwTURWTSxZQUFZLDJkQUFFLGlCQUFpQiwyZ0JBQUUsd0JBQXdCOzJGQUV4RCw2QkFBNkI7a0JBUHpDLFNBQVM7K0JBQ0UsOEJBQThCLGNBRzVCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxpQkFBaUIsRUFBRSx3QkFBd0IsQ0FBQzswRUFLcEQsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFFc0MsR0FBRztzQkFBOUMsU0FBUzt1QkFBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kZWxMaXN0IH0gZnJvbSAnLi4vLi4vbW9kZWwtbGlzdC5zZXJ2aWNlJztcbmltcG9ydCB7IERhdGFNb2RlbCB9IGZyb20gJy4uLy4uLy4uL2RhdGEvZGF0YS1tb2RlbCc7XG5pbXBvcnQgeyBNb2RlbExpc3RGaWVsZCB9IGZyb20gJy4uL21vZGVsLWxpc3QtZmllbGRzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ2JEcm9wZG93biwgTmdiRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBNb2RlbExpc3RTb3J0ZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2RlbC1saXN0LXNvcnRlci9tb2RlbC1saXN0LXNvcnRlci9tb2RlbC1saXN0LXNvcnRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RhdGEtbW9kZWwtbGlzdC1maWVsZC1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kZWwtbGlzdC1maWVsZC1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RlbC1saXN0LWZpZWxkLWhlYWRlci5jb21wb25lbnQuc2FzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOZ2JEcm9wZG93bk1vZHVsZSwgTW9kZWxMaXN0U29ydGVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTW9kZWxMaXN0RmllbGRIZWFkZXJDb21wb25lbnQ8VCBleHRlbmRzIERhdGFNb2RlbD5cbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveVxue1xuICBASW5wdXQoKSBwdWJsaWMgbGlzdCE6IE1vZGVsTGlzdDxUPjtcbiAgQElucHV0KCkgcHVibGljIGZpZWxkITogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgc29ydD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHNvcnRGaWVsZD86IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIG1lbnVNb2RlOiAnaGlkZScgfCAnc2lkZScgfCAnY2xpY2snID0gJ3NpZGUnO1xuICBASW5wdXQoKSBwdWJsaWMgc29ydE1vZGU6ICdoaWRlJyB8ICdzaWRlJyB8ICdjbGljaycgPSAnc2lkZSc7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNwbGF5PzogYm9vbGVhbjtcblxuICBAVmlld0NoaWxkKCdtbnUnLCB7IHN0YXRpYzogZmFsc2UgfSkgcHVibGljIG1udT86IE5nYkRyb3Bkb3duO1xuICBwdWJsaWMgZGlzcE1lbnVNb2RlID0gdGhpcy5tZW51TW9kZTtcbiAgcHVibGljIGRpc3BTb3J0TW9kZSA9IHRoaXMuc29ydE1vZGU7XG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMubGlzdC5tZXNzYWdlcyRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fc3Vic2NyaXB0aW9ucyQpLFxuICAgICAgICBmaWx0ZXIoKG0pID0+IG0uZGVzdCA9PT0gJ2hlYWRlcicpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICAgIHRoaXMuZGlzcE1lbnVNb2RlID1cbiAgICAgICAgICBtLm1lbnUgJiYgbS5tZW51ICE9PSAnZGVmYXVsdCcgPyBtLm1lbnUgOiB0aGlzLm1lbnVNb2RlO1xuICAgICAgICB0aGlzLmRpc3BTb3J0TW9kZSA9XG4gICAgICAgICAgbS5zb3J0ICYmIG0uc29ydCAhPT0gJ2RlZmF1bHQnID8gbS5zb3J0IDogdGhpcy5zb3J0TW9kZTtcbiAgICAgICAgdGhpcy5kaXNwbGF5ID0gbS5zaG93ICE9PSB1bmRlZmluZWQgPyBtLnNob3cgOiB0aGlzLmRpc3BsYXk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zJC5uZXh0KCk7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucyQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNhYmxlKCkge1xuICAgIHRoaXMubGlzdC5maWVsZHMuZGlzYWJsZSh0aGlzLmZpZWxkKTtcbiAgfVxuXG4gIHB1YmxpYyBlbmFibGUoZjogTW9kZWxMaXN0RmllbGQpIHtcbiAgICB0aGlzLmxpc3QuZmllbGRzLm1vdmUoZi5uYW1lLCAnYWZ0ZXInLCB0aGlzLmZpZWxkKTtcbiAgICB0aGlzLmxpc3QuZmllbGRzLmVuYWJsZShmLm5hbWUpO1xuICB9XG59XG4iLCJcbjxuZy10ZW1wbGF0ZSAjbGFiZWw+PHNwYW4gI3JlZj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPjxzcGFuICpuZ0lmPVwiIXJlZi5jaGlsZHJlbi5sZW5ndGhcIj57e2xpc3QuZmllbGRzLmdldChmaWVsZCk/LmxhYmVsfHxmaWVsZH19PC9zcGFuPjwvbmctdGVtcGxhdGU+XG48ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtcm93IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWVuZCBzbGFiZWxcIj5cbiAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCI+XG4gICAgPGRhdGEtbW9kZWwtbGlzdC1zb3J0ZXIgW2xpc3RdPVwibGlzdFwiIFtmaWVsZF09XCJzb3J0RmllbGR8fGZpZWxkXCIgKm5nSWY9XCJzb3J0ICZhbXA7JmFtcDsgZGlzcFNvcnRNb2RlPT09J3NpZGUnXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGFiZWxcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2RhdGEtbW9kZWwtbGlzdC1zb3J0ZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzb3J0IHx8IGRpc3BTb3J0TW9kZT09PSdoaWRlJ1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibmF2aWNvbnMgZC1mbGV4IGZsZXgtcm93XCIgW2F0dHIuYXJpYS1sYWJlbF09XCInR2VzdGlvbiBjaGFtcHMnXCIgKm5nSWY9XCJkaXNwTWVudU1vZGU9PT0nc2lkZSdcIj48aSBjbGFzcz1cImJpIGJpLWNhcmV0LWxlZnQtZmlsbFwiIHJvbGU9XCJidXR0b25cIiAoY2xpY2spPVwibGlzdC5maWVsZHMubW92ZShmaWVsZCwgJ2JlZm9yZScpXCIgYXJpYS1sYWJlbD1cIkTDqXBsYWNlciB2ZXJzIGxhIGdhdWNoZVwiPjwvaT5cbiAgICA8ZGl2IG5nYkRyb3Bkb3duICNtbnU9XCJuZ2JEcm9wZG93blwiIFtjb250YWluZXJdPVwiJ2JvZHknXCI+PGkgY2xhc3M9XCJiaSBiaS1yZWNvcmRcIiBuZ2JEcm9wZG93blRvZ2dsZSBhcmlhLWxhYmVsPVwiT3V2cmlyIGxhIGJvaXRlIGRlIGRpYWxvZ3VlIGRlcyBjaGFtcHNcIiByb2xlPVwiYnV0dG9uXCI+PC9pPlxuICAgICAgPGRpdiBuZ2JEcm9wZG93bk1lbnU+XG4gICAgICAgIDxidXR0b24gbmdiRHJvcGRvd25JdGVtIChjbGljayk9XCJkaXNhYmxlKClcIj48aSBjbGFzcz1cImJpIGJpLXRyYXNoIG1lLTJcIj48L2k+U3VwcHJpbWVyPC9idXR0b24+XG4gICAgICAgIDxoNiBjbGFzcz1cImRyb3Bkb3duLWhlYWRlclwiPkFqb3V0ZXIgdW5lIGNvbG9ubmUgYXByw6hzPC9oNj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZiBvZiBsaXN0LmZpZWxkcy5maWVsZHN8YXN5bmNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZi5hbGxvd2VkICZhbXA7JmFtcDsgIWYuZW5hYmxlZFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBuZ2JEcm9wZG93bkl0ZW0gKGNsaWNrKT1cImVuYWJsZShmKVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiZi5sYWJlbHx8Zi5uYW1lXCI+PGkgY2xhc3M9XCJiaSBiaS1wbHVzLWNpcmNsZSBtZS0yXCI+PC9pPnt7Zi5sYWJlbHx8Zi5uYW1lfX08L2J1dHRvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj48aSBjbGFzcz1cImJpIGJpLWNhcmV0LXJpZ2h0LWZpbGxcIiByb2xlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImxpc3QuZmllbGRzLm1vdmUoZmllbGQsICdhZnRlcicpXCIgYXJpYS1sYWJlbD1cIkTDqXBsYWNlciB2ZXJzIGxhIGRyb2l0ZVwiPjwvaT5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
|
-
import { CDK_DRAG_CONFIG, DragDropModule, } from '@angular/cdk/drag-drop';
|
|
3
|
-
import { CommonModule } from '@angular/common';
|
|
4
|
-
import { NgbOffcanvasModule } from '@ng-bootstrap/ng-bootstrap';
|
|
5
|
-
import { CdkScrollableModule } from '@angular/cdk/scrolling';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@ng-bootstrap/ng-bootstrap";
|
|
8
|
-
import * as i2 from "@angular/common";
|
|
9
|
-
import * as i3 from "@angular/cdk/scrolling";
|
|
10
|
-
import * as i4 from "@angular/cdk/drag-drop";
|
|
11
|
-
const DragConfig = {
|
|
12
|
-
dragStartThreshold: 5,
|
|
13
|
-
pointerDirectionChangeThreshold: 10,
|
|
14
|
-
zIndex: 10000,
|
|
15
|
-
};
|
|
16
|
-
export class ModelListFieldsSelectorComponent {
|
|
17
|
-
constructor(_ofc) {
|
|
18
|
-
this._ofc = _ofc;
|
|
19
|
-
this.seeMore = false;
|
|
20
|
-
}
|
|
21
|
-
ngOnInit() {
|
|
22
|
-
if (!this.list || !this.list.fields) {
|
|
23
|
-
throw new Error('Missing list / fields');
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
open() {
|
|
27
|
-
this._ofc.open(this.ofctpl);
|
|
28
|
-
}
|
|
29
|
-
drop($event) {
|
|
30
|
-
let pos = $event.currentIndex * 10;
|
|
31
|
-
if ($event.currentIndex > $event.previousIndex) {
|
|
32
|
-
pos += 1;
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
pos -= 1;
|
|
36
|
-
}
|
|
37
|
-
this.list.fields.setPosition($event.item.data, pos);
|
|
38
|
-
}
|
|
39
|
-
toggle(f) {
|
|
40
|
-
if (f.enabled) {
|
|
41
|
-
this.list.fields.disable(f.name);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
this.list.fields.enable(f.name);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
ModelListFieldsSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ModelListFieldsSelectorComponent, deps: [{ token: i1.NgbOffcanvas }], target: i0.ɵɵFactoryTarget.Component });
|
|
49
|
-
ModelListFieldsSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ModelListFieldsSelectorComponent, isStandalone: true, selector: "data-model-list-fields-selector", inputs: { list: "list" }, providers: [{ provide: CDK_DRAG_CONFIG, useValue: DragConfig }], viewQueries: [{ propertyName: "ofctpl", first: true, predicate: ["selector"], descendants: true, static: true }], ngImport: i0, template: "<i class=\"bi bi-list-ul\" (click)=\"open()\" role=\"button\" aria-label=\"Choix des champs\"></i>\n<ng-template #selector let-offcanvas>\n <div class=\"offcanvas-header\">\n <h4 class=\"offcanvas-title\">Choix des champs</h4>\n <button class=\"btn-close\" type=\"button\" aria-label=\"Close\" (click)=\"offcanvas.dismiss('x')\"></button>\n </div>\n <div class=\"offcanvas-body\" cdkScrollable>\n <div class=\"fields-list\" cdkDropList cdkDropListLockAxis=\"y\" (cdkDropListDropped)=\"drop($event)\" *ngIf=\"list.fields.fields|async as fields\">\n <ng-container *ngFor=\"let f of fields\">\n <ng-container *ngIf=\"seeMore || f.priority >= 0\">\n <div class=\"field-box\" cdkDrag (click)=\"toggle(f)\" [cdkDragData]=\"f.name\" [class.enabled]=\"f.enabled\" [class.compact]=\"fields.length>30\" [attr.arial-label]=\"f.label\" role=\"button\">{{f.label}}<span class=\"badge bg-info\"> {{f.priority}}</span></div>\n </ng-container>\n </ng-container>\n </div>\n <button class=\"btn btn-sm btn-link\" (click)=\"seeMore=!seeMore\">plus de champs</button>\n </div>\n</ng-template>", styles: [".fields-list{width:100%;max-width:100%;border:var(--bs-border-style) var(--bs-border-width) var(--bs-border-color);min-height:50px;display:block;background:var(--bs-body-bg-rgb);border-radius:var(--bs-border-radius-sm);overflow:hidden}.field-box{padding:.5rem 1rem;border-bottom:solid 1px #ccc;color:var(--bs-black);display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:white;font-size:var(--bs-body-font-size)}.field-box.compact{padding:.2rem 1rem;font-size:.9rem}.field-box.enabled{background-color:var(--bs-success);color:var(--bs-white)}.cdk-drag-preview{box-sizing:border-box;border-radius:var(--bs-border-radius-sm);box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.field-box:last-child{border:none}.fields-list.cdk-drop-list-dragging .field-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i3.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: i4.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "ngmodule", type: CdkScrollableModule }, { kind: "ngmodule", type: NgbOffcanvasModule }] });
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ModelListFieldsSelectorComponent, decorators: [{
|
|
51
|
-
type: Component,
|
|
52
|
-
args: [{ selector: 'data-model-list-fields-selector', standalone: true, imports: [
|
|
53
|
-
CommonModule,
|
|
54
|
-
DragDropModule,
|
|
55
|
-
CdkScrollableModule,
|
|
56
|
-
NgbOffcanvasModule,
|
|
57
|
-
], providers: [{ provide: CDK_DRAG_CONFIG, useValue: DragConfig }], template: "<i class=\"bi bi-list-ul\" (click)=\"open()\" role=\"button\" aria-label=\"Choix des champs\"></i>\n<ng-template #selector let-offcanvas>\n <div class=\"offcanvas-header\">\n <h4 class=\"offcanvas-title\">Choix des champs</h4>\n <button class=\"btn-close\" type=\"button\" aria-label=\"Close\" (click)=\"offcanvas.dismiss('x')\"></button>\n </div>\n <div class=\"offcanvas-body\" cdkScrollable>\n <div class=\"fields-list\" cdkDropList cdkDropListLockAxis=\"y\" (cdkDropListDropped)=\"drop($event)\" *ngIf=\"list.fields.fields|async as fields\">\n <ng-container *ngFor=\"let f of fields\">\n <ng-container *ngIf=\"seeMore || f.priority >= 0\">\n <div class=\"field-box\" cdkDrag (click)=\"toggle(f)\" [cdkDragData]=\"f.name\" [class.enabled]=\"f.enabled\" [class.compact]=\"fields.length>30\" [attr.arial-label]=\"f.label\" role=\"button\">{{f.label}}<span class=\"badge bg-info\"> {{f.priority}}</span></div>\n </ng-container>\n </ng-container>\n </div>\n <button class=\"btn btn-sm btn-link\" (click)=\"seeMore=!seeMore\">plus de champs</button>\n </div>\n</ng-template>", styles: [".fields-list{width:100%;max-width:100%;border:var(--bs-border-style) var(--bs-border-width) var(--bs-border-color);min-height:50px;display:block;background:var(--bs-body-bg-rgb);border-radius:var(--bs-border-radius-sm);overflow:hidden}.field-box{padding:.5rem 1rem;border-bottom:solid 1px #ccc;color:var(--bs-black);display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:white;font-size:var(--bs-body-font-size)}.field-box.compact{padding:.2rem 1rem;font-size:.9rem}.field-box.enabled{background-color:var(--bs-success);color:var(--bs-white)}.cdk-drag-preview{box-sizing:border-box;border-radius:var(--bs-border-radius-sm);box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.field-box:last-child{border:none}.fields-list.cdk-drop-list-dragging .field-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
|
|
58
|
-
}], ctorParameters: function () { return [{ type: i1.NgbOffcanvas }]; }, propDecorators: { list: [{
|
|
59
|
-
type: Input
|
|
60
|
-
}], ofctpl: [{
|
|
61
|
-
type: ViewChild,
|
|
62
|
-
args: ['selector', { static: true }]
|
|
63
|
-
}] } });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1maWVsZHMtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21vZGVsbGlzdC9tb2RlbC1saXN0LWZpZWxkcy9tb2RlbC1saXN0LWZpZWxkcy1zZWxlY3Rvci9tb2RlbC1saXN0LWZpZWxkcy1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmllbGRzL21vZGVsLWxpc3QtZmllbGRzLXNlbGVjdG9yL21vZGVsLWxpc3QtZmllbGRzLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoRixPQUFPLEVBQ0wsZUFBZSxFQUVmLGNBQWMsR0FDZixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWdCLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFOUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQUU3RCxNQUFNLFVBQVUsR0FBRztJQUNqQixrQkFBa0IsRUFBRSxDQUFDO0lBQ3JCLCtCQUErQixFQUFFLEVBQUU7SUFDbkMsTUFBTSxFQUFFLEtBQUs7Q0FDZCxDQUFDO0FBZUYsTUFBTSxPQUFPLGdDQUFnQztJQVEzQyxZQUFvQixJQUFrQjtRQUFsQixTQUFJLEdBQUosSUFBSSxDQUFjO1FBRi9CLFlBQU8sR0FBWSxLQUFLLENBQUM7SUFFUyxDQUFDO0lBRW5DLFFBQVE7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztTQUMxQztJQUNILENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLENBQUMsTUFBMkI7UUFDOUIsSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDbkMsSUFBSSxNQUFNLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxhQUFhLEVBQUU7WUFDOUMsR0FBRyxJQUFJLENBQUMsQ0FBQztTQUNWO2FBQU07WUFDTCxHQUFHLElBQUksQ0FBQyxDQUFDO1NBQ1Y7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxDQUFpQjtRQUM3QixJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUU7WUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2xDO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQzs7NkhBcENVLGdDQUFnQztpSEFBaEMsZ0NBQWdDLHdHQUZoQyxDQUFDLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUMsNElDOUJqRSw0bUNBZ0JjLHFrQ0RTVixZQUFZLG9UQUNaLGNBQWMsMmlDQUNkLG1CQUFtQiw4QkFDbkIsa0JBQWtCOzJGQUlULGdDQUFnQztrQkFiNUMsU0FBUzsrQkFDRSxpQ0FBaUMsY0FHL0IsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLGtCQUFrQjtxQkFDbkIsYUFDVSxDQUFDLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUM7bUdBSy9DLElBQUk7c0JBQW5CLEtBQUs7Z0JBRUMsTUFBTTtzQkFEWixTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0YU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vZGF0YS9kYXRhLW1vZGVsJztcbmltcG9ydCB7IE1vZGVsTGlzdCB9IGZyb20gJy4uLy4uL21vZGVsLWxpc3Quc2VydmljZSc7XG5pbXBvcnQge1xuICBDREtfRFJBR19DT05GSUcsXG4gIENka0RyYWdEcm9wLFxuICBEcmFnRHJvcE1vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdiT2ZmY2FudmFzLCBOZ2JPZmZjYW52YXNNb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBNb2RlbExpc3RGaWVsZCB9IGZyb20gJy4uL21vZGVsLWxpc3QtZmllbGRzJztcbmltcG9ydCB7IENka1Njcm9sbGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcblxuY29uc3QgRHJhZ0NvbmZpZyA9IHtcbiAgZHJhZ1N0YXJ0VGhyZXNob2xkOiA1LFxuICBwb2ludGVyRGlyZWN0aW9uQ2hhbmdlVGhyZXNob2xkOiAxMCxcbiAgekluZGV4OiAxMDAwMCxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RhdGEtbW9kZWwtbGlzdC1maWVsZHMtc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kZWwtbGlzdC1maWVsZHMtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RlbC1saXN0LWZpZWxkcy1zZWxlY3Rvci5jb21wb25lbnQuc2FzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIERyYWdEcm9wTW9kdWxlLFxuICAgIENka1Njcm9sbGFibGVNb2R1bGUsXG4gICAgTmdiT2ZmY2FudmFzTW9kdWxlLFxuICBdLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IENES19EUkFHX0NPTkZJRywgdXNlVmFsdWU6IERyYWdDb25maWcgfV0sXG59KVxuZXhwb3J0IGNsYXNzIE1vZGVsTGlzdEZpZWxkc1NlbGVjdG9yQ29tcG9uZW50PFQgZXh0ZW5kcyBEYXRhTW9kZWw+XG4gIGltcGxlbWVudHMgT25Jbml0XG57XG4gIEBJbnB1dCgpIHB1YmxpYyBsaXN0ITogTW9kZWxMaXN0PFQ+O1xuICBAVmlld0NoaWxkKCdzZWxlY3RvcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvZmN0cGwhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgcHVibGljIHNlZU1vcmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9vZmM6IE5nYk9mZmNhbnZhcykge31cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgaWYgKCF0aGlzLmxpc3QgfHwgIXRoaXMubGlzdC5maWVsZHMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBsaXN0IC8gZmllbGRzJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9wZW4oKSB7XG4gICAgdGhpcy5fb2ZjLm9wZW4odGhpcy5vZmN0cGwpO1xuICB9XG5cbiAgZHJvcCgkZXZlbnQ6IENka0RyYWdEcm9wPFQsIGFueT4pIHtcbiAgICBsZXQgcG9zID0gJGV2ZW50LmN1cnJlbnRJbmRleCAqIDEwO1xuICAgIGlmICgkZXZlbnQuY3VycmVudEluZGV4ID4gJGV2ZW50LnByZXZpb3VzSW5kZXgpIHtcbiAgICAgIHBvcyArPSAxO1xuICAgIH0gZWxzZSB7XG4gICAgICBwb3MgLT0gMTtcbiAgICB9XG4gICAgdGhpcy5saXN0LmZpZWxkcy5zZXRQb3NpdGlvbigkZXZlbnQuaXRlbS5kYXRhLCBwb3MpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZShmOiBNb2RlbExpc3RGaWVsZCkge1xuICAgIGlmIChmLmVuYWJsZWQpIHtcbiAgICAgIHRoaXMubGlzdC5maWVsZHMuZGlzYWJsZShmLm5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxpc3QuZmllbGRzLmVuYWJsZShmLm5hbWUpO1xuICAgIH1cbiAgfVxufVxuIiwiPGkgY2xhc3M9XCJiaSBiaS1saXN0LXVsXCIgKGNsaWNrKT1cIm9wZW4oKVwiIHJvbGU9XCJidXR0b25cIiBhcmlhLWxhYmVsPVwiQ2hvaXggZGVzIGNoYW1wc1wiPjwvaT5cbjxuZy10ZW1wbGF0ZSAjc2VsZWN0b3IgbGV0LW9mZmNhbnZhcz5cbiAgPGRpdiBjbGFzcz1cIm9mZmNhbnZhcy1oZWFkZXJcIj5cbiAgICA8aDQgY2xhc3M9XCJvZmZjYW52YXMtdGl0bGVcIj5DaG9peCBkZXMgY2hhbXBzPC9oND5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuLWNsb3NlXCIgdHlwZT1cImJ1dHRvblwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiIChjbGljayk9XCJvZmZjYW52YXMuZGlzbWlzcygneCcpXCI+PC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwib2ZmY2FudmFzLWJvZHlcIiBjZGtTY3JvbGxhYmxlPlxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZHMtbGlzdFwiIGNka0Ryb3BMaXN0IGNka0Ryb3BMaXN0TG9ja0F4aXM9XCJ5XCIgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIiAqbmdJZj1cImxpc3QuZmllbGRzLmZpZWxkc3xhc3luYyBhcyBmaWVsZHNcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGYgb2YgZmllbGRzXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWVNb3JlIHx8IGYucHJpb3JpdHkgJmd0Oz0gMFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZC1ib3hcIiBjZGtEcmFnIChjbGljayk9XCJ0b2dnbGUoZilcIiBbY2RrRHJhZ0RhdGFdPVwiZi5uYW1lXCIgW2NsYXNzLmVuYWJsZWRdPVwiZi5lbmFibGVkXCIgW2NsYXNzLmNvbXBhY3RdPVwiZmllbGRzLmxlbmd0aCZndDszMFwiIFthdHRyLmFyaWFsLWxhYmVsXT1cImYubGFiZWxcIiByb2xlPVwiYnV0dG9uXCI+e3tmLmxhYmVsfX08c3BhbiBjbGFzcz1cImJhZGdlIGJnLWluZm9cIj4ge3tmLnByaW9yaXR5fX08L3NwYW4+PC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLWxpbmtcIiAoY2xpY2spPVwic2VlTW9yZT0hc2VlTW9yZVwiPnBsdXMgZGUgY2hhbXBzPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
|