@ng-vagabond-lab/ng-dsv 0.0.95 → 0.0.97
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/admin/index.d.ts +4 -4
- package/admin/index.d.ts.map +1 -0
- package/auth/index.d.ts.map +1 -0
- package/base/index.d.ts.map +1 -0
- package/ds/accordion/index.d.ts.map +1 -0
- package/ds/avatar/index.d.ts.map +1 -0
- package/ds/card/index.d.ts.map +1 -0
- package/ds/chip/index.d.ts +14 -0
- package/ds/file/index.d.ts.map +1 -0
- package/ds/header/index.d.ts.map +1 -0
- package/ds/linear-progress/index.d.ts.map +1 -0
- package/ds/menu/index.d.ts.map +1 -0
- package/ds/modal/index.d.ts.map +1 -0
- package/ds/paginate/index.d.ts.map +1 -0
- package/ds/scroll/index.d.ts.map +1 -0
- package/ds/tab/index.d.ts.map +1 -0
- package/ds/table/index.d.ts.map +1 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-admin.mjs +11 -17
- package/fesm2022/ng-vagabond-lab-ng-dsv-admin.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-api.mjs +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-api.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-base.mjs +1 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-base.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-chip.mjs +32 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-chip.mjs.map +1 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form.mjs +8 -8
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form.mjs.map +1 -1
- package/package.json +11 -7
package/admin/index.d.ts
CHANGED
|
@@ -58,7 +58,7 @@ declare class AdminFormComponent extends BaseFormComponent {
|
|
|
58
58
|
callback: _angular_core.OutputEmitterRef<ApiDto>;
|
|
59
59
|
constructor();
|
|
60
60
|
sendForm(data: ApiDto): void;
|
|
61
|
-
removeValue(name: string, id: ID)
|
|
61
|
+
removeValue: (name: string, id: ID) => () => void;
|
|
62
62
|
addValue: (name: string) => (data: ApiDto) => void;
|
|
63
63
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AdminFormComponent, never>;
|
|
64
64
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AdminFormComponent, "dsv-admin-form-component", never, { "urlBack": { "alias": "urlBack"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": true; "isSignal": true; }; "formConf": { "alias": "formConf"; "required": true; "isSignal": true; }; }, { "callback": "callback"; }, never, never, true, never>;
|
|
@@ -140,16 +140,16 @@ declare const ADMIN_INPUT: ({
|
|
|
140
140
|
name: string;
|
|
141
141
|
label: string;
|
|
142
142
|
type: string;
|
|
143
|
-
required: boolean;
|
|
144
143
|
className: string;
|
|
145
|
-
disabled
|
|
144
|
+
disabled: boolean;
|
|
145
|
+
required?: undefined;
|
|
146
146
|
} | {
|
|
147
147
|
name: string;
|
|
148
148
|
label: string;
|
|
149
149
|
type: string;
|
|
150
150
|
required: boolean;
|
|
151
151
|
className: string;
|
|
152
|
-
disabled
|
|
152
|
+
disabled?: undefined;
|
|
153
153
|
})[];
|
|
154
154
|
declare const ADMIN_USER: AdminTabDto[];
|
|
155
155
|
declare const ADMIN_PROFILE: AdminTabDto[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../../projects/ng-dsv/admin/dto/admin.dto.ts","../../../projects/ng-dsv/admin/component/form/admin.form.component.ts","../../../projects/ng-dsv/admin/service/admin.service.ts","../../../projects/ng-dsv/admin/container/form/admin.form.container.ts","../../../projects/ng-dsv/admin/container/modal/admin.search.modal.container.ts","../../../projects/ng-dsv/admin/container/search/admin.search.container.ts","../../../projects/ng-dsv/admin/dto/admin.default.dto.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;AASC;;;;;;;;;;;;;;;AAgBA;AAEK;;;;;;;;AAQL;;;;;;AAOG;;;AAGH;;;;AAIA;;ACzBY;AACT;AACA;AACA;AAEA;;;AAwBA;AAIA;;;AAMH;;AC3DD;AAII;AAEA;AAEA;AACA;AAEA;AASA;AAOA;AAOA;;;AAMH;;ACzBY;AACT;AAEA;AACA;AACA;;;;;;AAiCH;;ACjDD;AAaI;AACA;AAEA;AAEA;AACA;AAEA;;;;;;;AAsBH;;ACxBY;AACT;AAEA;AACA;AACA;AAEA;;;;;AA+BH;;AC/DD;;;;;;;;;;;;;AAKA;;;;;;;AAQA;;;;;;;;;;;;;;;AAOA;AAuCA;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../../projects/ng-dsv/auth/component/auth.component.ts","../../../projects/ng-dsv/auth/dto/user.dto.ts","../../../projects/ng-dsv/auth/guard/auth.guard.ts","../../../projects/ng-dsv/auth/service/auth.google.service.ts","../../../projects/ng-dsv/auth/service/auth.service.ts","../../../projects/ng-dsv/auth/utils/auth.utils.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":";;;;;;AAcA;;;;;;;;;;AA0CC;;ACtDK;;;;;;;AAOL;;;;;;AAOA;;;AAIA;;AChBD;;ACEA;AAIE;AACA;;;;AAiByD;;;;;AAqB1D;;AC5CD;AAIE;AACA;AAEA;;;;;;AAoCD;;AC9CM;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../../projects/ng-dsv/base/component/base.app-scroll.component.ts","../../../projects/ng-dsv/base/component/base.route.component.ts","../../../projects/ng-dsv/base/component/base.scroll.component.ts","../../../projects/ng-dsv/base/service/base.service.ts","../../../projects/ng-dsv/base/service/scroll.service.ts"],"sourcesContent":[null,null,null,null,null],"names":[],"mappings":";;;;;;;AAMA,uBAAA,sBAAA;AACE,wBAAA,kBAAA;AACA,gBAAA,UAAA;AACA,mBAAA,aAAA;AAEA,YAA2B,aAAA,CAAA,cAAA;AAE3B,UAA8B,aAAA,CAAA,cAAA;;;AA6B/B;;ACrCD,uBAAA,kBAAA;AAIE,oBAAA,cAAA;AAEA,iBAAmD,aAAA,QAAA,eAAA,CAAA,MAAA;AAEnD,qBAAA,YAAA;;;AACD;;ACXD,uBAAA,mBAAA;;;;;AAkBC;;ACnBD,uBAAA,WAAA;;;AAGoC;;ACHpC,cAAA,aAAA;AAEE,aAAiD,aAAA,CAAA,cAAA,CAAA,GAAA;AACjD,aAAkD,aAAA,CAAA,cAAA,CAAA,GAAA;AAClD,YAA2B,aAAA,CAAA,cAAA;;;;AAsB3B;;;;AASD;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../../../projects/ng-dsv/ds/accordion/component/accordion.component.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA,cAAA,qBAAA;AAQE,UAA6B,aAAA,CAAA,WAAA;AAC7B,WAA0B,aAAA,CAAA,WAAA;AAC1B,WAA0B,aAAA,CAAA,WAAA;AAE1B,YAAsC,aAAA,CAAA,cAAA;;;;;AAWvC;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../../../projects/ng-dsv/ds/avatar/component/avatar.component.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAIA,cAAA,kBAAA;AAQE,YAA2B,aAAA,CAAA,WAAA;AAC3B,WAAoC,aAAA,CAAA,WAAA,CAAA,SAAA;AACpC,cAAA,gBAAA;;;;;;;AAmBD;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../../../projects/ng-dsv/ds/card/component/card.component.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA,cAAA,gBAAA;AAQE,YAAyB,aAAA,CAAA,WAAA;AACzB,WAA0B,aAAA,CAAA,WAAA;AAC1B,cAA6B,aAAA,CAAA,WAAA;AAC7B,WAAwB,aAAA,CAAA,WAAA;AACxB,SAAsB,aAAA,CAAA,WAAA;;;AACvB;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { OutputEmitterRef } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
declare class DsvChipComponent {
|
|
5
|
+
text: _angular_core.InputSignal<string>;
|
|
6
|
+
delete: OutputEmitterRef<void>;
|
|
7
|
+
isDelete: _angular_core.WritableSignal<boolean>;
|
|
8
|
+
constructor();
|
|
9
|
+
doDelete(): void;
|
|
10
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsvChipComponent, never>;
|
|
11
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsvChipComponent, "dsv-chip", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; }, { "delete": "delete"; }, never, never, true, never>;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { DsvChipComponent };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../../../projects/ng-dsv/ds/file/show/container/file.show.container.ts","../../../../projects/ng-dsv/ds/file/upload/component/file-upload.component.ts","../../../../projects/ng-dsv/ds/file/upload/direcitve/file-upload-directives.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":";;;;AAGA,cAAA,iBAAA;AAMI,gBAAA,UAAA;AAEA,SAA+B,aAAA,CAAA,WAAA;AAC/B,SAAuC,aAAA,CAAA,WAAA;AAEvC,aAA+E,aAAA,CAAA,cAAA;;;AAClF;;ACZD,cAAA,mBAAA;AASE,cAAiC,aAAA,CAAA,WAAA;AACjC,cAA6B,aAAA,CAAA,WAAA;AAC7B,qBAAuC,aAAA,CAAA,WAAA;AAEvC,kBAAkC,aAAA,CAAA,gBAAA,CAAA,QAAA;AAGlC,cAAA,UAAA,CAAA,gBAAA;AAEA,oBAAA,QAAA;;;;AAWD;;AC9BD,cAAA,mBAAA;;;AAQI;AAKA;AAIU,aAAA,YAAA;;AAQV;AAUA;AASA;AAMA,6BAAA,OAAA;;;AAKH;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../../../projects/ng-dsv/ds/header/component/header.component.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAQA,cAAA,kBAAA;AAQE;AACA;AAEA,SAAsB,aAAA,CAAA,WAAA;AACtB,WAA0B,aAAA,CAAA,WAAA;AAC1B,cAAgC,aAAA,CAAA,WAAA;;;;;AASjC;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../../../projects/ng-dsv/ds/linear-progress/component/linear-progress.component.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA,cAAA,uBAAA;AAME,UAA6B,aAAA,CAAA,WAAA;AAC7B,WAAyB,aAAA,CAAA,WAAA;AACzB,mBAAqC,aAAA,CAAA,WAAA;;;AACtC;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../../../projects/ng-dsv/ds/menu/component/button/menu.button.component.ts","../../../../projects/ng-dsv/ds/menu/component/menu.component.ts","../../../../projects/ng-dsv/ds/menu/service/menu.service.ts"],"sourcesContent":[null,null,null],"names":["_angular_core"],"mappings":";;;;;AAKA,cAAA,sBAAA;AAQE;;;;AAKD;;ACLD,cAAA,gBAAA;;;;AAQE,gBAAkCA,EAAA,CAAA,WAAA;;;;;AAmCnC;;AClDY,cAAA,WAAA,SAAA,WAAA;AACX,gBAAoCA,EAAA,CAAA,cAAA;;;;AAKrC;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../../../projects/ng-dsv/ds/modal/service/modal.service.ts","../../../../projects/ng-dsv/ds/modal/component/alert/modal-alert.component.ts","../../../../projects/ng-dsv/ds/modal/component/button/modal-button.component.ts","../../../../projects/ng-dsv/ds/modal/component/modal.component.ts"],"sourcesContent":[null,null,null,null],"names":[],"mappings":";;;;AAEA,cAAA,YAAA;AAEI;;;;;;;AAsBH;;ACrBD,cAAA,mBAAA;AAUI,QAA8B,aAAA,CAAA,WAAA;AAC9B,WAA+B,aAAA,CAAA,WAAA;AAC/B,UAA6B,aAAA,CAAA,WAAA;AAC7B,YAAiC,aAAA,CAAA,WAAA;AACjC,iBAA8B,aAAA,CAAA,WAAA;AAC9B,cAA0B,aAAA,CAAA,gBAAA;AAE1B,YAAgC,aAAA,CAAA,cAAA;AAEhC,kBAAA,YAAA;;AAQA;AAKA;;;AAGH;;ACnCD,cAAA,oBAAA;AASI,QAA8B,aAAA,CAAA,WAAA;AAC9B,UAAyB,aAAA,CAAA,WAAA;AACzB,UAAyB,aAAA,CAAA,WAAA;AACzB,WAAoC,aAAA,CAAA,WAAA,CAAA,SAAA;AAEpC,kBAAA,YAAA;AAEA;;;AAGH;;ACnBD,cAAA,cAAA;AAUI,QAA8B,aAAA,CAAA,WAAA;AAC9B,WAAiC,aAAA,CAAA,WAAA;AACjC,WAA0B,aAAA,CAAA,WAAA;AAE1B,YAAgC,aAAA,CAAA,cAAA;AAEhC,kBAAA,YAAA;AACA,iBAAA,WAAA;;AAWA;;;AAGH;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../../../projects/ng-dsv/ds/paginate/component/paginate.component.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA,cAAA,iBAAA;AAUI,UAAgC,aAAA,CAAA,WAAA;AAChC,SAA+B,aAAA,CAAA,WAAA;AAC/B,QAA8B,aAAA,CAAA,WAAA;AAE9B,cAA4B,aAAA,CAAA,gBAAA;;;;AAK/B;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../../../projects/ng-dsv/ds/scroll/container/scroll.infinite.container.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAGO,cAAA,iBAAA;AAEP,cAAA,uBAAA;AAUI,mBAAA,aAAA;AAEA,WAAyC,aAAA,CAAA,WAAA;AAEzC,cAA0B,aAAA,CAAA,gBAAA;;;;AAY7B;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../../../projects/ng-dsv/ds/tab/tab/dto/tab.dto.ts","../../../../projects/ng-dsv/ds/tab/tab/component/tab.component.ts","../../../../projects/ng-dsv/ds/tab/tabs/component/tabs.component.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":";;;;;;AAIC;;ACAD;AAUI;AACA;;;AAEH;;ACbD;AAUI;AACA;;;AAEH;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../../../projects/ng-dsv/ds/table/dto/table.dto.ts","../../../../projects/ng-dsv/ds/table/component/table.component.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;;;;;;;;AAOC;;ACDD;AAYI;AAEA;AACA;AAEA;AAEA;AACA;;AAmCA;AAsBA;;;AAYH;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { inject, signal, Injectable, input, output, effect, Component } from '@angular/core';
|
|
3
3
|
import { FormControl, Validators, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
-
import {
|
|
4
|
+
import { DsvChipComponent } from '@ng-vagabond-lab/ng-dsv/ds/chip';
|
|
5
5
|
import { SearchbarComponent, BaseFormComponent, FormComponent, FormInputComponent, FormCheckboxComponent } from '@ng-vagabond-lab/ng-dsv/ds/form';
|
|
6
6
|
import { DsvItemComponent } from '@ng-vagabond-lab/ng-dsv/ds/item';
|
|
7
7
|
import { ModalService, ModalButtonComponent, ModalComponent } from '@ng-vagabond-lab/ng-dsv/ds/modal';
|
|
@@ -9,6 +9,7 @@ import { ApiService } from '@ng-vagabond-lab/ng-dsv/api';
|
|
|
9
9
|
import { BaseRouteComponent } from '@ng-vagabond-lab/ng-dsv/base';
|
|
10
10
|
import { DsvCardComponent } from '@ng-vagabond-lab/ng-dsv/ds/card';
|
|
11
11
|
import { RouterLink } from '@angular/router';
|
|
12
|
+
import { DsvButtonComponent } from '@ng-vagabond-lab/ng-dsv/ds/button';
|
|
12
13
|
import { PaginateComponent } from '@ng-vagabond-lab/ng-dsv/ds/paginate';
|
|
13
14
|
import { TabsComponent } from '@ng-vagabond-lab/ng-dsv/ds/tab';
|
|
14
15
|
import { TableComponent } from '@ng-vagabond-lab/ng-dsv/ds/table';
|
|
@@ -107,7 +108,7 @@ class AdminFormComponent extends BaseFormComponent {
|
|
|
107
108
|
value = value.substring(0, 16);
|
|
108
109
|
}
|
|
109
110
|
const required = conf.required || false;
|
|
110
|
-
formControl[conf.name] = new FormControl(value, required ? Validators.required : null);
|
|
111
|
+
formControl[conf.name] = new FormControl({ value, disabled: conf.disabled ?? false }, required ? Validators.required : null);
|
|
111
112
|
});
|
|
112
113
|
this.form = this.formBuilder.group(formControl);
|
|
113
114
|
});
|
|
@@ -115,9 +116,9 @@ class AdminFormComponent extends BaseFormComponent {
|
|
|
115
116
|
sendForm(data) {
|
|
116
117
|
this.callback.emit(data);
|
|
117
118
|
}
|
|
118
|
-
removeValue(name, id) {
|
|
119
|
+
removeValue = (name, id) => () => {
|
|
119
120
|
this.form.value[name] = this.form.value[name].filter((value) => value.id !== id);
|
|
120
|
-
}
|
|
121
|
+
};
|
|
121
122
|
addValue = (name) => (data) => {
|
|
122
123
|
const find = this.form.value[name].find((value) => value.id === data.id);
|
|
123
124
|
if (!find) {
|
|
@@ -125,18 +126,18 @@ class AdminFormComponent extends BaseFormComponent {
|
|
|
125
126
|
}
|
|
126
127
|
};
|
|
127
128
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: AdminFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
128
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: AdminFormComponent, isStandalone: true, selector: "dsv-admin-form-component", inputs: { urlBack: { classPropertyName: "urlBack", publicName: "urlBack", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, formConf: { classPropertyName: "formConf", publicName: "formConf", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { callback: "callback" }, usesInheritance: true, ngImport: i0, template: "<app-form [form]=\"form\" [urlBack]=\"urlBack()!\" (callback)=\"sendForm($event)\">\n <div class=\"form-container\">\n @for (field of formConf(); track field.name) {\n <div [class.width50]=\"field.className === 'width50'\">\n @if (field.type === \"text\"
|
|
129
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: AdminFormComponent, isStandalone: true, selector: "dsv-admin-form-component", inputs: { urlBack: { classPropertyName: "urlBack", publicName: "urlBack", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, formConf: { classPropertyName: "formConf", publicName: "formConf", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { callback: "callback" }, usesInheritance: true, ngImport: i0, template: "<app-form [form]=\"form\" [urlBack]=\"urlBack()!\" (callback)=\"sendForm($event)\">\n <div class=\"form-container\">\n @for (field of formConf(); track field.name) {\n <div [class.width50]=\"field.className === 'width50'\">\n @if (\n field.type === \"text\" ||\n field.type === \"textarea\" ||\n field.type === \"datetime-local\"\n ) {\n <dsv-form-input\n [form]=\"form\"\n [field]=\"field.name\"\n [type]=\"field.type\"\n [required]=\"field.required ?? false\"\n />\n }\n @if (field.type === \"switch\") {\n <dsv-form-checkbox [form]=\"form\" [field]=\"field.name\" />\n }\n @if (field.type === \"m2m\") {\n <div class=\"m2m\">\n <div class=\"m2m-content\">\n @for (value of form.value[field.name]; track value.id) {\n <dsv-chip\n [text]=\"value.name\"\n (delete)=\"removeValue(field.name, value.id)()\"\n />\n }\n <admin-search-modal\n [m2em]=\"field.m2m!\"\n (callback)=\"addValue(field.name)($event)\"\n />\n </div>\n </div>\n }\n </div>\n }\n </div>\n</app-form>\n", styles: [":host .form-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px}:host .form-container>div{display:flex;width:100%}:host .form-container .width50{width:49%}:host .form-container .m2m{display:flex;flex:1;overflow:auto;padding:10px 0}:host .form-container .m2m .m2m-content{align-items:center;gap:10px;flex-wrap:nowrap;display:flex;flex-direction:row;justify-content:end;flex:1}@media (max-width: 800px){.form-container .width50{width:100%!important}.form-container .m2m{justify-content:baseline!important}}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: DsvChipComponent, selector: "dsv-chip", inputs: ["text"], outputs: ["delete"] }, { kind: "component", type: FormComponent, selector: "app-form", inputs: ["form", "urlBack", "textValid", "formValid"], outputs: ["callback"] }, { kind: "component", type: FormInputComponent, selector: "dsv-form-input", inputs: ["form", "field", "type", "withLabel", "required", "icon"], outputs: ["onSend"] }, { kind: "component", type: AdminSearchModalContainer, selector: "admin-search-modal", inputs: ["m2em"], outputs: ["callback"] }, { kind: "component", type: FormCheckboxComponent, selector: "dsv-form-checkbox", inputs: ["form", "field", "withLabel"], outputs: ["change"] }] });
|
|
129
130
|
}
|
|
130
131
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: AdminFormComponent, decorators: [{
|
|
131
132
|
type: Component,
|
|
132
133
|
args: [{ selector: 'dsv-admin-form-component', standalone: true, imports: [
|
|
133
134
|
ReactiveFormsModule,
|
|
134
|
-
|
|
135
|
+
DsvChipComponent,
|
|
135
136
|
FormComponent,
|
|
136
137
|
FormInputComponent,
|
|
137
138
|
AdminSearchModalContainer,
|
|
138
139
|
FormCheckboxComponent
|
|
139
|
-
], template: "<app-form [form]=\"form\" [urlBack]=\"urlBack()!\" (callback)=\"sendForm($event)\">\n <div class=\"form-container\">\n @for (field of formConf(); track field.name) {\n <div [class.width50]=\"field.className === 'width50'\">\n @if (field.type === \"text\"
|
|
140
|
+
], template: "<app-form [form]=\"form\" [urlBack]=\"urlBack()!\" (callback)=\"sendForm($event)\">\n <div class=\"form-container\">\n @for (field of formConf(); track field.name) {\n <div [class.width50]=\"field.className === 'width50'\">\n @if (\n field.type === \"text\" ||\n field.type === \"textarea\" ||\n field.type === \"datetime-local\"\n ) {\n <dsv-form-input\n [form]=\"form\"\n [field]=\"field.name\"\n [type]=\"field.type\"\n [required]=\"field.required ?? false\"\n />\n }\n @if (field.type === \"switch\") {\n <dsv-form-checkbox [form]=\"form\" [field]=\"field.name\" />\n }\n @if (field.type === \"m2m\") {\n <div class=\"m2m\">\n <div class=\"m2m-content\">\n @for (value of form.value[field.name]; track value.id) {\n <dsv-chip\n [text]=\"value.name\"\n (delete)=\"removeValue(field.name, value.id)()\"\n />\n }\n <admin-search-modal\n [m2em]=\"field.m2m!\"\n (callback)=\"addValue(field.name)($event)\"\n />\n </div>\n </div>\n }\n </div>\n }\n </div>\n</app-form>\n", styles: [":host .form-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px}:host .form-container>div{display:flex;width:100%}:host .form-container .width50{width:49%}:host .form-container .m2m{display:flex;flex:1;overflow:auto;padding:10px 0}:host .form-container .m2m .m2m-content{align-items:center;gap:10px;flex-wrap:nowrap;display:flex;flex-direction:row;justify-content:end;flex:1}@media (max-width: 800px){.form-container .width50{width:100%!important}.form-container .m2m{justify-content:baseline!important}}\n"] }]
|
|
140
141
|
}], ctorParameters: () => [] });
|
|
141
142
|
|
|
142
143
|
class AdminFormContainer extends BaseRouteComponent {
|
|
@@ -246,16 +247,9 @@ const ADMIN_PROFILE_M2M = {
|
|
|
246
247
|
orderBy: 'asc',
|
|
247
248
|
};
|
|
248
249
|
const ADMIN_INPUT = [
|
|
249
|
-
{ name: 'creationDate', label: 'AUTH.FIELDS.CREATE_DATE', type: 'datetime-local',
|
|
250
|
-
{ name: 'updatedDate', label: 'AUTH.FIELDS.UPDATE_DATE', type: 'datetime-local',
|
|
251
|
-
{
|
|
252
|
-
name: 'deletedDate',
|
|
253
|
-
label: 'AUTH.FIELDS.DELETE_DATE',
|
|
254
|
-
type: 'datetime-local',
|
|
255
|
-
required: false,
|
|
256
|
-
className: 'width50',
|
|
257
|
-
disabled: true,
|
|
258
|
-
},
|
|
250
|
+
{ name: 'creationDate', label: 'AUTH.FIELDS.CREATE_DATE', type: 'datetime-local', className: 'width50', disabled: true, },
|
|
251
|
+
{ name: 'updatedDate', label: 'AUTH.FIELDS.UPDATE_DATE', type: 'datetime-local', className: 'width50', disabled: true, },
|
|
252
|
+
{ name: 'deletedDate', label: 'AUTH.FIELDS.DELETE_DATE', type: 'datetime-local', className: 'width50', disabled: true, },
|
|
259
253
|
{ name: 'active', label: 'AUTH.FIELDS.ACTIVE', type: 'switch', required: false, className: 'width50' },
|
|
260
254
|
];
|
|
261
255
|
const ADMIN_USER = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-vagabond-lab-ng-dsv-admin.mjs","sources":["../../../projects/ng-dsv/admin/service/admin.service.ts","../../../projects/ng-dsv/admin/container/modal/admin.search.modal.container.ts","../../../projects/ng-dsv/admin/container/modal/admin.search.modal.container.html","../../../projects/ng-dsv/admin/component/form/admin.form.component.ts","../../../projects/ng-dsv/admin/component/form/admin.form.component.html","../../../projects/ng-dsv/admin/container/form/admin.form.container.ts","../../../projects/ng-dsv/admin/container/form/admin.form.container.html","../../../projects/ng-dsv/admin/container/search/admin.search.container.ts","../../../projects/ng-dsv/admin/container/search/admin.search.container.html","../../../projects/ng-dsv/admin/dto/admin.default.dto.ts","../../../projects/ng-dsv/admin/ng-vagabond-lab-ng-dsv-admin.ts"],"sourcesContent":["import { inject, Injectable, signal } from \"@angular/core\";\nimport { ApiDto, ApiService, PageableDto } from \"@ng-vagabond-lab/ng-dsv/api\";\nimport { AdminTabConfDto } from \"../dto/admin.dto\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class AdminService {\n apiService = inject(ApiService);\n\n tabs = signal<AdminTabConfDto>({} as AdminTabConfDto);\n\n datas = signal<PageableDto<ApiDto[]>>({} as PageableDto<ApiDto[]>);\n data = signal<ApiDto>({} as ApiDto);\n\n get(endpoint: string, fields: string, search: string, page: number = 0, max: number = 10, callback?: (data: PageableDto<ApiDto[]>) => void) {\n const url = '/' + endpoint + '/findBy?fields=' + fields + '&values=' + search + '&first=' + page + '&max=' + max;\n\n const callbackResponse = callback ?? ((data: PageableDto<ApiDto[]>) => {\n this.datas.set(data);\n });\n this.apiService.get<PageableDto<ApiDto[]>>(encodeURI(url), callbackResponse)\n }\n\n post(endpoint: string, data: ApiDto) {\n const url = '/' + endpoint;\n this.apiService.post<ApiDto>(encodeURI(url), data, (response) => {\n this.data.set(response);\n })\n }\n\n put(endpoint: string, data: ApiDto) {\n const url = '/' + endpoint;\n this.apiService.put<ApiDto>(encodeURI(url), data, (response) => {\n this.data.set(response);\n })\n }\n\n findById(endpoint: string, id: string) {\n const url = '/' + endpoint + '/' + id;\n this.apiService.get<ApiDto>(encodeURI(url), (data) => {\n this.data.set(data);\n })\n }\n}","import { Component, effect, inject, input, output, signal } from \"@angular/core\";\nimport { ApiDto } from \"@ng-vagabond-lab/ng-dsv/api\";\nimport { SearchbarComponent } from \"@ng-vagabond-lab/ng-dsv/ds/form\";\nimport { DsvItemComponent } from \"@ng-vagabond-lab/ng-dsv/ds/item\";\nimport { ModalButtonComponent, ModalComponent, ModalService } from \"@ng-vagabond-lab/ng-dsv/ds/modal\";\nimport { ManyToManyDto } from \"../../dto/admin.dto\";\nimport { AdminService } from \"../../service/admin.service\";\n\n@Component({\n selector: 'admin-search-modal',\n standalone: true,\n imports: [\n DsvItemComponent,\n ModalButtonComponent,\n ModalComponent,\n SearchbarComponent,\n ],\n templateUrl: './admin.search.modal.container.html',\n styleUrls: ['./admin.search.modal.container.scss']\n})\nexport class AdminSearchModalContainer {\n modalService = inject(ModalService);\n adminService = inject(AdminService);\n\n m2em = input.required<ManyToManyDto>();\n\n search = signal<string>('');\n datas = signal<(ApiDto)[]>([]);\n\n callback = output<ApiDto>();\n\n constructor() {\n effect(() => {\n this.adminService.get(this.m2em().endPoint, this.m2em().fields, this.search(), 0, 500, (data) => {\n this.datas.set(data.content);\n });\n });\n }\n\n getValue(data: ApiDto, name: string) {\n return data[name as keyof ApiDto] as string;\n }\n\n doSearch(search: string) {\n this.search.set(search);\n }\n\n clickItem = (data: ApiDto) => {\n this.callback.emit(data);\n this.modalService.close('m2m');\n }\n}","<app-modal-button id=\"m2m\" icon=\"ri-add-line\" />\n<app-modal id=\"m2m\" title=\"Ajouter un élément\">\n <form-searchbar\n [search]=\"search()\"\n (onSearch)=\"doSearch($event)\"\n ></form-searchbar>\n <div>\n @for (data of datas(); track data.id) {\n <dsv-item\n [text]=\"getValue(data, m2em().name)\"\n (callback)=\"clickItem(data)\"\n />\n }\n </div>\n</app-modal>\n","import { Component, effect, input, output } from \"@angular/core\";\nimport { FormControl, ReactiveFormsModule, Validators } from \"@angular/forms\";\nimport { ApiDto, ID } from \"@ng-vagabond-lab/ng-dsv/api\";\nimport { DsvButtonComponent } from \"@ng-vagabond-lab/ng-dsv/ds/button\";\nimport { BaseFormComponent, FormCheckboxComponent, FormComponent, FormInputComponent } from \"@ng-vagabond-lab/ng-dsv/ds/form\";\nimport { AdminSearchModalContainer } from \"../../container/modal/admin.search.modal.container\";\nimport { FormDto } from \"../../dto/admin.dto\";\n\n@Component({\n selector: 'dsv-admin-form-component',\n standalone: true,\n imports: [\n ReactiveFormsModule,\n DsvButtonComponent,\n FormComponent,\n FormInputComponent,\n AdminSearchModalContainer,\n FormCheckboxComponent\n ],\n templateUrl: './admin.form.component.html',\n styleUrls: ['./admin.form.component.scss']\n})\nexport class AdminFormComponent extends BaseFormComponent {\n urlBack = input<string>();\n data = input.required<ApiDto>();\n formConf = input.required<FormDto[]>();\n\n callback = output<ApiDto>();\n\n constructor() {\n super();\n effect(() => {\n this.formBuilder.control('a')\n\n let formControl = {} as { [key: string]: FormControl };\n this.formConf().forEach(conf => {\n let value = this.data()[conf.name as keyof ApiDto];\n if (conf.type === 'datetime-local' && value) {\n value = (value as string).substring(0, 16);\n }\n const required = conf.required || false;\n formControl[conf.name] = new FormControl(value, required ? Validators.required : null);\n })\n this.form = this.formBuilder.group(formControl);\n })\n }\n\n sendForm(data: ApiDto) {\n this.callback.emit(data);\n }\n\n removeValue(name: string, id: ID) {\n this.form.value[name] = this.form.value[name].filter((value: ApiDto) => value.id !== id);\n }\n\n addValue = (name: string) => (data: ApiDto) => {\n const find = this.form.value[name].find((value: ApiDto) => value.id === data.id);\n if (!find) {\n this.form.value[name].push(data);\n }\n }\n}","<app-form [form]=\"form\" [urlBack]=\"urlBack()!\" (callback)=\"sendForm($event)\">\n <div class=\"form-container\">\n @for (field of formConf(); track field.name) {\n <div [class.width50]=\"field.className === 'width50'\">\n @if (field.type === \"text\" || field.type === \"datetime-local\") {\n <dsv-form-input\n [form]=\"form\"\n [field]=\"field.name\"\n [type]=\"field.type\"\n [required]=\"field.required ?? false\"\n />\n }\n @if (field.type === \"switch\") {\n <dsv-form-checkbox [form]=\"form\" [field]=\"field.name\" />\n }\n @if (field.type === \"m2m\") {\n <div class=\"m2m\">\n <div class=\"m2m-content\">\n @for (value of form.value[field.name]; track value.id) {\n <div class=\"chip\">\n {{ value.name }}\n <dsv-button\n icon=\"ri-delete-bin-line\"\n variant=\"text\"\n color=\"error\"\n (callback)=\"removeValue(field.name, value.id)\"\n ></dsv-button>\n </div>\n }\n <admin-search-modal\n [m2em]=\"field.m2m!\"\n (callback)=\"addValue(field.name)($event)\"\n />\n </div>\n </div>\n }\n </div>\n }\n </div>\n</app-form>\n","import { Component, effect, inject, signal } from \"@angular/core\";\nimport { ApiDto } from \"@ng-vagabond-lab/ng-dsv/api\";\nimport { BaseRouteComponent } from \"@ng-vagabond-lab/ng-dsv/base\";\nimport { DsvCardComponent } from \"@ng-vagabond-lab/ng-dsv/ds/card\";\nimport { TabDto } from \"@ng-vagabond-lab/ng-dsv/ds/tab\";\nimport { AdminFormComponent } from \"../../component/form/admin.form.component\";\nimport { AdminTabDto } from \"../../dto/admin.dto\";\nimport { AdminService } from \"../../service/admin.service\";\n\n@Component({\n selector: 'dsv-admin-form',\n standalone: true,\n imports: [\n DsvCardComponent,\n AdminFormComponent\n ],\n templateUrl: './admin.form.container.html',\n styleUrls: ['./admin.form.container.scss']\n})\nexport class AdminFormContainer extends BaseRouteComponent {\n adminService = inject(AdminService);\n\n tabs = signal<TabDto[]>([]);\n tab = signal<string>('user');\n tabConfig = signal<AdminTabDto | undefined>(undefined);\n\n constructor() {\n super();\n effect(() => {\n const id = this.routeParams()?.['id'];\n this.tab.set(this.routeParams()?.['type']);\n const tab = this.adminService.tabs()?.tabs.find((tab) => tab.name === this.tab());\n this.tabConfig.set(tab);\n if (isNaN(id)) {\n this.adminService.data.set({} as ApiDto);\n } else {\n this.findById(this.routeParams()?.['id']);\n }\n });\n }\n\n findById(id: string) {\n this.adminService.findById(this.tabConfig()?.name!, id);\n }\n\n sendForm(data: ApiDto) {\n const dataFusion = {\n ...this.adminService.data(),\n ...data\n }\n console.log(dataFusion, data);\n if (!dataFusion.id) {\n this.adminService.post(this.tabConfig()?.name!, dataFusion);\n } else {\n this.adminService.put(this.tabConfig()?.name!, dataFusion);\n }\n }\n}","<dsv-card [title]=\"adminService.data().id ? 'Modification' : 'Ajout'\">\n <dsv-admin-form-component\n [data]=\"adminService.data()\"\n [formConf]=\"tabConfig()?.form!\"\n [urlBack]=\"'/admin/' + tab()\"\n (callback)=\"sendForm($event)\"\n />\n</dsv-card>\n","import { Component, effect, inject, signal } from \"@angular/core\";\nimport { RouterLink } from \"@angular/router\";\nimport { BaseRouteComponent } from \"@ng-vagabond-lab/ng-dsv/base\";\nimport { DsvButtonComponent } from \"@ng-vagabond-lab/ng-dsv/ds/button\";\nimport { DsvCardComponent } from \"@ng-vagabond-lab/ng-dsv/ds/card\";\nimport { PaginateComponent } from \"@ng-vagabond-lab/ng-dsv/ds/paginate\";\nimport { TabDto, TabsComponent } from \"@ng-vagabond-lab/ng-dsv/ds/tab\";\nimport { TableComponent } from \"@ng-vagabond-lab/ng-dsv/ds/table\";\nimport { v4 as uuidv4 } from 'uuid';\nimport { AdminTabDto } from \"../../dto/admin.dto\";\nimport { AdminService } from \"../../service/admin.service\";\n\n\n@Component({\n selector: \"app-admin-search\",\n standalone: true,\n imports: [\n DsvCardComponent,\n DsvButtonComponent,\n TabsComponent,\n TableComponent,\n PaginateComponent,\n RouterLink\n ],\n templateUrl: \"./admin.search.container.html\",\n styleUrls: [\"./admin.search.container.scss\"]\n})\nexport class AdminSearchContainer extends BaseRouteComponent {\n adminService = inject(AdminService);\n\n tabs = signal<TabDto[]>([]);\n tab = signal<string>('user');\n tabConfig = signal<AdminTabDto | undefined>(undefined);\n\n page = signal<number>(0);\n\n constructor() {\n super();\n effect(() => {\n this.tab.set(this.routeParams()?.['type']);\n const tab = this.adminService.tabs()?.tabs.find((tab) => tab.name === this.tab())\n this.tabConfig.set(tab);\n this.gotoPage(0);\n });\n effect(() => {\n const tabs = this.adminService.tabs()?.tabs;\n const tabsDtos: TabDto[] = [];\n if (tabs) {\n tabs.forEach((tab) => {\n const tabsDto = {} as TabDto;\n tabsDto.id = uuidv4();\n tabsDto.title = tab.name;\n tabsDto.url = '/admin/' + tab.name;\n tabsDtos.push(tabsDto);\n });\n }\n this.tabs.set(tabsDtos);\n });\n }\n\n gotoPage(page: number) {\n this.page.set(page);\n this.adminService.get(this.tabConfig()?.name!, this.tabConfig()?.findByChamps!, '', page, this.adminService.tabs()?.max);\n }\n\n}","<dsv-tabs-component [tabs]=\"tabs()\" [active]=\"tab()\" />\n<dsv-card>\n <div class=\"admin-header\">\n <span>Résulat : {{ adminService.datas().totalElements }}</span>\n <dsv-button\n variant=\"contained\"\n color=\"primary\"\n icon=\"ri-add-line\"\n [routerLink]=\"'/admin/' + tab() + '/add'\"\n [prevent]=\"false\"\n ></dsv-button>\n </div>\n <dsv-table\n [cells]=\"tabConfig()?.cells!\"\n [datas]=\"adminService.datas().content!\"\n [max]=\"adminService.tabs().max!\"\n [url]=\"'/admin/' + tab()\"\n ></dsv-table>\n <app-paginate-component\n [page]=\"page()\"\n [max]=\"adminService.datas().totalPages!\"\n [nb]=\"adminService.datas().totalElements!\"\n (callback)=\"gotoPage($event)\"\n />\n</dsv-card>\n","import { AdminTabDto } from \"./admin.dto\";\n\nexport const ADMIN_COL = [\n { label: 'AUTH.FIELDS.CREATE_DATE', width: '145px', name: 'creationDate', date: true, order: true },\n { label: 'AUTH.FIELDS.ACTIVE', width: '70px', name: 'active', order: true },\n];\n\nexport const ADMIN_PROFILE_M2M = {\n name: 'name',\n endPoint: 'profile',\n fields: 'name%',\n order: 'name',\n orderBy: 'asc',\n};\n\nexport const ADMIN_INPUT = [\n { name: 'creationDate', label: 'AUTH.FIELDS.CREATE_DATE', type: 'datetime-local', required: false, className: 'width50' },\n { name: 'updatedDate', label: 'AUTH.FIELDS.UPDATE_DATE', type: 'datetime-local', required: false, className: 'width50' },\n {\n name: 'deletedDate',\n label: 'AUTH.FIELDS.DELETE_DATE',\n type: 'datetime-local',\n required: false,\n className: 'width50',\n disabled: true,\n },\n { name: 'active', label: 'AUTH.FIELDS.ACTIVE', type: 'switch', required: false, className: 'width50' },\n];\n\nexport const ADMIN_USER: AdminTabDto[] = [\n {\n name: 'user',\n label: 'AUTH.USER:TITLE',\n findByChamps: 'username%And|Email%',\n sortBy: 'creationDate',\n sortByAsc: 'desc',\n cells: [\n { label: 'AUTH.FIELDS.LOGIN', name: 'username', order: true },\n { label: 'AUTH.FIELDS.EMAIL', width: '240px', name: 'email', order: true },\n { label: 'AUTH.FIELDS.PROFILES', name: 'profiles.name' },\n { label: 'AUTH.FIELDS.LAST_CONNEXION_DATE', width: '150px', name: 'lastConnexionDate', date: true, order: true },\n ...ADMIN_COL,\n ],\n form: [\n { name: 'username', label: 'AUTH.FIELDS.LOGIN', type: 'text', required: true },\n { name: 'password', label: 'AUTH.FIELDS.PASSWORD', type: 'password', required: false },\n { name: 'email', label: 'AUTH.FIELDS.EMAIL', type: 'text', email: true, required: true },\n {\n name: 'profiles',\n label: 'AUTH.FIELDS.PFOFILES',\n type: 'm2m',\n required: false,\n m2m: ADMIN_PROFILE_M2M,\n array: true,\n },\n { name: 'lastConnexionDate', label: 'AUTH.FIELDS.LAST_CONNEXION_DATE', type: 'datetime-local', required: false },\n { name: 'activationToken', label: 'AUTH.FIELDS.ACTIVATION_TOKEN', type: 'text', className: 'width50' },\n { name: 'emailActivation', label: 'AUTH.FIELDS.EMAIL_ACTIVIATION', type: 'switch', className: 'width50' },\n { name: 'identityToken', label: 'AUTH.FIELDS.IDENTITY_TOKEN', type: 'text', className: 'width50' },\n { name: 'identityTokenDateEnd', label: 'AUTH.FIELDS.IDENTITY_TOKEN_DATE', type: 'datetime-local', className: 'width50' },\n { name: 'googleId', label: 'AUTH.FIELDS.GOOGLE_ID', type: 'text', className: 'width50' },\n { name: 'facebookId', label: 'AUTH.FIELDS.FACEBOOK_ID', type: 'text', className: 'width50' },\n ...ADMIN_INPUT,\n ],\n },\n];\n\n\nexport const ADMIN_PROFILE: AdminTabDto[] = [\n {\n name: 'profile',\n label: 'AUTH.PROFILE:TITLE',\n findByChamps: 'name%',\n sortBy: 'name',\n cells: [\n { label: 'AUTH.FIELDS.NAME', name: 'name', order: true },\n { label: 'AUTH.FIELDS.ROLES', name: 'roles', order: true },\n ...ADMIN_COL,\n ],\n form: [\n { name: 'name', label: 'AUTH.FIELDS.NAME', type: 'text', required: true },\n { name: 'roles', label: 'AUTH.FIELDS.ROLES', type: 'text', required: true },\n ...ADMIN_INPUT,\n ],\n },\n];","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["uuidv4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-vagabond-lab-ng-dsv-admin.mjs","sources":["../../../projects/ng-dsv/admin/service/admin.service.ts","../../../projects/ng-dsv/admin/container/modal/admin.search.modal.container.ts","../../../projects/ng-dsv/admin/container/modal/admin.search.modal.container.html","../../../projects/ng-dsv/admin/component/form/admin.form.component.ts","../../../projects/ng-dsv/admin/component/form/admin.form.component.html","../../../projects/ng-dsv/admin/container/form/admin.form.container.ts","../../../projects/ng-dsv/admin/container/form/admin.form.container.html","../../../projects/ng-dsv/admin/container/search/admin.search.container.ts","../../../projects/ng-dsv/admin/container/search/admin.search.container.html","../../../projects/ng-dsv/admin/dto/admin.default.dto.ts","../../../projects/ng-dsv/admin/ng-vagabond-lab-ng-dsv-admin.ts"],"sourcesContent":["import { inject, Injectable, signal } from \"@angular/core\";\nimport { ApiDto, ApiService, PageableDto } from \"@ng-vagabond-lab/ng-dsv/api\";\nimport { AdminTabConfDto } from \"../dto/admin.dto\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class AdminService {\n apiService = inject(ApiService);\n\n tabs = signal<AdminTabConfDto>({} as AdminTabConfDto);\n\n datas = signal<PageableDto<ApiDto[]>>({} as PageableDto<ApiDto[]>);\n data = signal<ApiDto>({} as ApiDto);\n\n get(endpoint: string, fields: string, search: string, page: number = 0, max: number = 10, callback?: (data: PageableDto<ApiDto[]>) => void) {\n const url = '/' + endpoint + '/findBy?fields=' + fields + '&values=' + search + '&first=' + page + '&max=' + max;\n\n const callbackResponse = callback ?? ((data: PageableDto<ApiDto[]>) => {\n this.datas.set(data);\n });\n this.apiService.get<PageableDto<ApiDto[]>>(encodeURI(url), callbackResponse)\n }\n\n post(endpoint: string, data: ApiDto) {\n const url = '/' + endpoint;\n this.apiService.post<ApiDto>(encodeURI(url), data, (response) => {\n this.data.set(response);\n })\n }\n\n put(endpoint: string, data: ApiDto) {\n const url = '/' + endpoint;\n this.apiService.put<ApiDto>(encodeURI(url), data, (response) => {\n this.data.set(response);\n })\n }\n\n findById(endpoint: string, id: string) {\n const url = '/' + endpoint + '/' + id;\n this.apiService.get<ApiDto>(encodeURI(url), (data) => {\n this.data.set(data);\n })\n }\n}","import { Component, effect, inject, input, output, signal } from \"@angular/core\";\nimport { ApiDto } from \"@ng-vagabond-lab/ng-dsv/api\";\nimport { SearchbarComponent } from \"@ng-vagabond-lab/ng-dsv/ds/form\";\nimport { DsvItemComponent } from \"@ng-vagabond-lab/ng-dsv/ds/item\";\nimport { ModalButtonComponent, ModalComponent, ModalService } from \"@ng-vagabond-lab/ng-dsv/ds/modal\";\nimport { ManyToManyDto } from \"../../dto/admin.dto\";\nimport { AdminService } from \"../../service/admin.service\";\n\n@Component({\n selector: 'admin-search-modal',\n standalone: true,\n imports: [\n DsvItemComponent,\n ModalButtonComponent,\n ModalComponent,\n SearchbarComponent,\n ],\n templateUrl: './admin.search.modal.container.html',\n styleUrls: ['./admin.search.modal.container.scss']\n})\nexport class AdminSearchModalContainer {\n modalService = inject(ModalService);\n adminService = inject(AdminService);\n\n m2em = input.required<ManyToManyDto>();\n\n search = signal<string>('');\n datas = signal<(ApiDto)[]>([]);\n\n callback = output<ApiDto>();\n\n constructor() {\n effect(() => {\n this.adminService.get(this.m2em().endPoint, this.m2em().fields, this.search(), 0, 500, (data) => {\n this.datas.set(data.content);\n });\n });\n }\n\n getValue(data: ApiDto, name: string) {\n return data[name as keyof ApiDto] as string;\n }\n\n doSearch(search: string) {\n this.search.set(search);\n }\n\n clickItem = (data: ApiDto) => {\n this.callback.emit(data);\n this.modalService.close('m2m');\n }\n}","<app-modal-button id=\"m2m\" icon=\"ri-add-line\" />\n<app-modal id=\"m2m\" title=\"Ajouter un élément\">\n <form-searchbar\n [search]=\"search()\"\n (onSearch)=\"doSearch($event)\"\n ></form-searchbar>\n <div>\n @for (data of datas(); track data.id) {\n <dsv-item\n [text]=\"getValue(data, m2em().name)\"\n (callback)=\"clickItem(data)\"\n />\n }\n </div>\n</app-modal>\n","import { Component, effect, input, output } from \"@angular/core\";\nimport { FormControl, ReactiveFormsModule, Validators } from \"@angular/forms\";\nimport { ApiDto, ID } from \"@ng-vagabond-lab/ng-dsv/api\";\nimport { DsvChipComponent } from \"@ng-vagabond-lab/ng-dsv/ds/chip\";\nimport { BaseFormComponent, FormCheckboxComponent, FormComponent, FormInputComponent } from \"@ng-vagabond-lab/ng-dsv/ds/form\";\nimport { AdminSearchModalContainer } from \"../../container/modal/admin.search.modal.container\";\nimport { FormDto } from \"../../dto/admin.dto\";\n\n@Component({\n selector: 'dsv-admin-form-component',\n standalone: true,\n imports: [\n ReactiveFormsModule,\n DsvChipComponent,\n FormComponent,\n FormInputComponent,\n AdminSearchModalContainer,\n FormCheckboxComponent\n ],\n templateUrl: './admin.form.component.html',\n styleUrls: ['./admin.form.component.scss']\n})\nexport class AdminFormComponent extends BaseFormComponent {\n urlBack = input<string>();\n data = input.required<ApiDto>();\n formConf = input.required<FormDto[]>();\n\n callback = output<ApiDto>();\n\n constructor() {\n super();\n effect(() => {\n this.formBuilder.control('a')\n\n let formControl = {} as { [key: string]: FormControl };\n this.formConf().forEach(conf => {\n let value = this.data()[conf.name as keyof ApiDto];\n if (conf.type === 'datetime-local' && value) {\n value = (value as string).substring(0, 16);\n }\n const required = conf.required || false;\n formControl[conf.name] = new FormControl({ value, disabled: conf.disabled ?? false }, required ? Validators.required : null);\n })\n this.form = this.formBuilder.group(formControl);\n })\n }\n\n sendForm(data: ApiDto) {\n this.callback.emit(data);\n }\n\n removeValue = (name: string, id: ID) => () => {\n this.form.value[name] = this.form.value[name].filter((value: ApiDto) => value.id !== id);\n }\n\n addValue = (name: string) => (data: ApiDto) => {\n const find = this.form.value[name].find((value: ApiDto) => value.id === data.id);\n if (!find) {\n this.form.value[name].push(data);\n }\n }\n}","<app-form [form]=\"form\" [urlBack]=\"urlBack()!\" (callback)=\"sendForm($event)\">\n <div class=\"form-container\">\n @for (field of formConf(); track field.name) {\n <div [class.width50]=\"field.className === 'width50'\">\n @if (\n field.type === \"text\" ||\n field.type === \"textarea\" ||\n field.type === \"datetime-local\"\n ) {\n <dsv-form-input\n [form]=\"form\"\n [field]=\"field.name\"\n [type]=\"field.type\"\n [required]=\"field.required ?? false\"\n />\n }\n @if (field.type === \"switch\") {\n <dsv-form-checkbox [form]=\"form\" [field]=\"field.name\" />\n }\n @if (field.type === \"m2m\") {\n <div class=\"m2m\">\n <div class=\"m2m-content\">\n @for (value of form.value[field.name]; track value.id) {\n <dsv-chip\n [text]=\"value.name\"\n (delete)=\"removeValue(field.name, value.id)()\"\n />\n }\n <admin-search-modal\n [m2em]=\"field.m2m!\"\n (callback)=\"addValue(field.name)($event)\"\n />\n </div>\n </div>\n }\n </div>\n }\n </div>\n</app-form>\n","import { Component, effect, inject, signal } from \"@angular/core\";\nimport { ApiDto } from \"@ng-vagabond-lab/ng-dsv/api\";\nimport { BaseRouteComponent } from \"@ng-vagabond-lab/ng-dsv/base\";\nimport { DsvCardComponent } from \"@ng-vagabond-lab/ng-dsv/ds/card\";\nimport { TabDto } from \"@ng-vagabond-lab/ng-dsv/ds/tab\";\nimport { AdminFormComponent } from \"../../component/form/admin.form.component\";\nimport { AdminTabDto } from \"../../dto/admin.dto\";\nimport { AdminService } from \"../../service/admin.service\";\n\n@Component({\n selector: 'dsv-admin-form',\n standalone: true,\n imports: [\n DsvCardComponent,\n AdminFormComponent\n ],\n templateUrl: './admin.form.container.html',\n styleUrls: ['./admin.form.container.scss']\n})\nexport class AdminFormContainer extends BaseRouteComponent {\n adminService = inject(AdminService);\n\n tabs = signal<TabDto[]>([]);\n tab = signal<string>('user');\n tabConfig = signal<AdminTabDto | undefined>(undefined);\n\n constructor() {\n super();\n effect(() => {\n const id = this.routeParams()?.['id'];\n this.tab.set(this.routeParams()?.['type']);\n const tab = this.adminService.tabs()?.tabs.find((tab) => tab.name === this.tab());\n this.tabConfig.set(tab);\n if (isNaN(id)) {\n this.adminService.data.set({} as ApiDto);\n } else {\n this.findById(this.routeParams()?.['id']);\n }\n });\n }\n\n findById(id: string) {\n this.adminService.findById(this.tabConfig()?.name!, id);\n }\n\n sendForm(data: ApiDto) {\n const dataFusion = {\n ...this.adminService.data(),\n ...data\n }\n console.log(dataFusion, data);\n if (!dataFusion.id) {\n this.adminService.post(this.tabConfig()?.name!, dataFusion);\n } else {\n this.adminService.put(this.tabConfig()?.name!, dataFusion);\n }\n }\n}","<dsv-card [title]=\"adminService.data().id ? 'Modification' : 'Ajout'\">\n <dsv-admin-form-component\n [data]=\"adminService.data()\"\n [formConf]=\"tabConfig()?.form!\"\n [urlBack]=\"'/admin/' + tab()\"\n (callback)=\"sendForm($event)\"\n />\n</dsv-card>\n","import { Component, effect, inject, signal } from \"@angular/core\";\nimport { RouterLink } from \"@angular/router\";\nimport { BaseRouteComponent } from \"@ng-vagabond-lab/ng-dsv/base\";\nimport { DsvButtonComponent } from \"@ng-vagabond-lab/ng-dsv/ds/button\";\nimport { DsvCardComponent } from \"@ng-vagabond-lab/ng-dsv/ds/card\";\nimport { PaginateComponent } from \"@ng-vagabond-lab/ng-dsv/ds/paginate\";\nimport { TabDto, TabsComponent } from \"@ng-vagabond-lab/ng-dsv/ds/tab\";\nimport { TableComponent } from \"@ng-vagabond-lab/ng-dsv/ds/table\";\nimport { v4 as uuidv4 } from 'uuid';\nimport { AdminTabDto } from \"../../dto/admin.dto\";\nimport { AdminService } from \"../../service/admin.service\";\n\n\n@Component({\n selector: \"app-admin-search\",\n standalone: true,\n imports: [\n DsvCardComponent,\n DsvButtonComponent,\n TabsComponent,\n TableComponent,\n PaginateComponent,\n RouterLink\n ],\n templateUrl: \"./admin.search.container.html\",\n styleUrls: [\"./admin.search.container.scss\"]\n})\nexport class AdminSearchContainer extends BaseRouteComponent {\n adminService = inject(AdminService);\n\n tabs = signal<TabDto[]>([]);\n tab = signal<string>('user');\n tabConfig = signal<AdminTabDto | undefined>(undefined);\n\n page = signal<number>(0);\n\n constructor() {\n super();\n effect(() => {\n this.tab.set(this.routeParams()?.['type']);\n const tab = this.adminService.tabs()?.tabs.find((tab) => tab.name === this.tab())\n this.tabConfig.set(tab);\n this.gotoPage(0);\n });\n effect(() => {\n const tabs = this.adminService.tabs()?.tabs;\n const tabsDtos: TabDto[] = [];\n if (tabs) {\n tabs.forEach((tab) => {\n const tabsDto = {} as TabDto;\n tabsDto.id = uuidv4();\n tabsDto.title = tab.name;\n tabsDto.url = '/admin/' + tab.name;\n tabsDtos.push(tabsDto);\n });\n }\n this.tabs.set(tabsDtos);\n });\n }\n\n gotoPage(page: number) {\n this.page.set(page);\n this.adminService.get(this.tabConfig()?.name!, this.tabConfig()?.findByChamps!, '', page, this.adminService.tabs()?.max);\n }\n\n}","<dsv-tabs-component [tabs]=\"tabs()\" [active]=\"tab()\" />\n<dsv-card>\n <div class=\"admin-header\">\n <span>Résulat : {{ adminService.datas().totalElements }}</span>\n <dsv-button\n variant=\"contained\"\n color=\"primary\"\n icon=\"ri-add-line\"\n [routerLink]=\"'/admin/' + tab() + '/add'\"\n [prevent]=\"false\"\n ></dsv-button>\n </div>\n <dsv-table\n [cells]=\"tabConfig()?.cells!\"\n [datas]=\"adminService.datas().content!\"\n [max]=\"adminService.tabs().max!\"\n [url]=\"'/admin/' + tab()\"\n ></dsv-table>\n <app-paginate-component\n [page]=\"page()\"\n [max]=\"adminService.datas().totalPages!\"\n [nb]=\"adminService.datas().totalElements!\"\n (callback)=\"gotoPage($event)\"\n />\n</dsv-card>\n","import { AdminTabDto } from \"./admin.dto\";\n\nexport const ADMIN_COL = [\n { label: 'AUTH.FIELDS.CREATE_DATE', width: '145px', name: 'creationDate', date: true, order: true },\n { label: 'AUTH.FIELDS.ACTIVE', width: '70px', name: 'active', order: true },\n];\n\nexport const ADMIN_PROFILE_M2M = {\n name: 'name',\n endPoint: 'profile',\n fields: 'name%',\n order: 'name',\n orderBy: 'asc',\n};\n\nexport const ADMIN_INPUT = [\n { name: 'creationDate', label: 'AUTH.FIELDS.CREATE_DATE', type: 'datetime-local', className: 'width50', disabled: true, },\n { name: 'updatedDate', label: 'AUTH.FIELDS.UPDATE_DATE', type: 'datetime-local', className: 'width50', disabled: true, },\n { name: 'deletedDate', label: 'AUTH.FIELDS.DELETE_DATE', type: 'datetime-local', className: 'width50', disabled: true, },\n { name: 'active', label: 'AUTH.FIELDS.ACTIVE', type: 'switch', required: false, className: 'width50' },\n];\n\nexport const ADMIN_USER: AdminTabDto[] = [\n {\n name: 'user',\n label: 'AUTH.USER:TITLE',\n findByChamps: 'username%And|Email%',\n sortBy: 'creationDate',\n sortByAsc: 'desc',\n cells: [\n { label: 'AUTH.FIELDS.LOGIN', name: 'username', order: true },\n { label: 'AUTH.FIELDS.EMAIL', width: '240px', name: 'email', order: true },\n { label: 'AUTH.FIELDS.PROFILES', name: 'profiles.name' },\n { label: 'AUTH.FIELDS.LAST_CONNEXION_DATE', width: '150px', name: 'lastConnexionDate', date: true, order: true },\n ...ADMIN_COL,\n ],\n form: [\n { name: 'username', label: 'AUTH.FIELDS.LOGIN', type: 'text', required: true },\n { name: 'password', label: 'AUTH.FIELDS.PASSWORD', type: 'password', required: false },\n { name: 'email', label: 'AUTH.FIELDS.EMAIL', type: 'text', email: true, required: true },\n {\n name: 'profiles',\n label: 'AUTH.FIELDS.PFOFILES',\n type: 'm2m',\n required: false,\n m2m: ADMIN_PROFILE_M2M,\n array: true,\n },\n { name: 'lastConnexionDate', label: 'AUTH.FIELDS.LAST_CONNEXION_DATE', type: 'datetime-local', required: false },\n { name: 'activationToken', label: 'AUTH.FIELDS.ACTIVATION_TOKEN', type: 'text', className: 'width50' },\n { name: 'emailActivation', label: 'AUTH.FIELDS.EMAIL_ACTIVIATION', type: 'switch', className: 'width50' },\n { name: 'identityToken', label: 'AUTH.FIELDS.IDENTITY_TOKEN', type: 'text', className: 'width50' },\n { name: 'identityTokenDateEnd', label: 'AUTH.FIELDS.IDENTITY_TOKEN_DATE', type: 'datetime-local', className: 'width50' },\n { name: 'googleId', label: 'AUTH.FIELDS.GOOGLE_ID', type: 'text', className: 'width50' },\n { name: 'facebookId', label: 'AUTH.FIELDS.FACEBOOK_ID', type: 'text', className: 'width50' },\n ...ADMIN_INPUT,\n ],\n },\n];\n\n\nexport const ADMIN_PROFILE: AdminTabDto[] = [\n {\n name: 'profile',\n label: 'AUTH.PROFILE:TITLE',\n findByChamps: 'name%',\n sortBy: 'name',\n cells: [\n { label: 'AUTH.FIELDS.NAME', name: 'name', order: true },\n { label: 'AUTH.FIELDS.ROLES', name: 'roles', order: true },\n ...ADMIN_COL,\n ],\n form: [\n { name: 'name', label: 'AUTH.FIELDS.NAME', type: 'text', required: true },\n { name: 'roles', label: 'AUTH.FIELDS.ROLES', type: 'text', required: true },\n ...ADMIN_INPUT,\n ],\n },\n];","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["uuidv4"],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ const authInterceptor = (req, next) => {
|
|
|
17
17
|
error.status === 401) {
|
|
18
18
|
return handle401Error(httpClient, apiService, storageService, req, next);
|
|
19
19
|
}
|
|
20
|
-
console.
|
|
20
|
+
console.error(error);
|
|
21
21
|
toastService.showToast({
|
|
22
22
|
type: 'error',
|
|
23
23
|
text: error.error.debugMessage ?? error.error.message ?? error.message,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-vagabond-lab-ng-dsv-api.mjs","sources":["../../../projects/ng-dsv/api/interceptor/api.interceptor.ts","../../../projects/ng-dsv/api/service/api.load.service.ts","../../../projects/ng-dsv/api/service/api.service.ts","../../../projects/ng-dsv/api/ng-vagabond-lab-ng-dsv-api.ts"],"sourcesContent":["import {\n HttpClient,\n HttpErrorResponse,\n HttpHandlerFn,\n HttpInterceptorFn,\n HttpRequest,\n} from '@angular/common/http';\nimport { inject } from '@angular/core';\nimport { ToastService } from '@ng-vagabond-lab/ng-dsv/ds/toast';\nimport { StorageService } from '@ng-vagabond-lab/ng-dsv/storage';\nimport { catchError, switchMap, throwError } from 'rxjs';\nimport { ApiService } from '../public-api';\n\nexport const authInterceptor: HttpInterceptorFn = (req, next) => {\n const httpClient = inject(HttpClient);\n const apiService = inject(ApiService);\n const storageService = inject(StorageService);\n const toastService = inject(ToastService);\n\n return next(getToken(req, apiService, storageService)).pipe(\n catchError((error) => {\n if (\n error instanceof HttpErrorResponse &&\n !req.url.includes('auth/') &&\n req.url.includes(apiService.baseUrl) &&\n error.status === 401\n ) {\n return handle401Error(\n httpClient,\n apiService,\n storageService,\n req,\n next\n );\n }\n\n console.
|
|
1
|
+
{"version":3,"file":"ng-vagabond-lab-ng-dsv-api.mjs","sources":["../../../projects/ng-dsv/api/interceptor/api.interceptor.ts","../../../projects/ng-dsv/api/service/api.load.service.ts","../../../projects/ng-dsv/api/service/api.service.ts","../../../projects/ng-dsv/api/ng-vagabond-lab-ng-dsv-api.ts"],"sourcesContent":["import {\n HttpClient,\n HttpErrorResponse,\n HttpHandlerFn,\n HttpInterceptorFn,\n HttpRequest,\n} from '@angular/common/http';\nimport { inject } from '@angular/core';\nimport { ToastService } from '@ng-vagabond-lab/ng-dsv/ds/toast';\nimport { StorageService } from '@ng-vagabond-lab/ng-dsv/storage';\nimport { catchError, switchMap, throwError } from 'rxjs';\nimport { ApiService } from '../public-api';\n\nexport const authInterceptor: HttpInterceptorFn = (req, next) => {\n const httpClient = inject(HttpClient);\n const apiService = inject(ApiService);\n const storageService = inject(StorageService);\n const toastService = inject(ToastService);\n\n return next(getToken(req, apiService, storageService)).pipe(\n catchError((error) => {\n if (\n error instanceof HttpErrorResponse &&\n !req.url.includes('auth/') &&\n req.url.includes(apiService.baseUrl) &&\n error.status === 401\n ) {\n return handle401Error(\n httpClient,\n apiService,\n storageService,\n req,\n next\n );\n }\n\n console.error(error);\n\n toastService.showToast({\n type: 'error',\n text: error.error.debugMessage ?? error.error.message ?? error.message,\n })\n\n return throwError(() => error);\n })\n );\n};\n\nconst getToken = <T>(\n req: HttpRequest<T>,\n apiService: ApiService,\n storageService: StorageService\n) => {\n const jwt =\n storageService.getItem('user-connected')?.['jwt' as keyof {}] ?? '';\n if (!req.url.includes('/auth/') && req.url.includes(apiService.baseUrl)) {\n const headers = req.headers.set('Authorization', `Bearer ${jwt}`);\n\n return req.clone({\n headers,\n });\n }\n return req;\n};\n\nconst handle401Error = <T>(\n httpClient: HttpClient,\n apiService: ApiService,\n storageService: StorageService,\n request: HttpRequest<T>,\n next: HttpHandlerFn\n) => {\n const jwtRefresh =\n storageService.getItem('user-connected')?.['jwtRefresh' as keyof {}] ?? '';\n return httpClient\n .post(apiService.baseUrl + '/auth/refresh-token', {\n refreshToken: jwtRefresh,\n })\n .pipe(\n switchMap((response) => {\n storageService.setItem('user-connected', JSON.stringify(response));\n return next(getToken(request, apiService, storageService));\n })\n );\n};\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiLoadService {\n load = signal<boolean>(false);\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { JSONObject } from '../dto/api.dto';\nimport { ApiLoadService } from './api.load.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiService {\n baseUrl: string = '';\n httpClient = inject(HttpClient);\n apiLoadService = inject(ApiLoadService);\n\n setBaseUrl(url: string) {\n this.baseUrl = url;\n }\n\n get<T>(url: string, callback: (data: T) => void) {\n this.apiLoadService.load.set(true);\n this.httpClient.get<T>(this.baseUrl + url).subscribe({\n next: (res) => {\n this.apiLoadService.load.set(false);\n this.info(url, res as JSONObject);\n callback(res);\n },\n error: (error: JSONObject) => {\n this.apiLoadService.load.set(false);\n this.error(url, error);\n },\n });\n }\n\n post<T>(url: string, data: T, callback: (data: T) => void) {\n this.apiLoadService.load.set(true);\n this.doSubscribe(url, this.httpClient.post<T>(this.baseUrl + url, data), callback);\n }\n\n put<T>(url: string, data: T, callback: (data: T) => void) {\n this.apiLoadService.load.set(true);\n this.doSubscribe(url, this.httpClient.put<T>(this.baseUrl + url, data), callback);\n }\n\n doSubscribe<T>(url: string, observable: Observable<T>, callback: (data: T) => void) {\n observable.subscribe({\n next: (res) => {\n this.apiLoadService.load.set(false);\n this.info(url, res as JSONObject);\n callback(res);\n },\n error: (error: JSONObject) => {\n this.apiLoadService.load.set(false);\n this.error(url, error);\n },\n });\n }\n\n info(url: string, data: JSONObject) {\n console.log(url, data);\n }\n\n error(url: string, error: JSONObject) {\n console.error(url, error);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ class BaseAppScrollComponent {
|
|
|
19
19
|
Array.from(divScrolls).forEach(scroll => {
|
|
20
20
|
scroll?.scrollTo(0, this.scrollService.getScroll() ?? 0);
|
|
21
21
|
});
|
|
22
|
+
this.scrollService.scroll.set(this.scrollService.getScroll() ?? 0);
|
|
22
23
|
});
|
|
23
24
|
effect(() => {
|
|
24
25
|
if (this.environmentService.env()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-vagabond-lab-ng-dsv-base.mjs","sources":["../../../projects/ng-dsv/base/component/base.app-scroll.component.ts","../../../projects/ng-dsv/base/component/base.route.component.ts","../../../projects/ng-dsv/base/component/base.scroll.component.ts","../../../projects/ng-dsv/base/service/base.service.ts","../../../projects/ng-dsv/base/service/scroll.service.ts","../../../projects/ng-dsv/base/ng-vagabond-lab-ng-dsv-base.ts"],"sourcesContent":["import { effect, inject, signal } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ApiService } from '@ng-vagabond-lab/ng-dsv/api';\nimport { EnvironmentService } from '@ng-vagabond-lab/ng-dsv/environment';\nimport { ScrollService } from '../public-api';\n\nexport abstract class BaseAppScrollComponent {\n environmentService = inject(EnvironmentService);\n apiService = inject(ApiService);\n scrollService = inject(ScrollService);\n\n scroll = signal<number>(0);\n\n load = signal<boolean>(false);\n\n constructor() {\n inject(Router)\n .events\n .subscribe((res) => {\n const divScrolls = document.getElementsByClassName('scroll');\n Array.from(divScrolls).forEach(scroll => {\n scroll?.scrollTo(0, this.scrollService.getScroll() ?? 0);\n })
|
|
1
|
+
{"version":3,"file":"ng-vagabond-lab-ng-dsv-base.mjs","sources":["../../../projects/ng-dsv/base/component/base.app-scroll.component.ts","../../../projects/ng-dsv/base/component/base.route.component.ts","../../../projects/ng-dsv/base/component/base.scroll.component.ts","../../../projects/ng-dsv/base/service/base.service.ts","../../../projects/ng-dsv/base/service/scroll.service.ts","../../../projects/ng-dsv/base/ng-vagabond-lab-ng-dsv-base.ts"],"sourcesContent":["import { effect, inject, signal } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ApiService } from '@ng-vagabond-lab/ng-dsv/api';\nimport { EnvironmentService } from '@ng-vagabond-lab/ng-dsv/environment';\nimport { ScrollService } from '../public-api';\n\nexport abstract class BaseAppScrollComponent {\n environmentService = inject(EnvironmentService);\n apiService = inject(ApiService);\n scrollService = inject(ScrollService);\n\n scroll = signal<number>(0);\n\n load = signal<boolean>(false);\n\n constructor() {\n inject(Router)\n .events\n .subscribe((res) => {\n const divScrolls = document.getElementsByClassName('scroll');\n Array.from(divScrolls).forEach(scroll => {\n scroll?.scrollTo(0, this.scrollService.getScroll() ?? 0);\n });\n this.scrollService.scroll.set(this.scrollService.getScroll() ?? 0);\n });\n\n effect(() => {\n if (this.environmentService.env()) {\n const apiUrl = this.environmentService.env()?.API_URL!;\n this.apiService.setBaseUrl(apiUrl);\n this.load.set(true);\n }\n });\n }\n\n doScroll() {\n const divScroll = document.getElementsByClassName('scroll')?.[0];\n if (document.getElementsByClassName('scroll').length === 1) {\n this.scrollService.saveScroll(divScroll.scrollTop);\n this.scrollService.scroll.set(divScroll.scrollTop);\n }\n }\n}\n","import { Component, inject } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute } from '@angular/router';\nimport { Subscription } from 'rxjs';\n\n@Component({\n template: '',\n})\nexport abstract class BaseRouteComponent {\n activatedRoute = inject<ActivatedRoute>(ActivatedRoute);\n\n routeParams = toSignal(this.activatedRoute.params);\n\n routeObservable: Subscription | null = null;\n}\n","import { effect, inject } from '@angular/core';\nimport { ScrollService } from '../public-api';\n\nexport abstract class BaseScrollComponent {\n readonly scrollService = inject(ScrollService);\n\n constructor() {\n\n effect(() => {\n });\n }\n\n loadMore() {\n if (!this.scrollService.getlocked()) {\n this.scrollService.doBlocked();\n this.doLoad();\n this.scrollService.doBlockedWithTimeout(false, 500);\n }\n }\n\n abstract doLoad(): void;\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport abstract class BaseService {}\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class ScrollService {\n scrolls = signal<Map<string, number>>(new Map());\n blocked = signal<Map<string, boolean>>(new Map());\n scroll = signal<number>(0);\n\n saveScroll(scrollTop: number) {\n this.scrolls.update((value) => {\n if (scrollTop !== 0) {\n value.set(location.href, scrollTop);\n }\n return value;\n });\n }\n\n getScroll() {\n return this.scrolls().get(location.href);\n }\n\n doBlocked(blocked: boolean = true) {\n this.blocked.update((value) => {\n value.set(location.href, blocked);\n return value;\n });\n }\n\n doBlockedWithTimeout(blocked: boolean, timeout: number = 1000) {\n setTimeout(() => {\n this.doBlocked(blocked);\n }, timeout);\n }\n\n getlocked() {\n return this.blocked().get(location.href);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { input, output, signal, effect, Component } from '@angular/core';
|
|
3
|
+
import { DsvButtonComponent } from '@ng-vagabond-lab/ng-dsv/ds/button';
|
|
4
|
+
|
|
5
|
+
class DsvChipComponent {
|
|
6
|
+
text = input('');
|
|
7
|
+
delete = output();
|
|
8
|
+
isDelete = signal(false);
|
|
9
|
+
constructor() {
|
|
10
|
+
effect(() => {
|
|
11
|
+
this.isDelete.set(this.delete['listeners']?.length > 0);
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
doDelete() {
|
|
15
|
+
this.delete.emit();
|
|
16
|
+
}
|
|
17
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: DsvChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
18
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: DsvChipComponent, isStandalone: true, selector: "dsv-chip", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { delete: "delete" }, ngImport: i0, template: "<div class=\"chip\" [class.with-delete]=\"isDelete()\">\n <span>\n {{ text() }}\n </span>\n @if (isDelete()) {\n <dsv-button\n icon=\"ri-delete-bin-line\"\n variant=\"text\"\n color=\"error\"\n (callback)=\"doDelete()\"\n ></dsv-button>\n }\n</div>\n", styles: [".chip{display:flex;align-items:center;justify-content:center;border-radius:15px;background-color:var(--background);padding:10px 20px!important}.chip span{opacity:.8}.chip.with-delete{padding:5px 5px 5px 20px!important}::ng-deep .dark .chip{background-color:#424242!important}\n"], dependencies: [{ kind: "component", type: DsvButtonComponent, selector: "dsv-button", inputs: ["libelle", "color", "icon", "iconEnd", "width", "variant", "fullwidth", "show", "disabled", "noHover", "type", "prevent"], outputs: ["callback"] }] });
|
|
19
|
+
}
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: DsvChipComponent, decorators: [{
|
|
21
|
+
type: Component,
|
|
22
|
+
args: [{ selector: "dsv-chip", standalone: true, imports: [
|
|
23
|
+
DsvButtonComponent
|
|
24
|
+
], template: "<div class=\"chip\" [class.with-delete]=\"isDelete()\">\n <span>\n {{ text() }}\n </span>\n @if (isDelete()) {\n <dsv-button\n icon=\"ri-delete-bin-line\"\n variant=\"text\"\n color=\"error\"\n (callback)=\"doDelete()\"\n ></dsv-button>\n }\n</div>\n", styles: [".chip{display:flex;align-items:center;justify-content:center;border-radius:15px;background-color:var(--background);padding:10px 20px!important}.chip span{opacity:.8}.chip.with-delete{padding:5px 5px 5px 20px!important}::ng-deep .dark .chip{background-color:#424242!important}\n"] }]
|
|
25
|
+
}], ctorParameters: () => [] });
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Generated bundle index. Do not edit.
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
export { DsvChipComponent };
|
|
32
|
+
//# sourceMappingURL=ng-vagabond-lab-ng-dsv-ds-chip.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-chip.mjs","sources":["../../../projects/ng-dsv/ds/chip/component/chip.component.ts","../../../projects/ng-dsv/ds/chip/component/chip.component.html","../../../projects/ng-dsv/ds/chip/ng-vagabond-lab-ng-dsv-ds-chip.ts"],"sourcesContent":["import { Component, effect, input, output, OutputEmitterRef, signal } from \"@angular/core\";\nimport { DsvButtonComponent } from '@ng-vagabond-lab/ng-dsv/ds/button';\n\n@Component({\n selector: \"dsv-chip\",\n standalone: true,\n imports: [\n DsvButtonComponent\n ],\n templateUrl: \"./chip.component.html\",\n styleUrls: [\"./chip.component.scss\"],\n})\nexport class DsvChipComponent {\n text = input<string>('');\n\n delete = output<void>();\n\n isDelete = signal<boolean>(false);\n\n constructor() {\n effect(() => {\n this.isDelete.set(this.delete['listeners' as keyof OutputEmitterRef<void>]?.length > 0);\n });\n }\n\n doDelete() {\n this.delete.emit();\n }\n} ","<div class=\"chip\" [class.with-delete]=\"isDelete()\">\n <span>\n {{ text() }}\n </span>\n @if (isDelete()) {\n <dsv-button\n icon=\"ri-delete-bin-line\"\n variant=\"text\"\n color=\"error\"\n (callback)=\"doDelete()\"\n ></dsv-button>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAYa,gBAAgB,CAAA;AACzB,IAAA,IAAI,GAAG,KAAK,CAAS,EAAE,CAAC;IAExB,MAAM,GAAG,MAAM,EAAQ;AAEvB,IAAA,QAAQ,GAAG,MAAM,CAAU,KAAK,CAAC;AAEjC,IAAA,WAAA,GAAA;QACI,MAAM,CAAC,MAAK;AACR,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,WAA2C,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;AAC3F,SAAC,CAAC;;IAGN,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;;uGAdb,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZ7B,6RAaA,EAAA,MAAA,EAAA,CAAA,uRAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDNQ,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,EAAA,MAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAKb,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAT5B,SAAS;+BACI,UAAU,EAAA,UAAA,EACR,IAAI,EACP,OAAA,EAAA;wBACL;AACH,qBAAA,EAAA,QAAA,EAAA,6RAAA,EAAA,MAAA,EAAA,CAAA,uRAAA,CAAA,EAAA;;;AERL;;AAEG;;;;"}
|
|
@@ -16,11 +16,11 @@ class FormCheckboxComponent {
|
|
|
16
16
|
this.change.emit(this.form().value[this.field()]);
|
|
17
17
|
}
|
|
18
18
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: FormCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
19
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: FormCheckboxComponent, isStandalone: true, selector: "dsv-form-checkbox", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, withLabel: { classPropertyName: "withLabel", publicName: "withLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, ngImport: i0, template: "<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }}</label>\n }\n <div>\n <input\n type=\"checkbox\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [id]=\"field()\"\n />\n </div>\n</div>\n", styles: [":host{width:100%}:host>div{display:flex;flex-direction:column;position:relative}:host>div label{display:inline-block;margin-bottom:.5rem}:host>div .form-control{display:block;width:calc(100% - 2rem);height:calc(1rem + 2px);padding:.5rem;padding-left:10px;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div i{position:absolute;z-index:1000;top:10px;left:5px}:host>div .error-content{margin:5px;color:var(--error)}::ng-deep .dark .form-control{color-scheme:dark;background-color:var(--background-dark)!important;color:var(--text-dark)!important}\n", ":host{display:flex;flex:1;width:100%}:host>div{align-items:center;flex-direction:row;flex:1}:host>div label{flex:1}:host>div input{accent-color:var(--primary);width:20px!important;height:20px!important}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
|
|
19
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: FormCheckboxComponent, isStandalone: true, selector: "dsv-form-checkbox", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, withLabel: { classPropertyName: "withLabel", publicName: "withLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, ngImport: i0, template: "<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }}</label>\n }\n <div>\n <input\n type=\"checkbox\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [id]=\"field()\"\n />\n </div>\n</div>\n", styles: [":host{width:100%}:host>div{display:flex;flex-direction:column;position:relative}:host>div label{display:inline-block;margin-bottom:.5rem;opacity:.65}:host>div .form-control{font-family:inherit;display:block;width:calc(100% - 2rem);height:calc(1rem + 2px);padding:.5rem;padding-left:10px;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1000;top:10px;left:5px}:host>div textarea{overflow:auto;resize:vertical}:host>div textarea.form-control{height:auto;min-height:90px}:host>div .error-content{margin:5px;color:var(--error)}::ng-deep .dark .form-control{color-scheme:dark;background-color:var(--background-dark)!important;color:var(--text-dark)!important}\n", ":host{display:flex;flex:1;width:100%}:host>div{align-items:center;flex-direction:row;flex:1}:host>div label{flex:1}:host>div input{accent-color:var(--primary);width:20px!important;height:20px!important}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
|
|
20
20
|
}
|
|
21
21
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: FormCheckboxComponent, decorators: [{
|
|
22
22
|
type: Component,
|
|
23
|
-
args: [{ selector: 'dsv-form-checkbox', standalone: true, imports: [ReactiveFormsModule], template: "<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }}</label>\n }\n <div>\n <input\n type=\"checkbox\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [id]=\"field()\"\n />\n </div>\n</div>\n", styles: [":host{width:100%}:host>div{display:flex;flex-direction:column;position:relative}:host>div label{display:inline-block;margin-bottom:.5rem}:host>div .form-control{display:block;width:calc(100% - 2rem);height:calc(1rem + 2px);padding:.5rem;padding-left:10px;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div i{position:absolute;z-index:1000;top:10px;left:5px}:host>div .error-content{margin:5px;color:var(--error)}::ng-deep .dark .form-control{color-scheme:dark;background-color:var(--background-dark)!important;color:var(--text-dark)!important}\n", ":host{display:flex;flex:1;width:100%}:host>div{align-items:center;flex-direction:row;flex:1}:host>div label{flex:1}:host>div input{accent-color:var(--primary);width:20px!important;height:20px!important}\n"] }]
|
|
23
|
+
args: [{ selector: 'dsv-form-checkbox', standalone: true, imports: [ReactiveFormsModule], template: "<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }}</label>\n }\n <div>\n <input\n type=\"checkbox\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [id]=\"field()\"\n />\n </div>\n</div>\n", styles: [":host{width:100%}:host>div{display:flex;flex-direction:column;position:relative}:host>div label{display:inline-block;margin-bottom:.5rem;opacity:.65}:host>div .form-control{font-family:inherit;display:block;width:calc(100% - 2rem);height:calc(1rem + 2px);padding:.5rem;padding-left:10px;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1000;top:10px;left:5px}:host>div textarea{overflow:auto;resize:vertical}:host>div textarea.form-control{height:auto;min-height:90px}:host>div .error-content{margin:5px;color:var(--error)}::ng-deep .dark .form-control{color-scheme:dark;background-color:var(--background-dark)!important;color:var(--text-dark)!important}\n", ":host{display:flex;flex:1;width:100%}:host>div{align-items:center;flex-direction:row;flex:1}:host>div label{flex:1}:host>div input{accent-color:var(--primary);width:20px!important;height:20px!important}\n"] }]
|
|
24
24
|
}] });
|
|
25
25
|
|
|
26
26
|
class BaseFormComponent {
|
|
@@ -60,7 +60,7 @@ class FormComponent {
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: FormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
63
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: FormComponent, isStandalone: true, selector: "app-form", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, urlBack: { classPropertyName: "urlBack", publicName: "urlBack", isSignal: true, isRequired: false, transformFunction: null }, textValid: { classPropertyName: "textValid", publicName: "textValid", isSignal: true, isRequired: false, transformFunction: null }, formValid: { classPropertyName: "formValid", publicName: "formValid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callback: "callback" }, ngImport: i0, template: "<form [formGroup]=\"form()\" (ngSubmit)=\"onSubmit()\" class=\"form-container\">\n <ng-content></ng-content>\n <div\n class=\"form-buttons\"\n [style.display]=\"urlBack() && textValid() !== '' ? '' : 'none'\"\n >\n @if (urlBack()) {\n <dsv-button\n color=\"default\"\n variant=\"outlined\"\n [routerLink]=\"urlBack()\"\n [prevent]=\"false\"\n >{{ \"RETOUR\" | translate }}</dsv-button\n >\n }\n @if (textValid() && textValid() !== \"\") {\n <dsv-button type=\"submit\" color=\"
|
|
63
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: FormComponent, isStandalone: true, selector: "app-form", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, urlBack: { classPropertyName: "urlBack", publicName: "urlBack", isSignal: true, isRequired: false, transformFunction: null }, textValid: { classPropertyName: "textValid", publicName: "textValid", isSignal: true, isRequired: false, transformFunction: null }, formValid: { classPropertyName: "formValid", publicName: "formValid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callback: "callback" }, ngImport: i0, template: "<form [formGroup]=\"form()\" (ngSubmit)=\"onSubmit()\" class=\"form-container\">\n <ng-content></ng-content>\n <div\n class=\"form-buttons\"\n [style.display]=\"urlBack() && textValid() !== '' ? '' : 'none'\"\n >\n @if (urlBack()) {\n <dsv-button\n color=\"default\"\n variant=\"outlined\"\n [routerLink]=\"urlBack()\"\n [prevent]=\"false\"\n >{{ \"RETOUR\" | translate }}</dsv-button\n >\n }\n @if (textValid() && textValid() !== \"\") {\n <dsv-button type=\"submit\" color=\"primary\">{{\n textValid()! | translate\n }}</dsv-button>\n }\n </div>\n</form>\n", styles: [":host{width:100%;height:100%}:host form{flex-direction:column;display:block;margin-top:0;unicode-bidi:isolate}:host .form-buttons{display:flex;justify-content:flex-end;gap:10px;padding-top:10px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: DsvButtonComponent, selector: "dsv-button", inputs: ["libelle", "color", "icon", "iconEnd", "width", "variant", "fullwidth", "show", "disabled", "noHover", "type", "prevent"], outputs: ["callback"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
|
64
64
|
}
|
|
65
65
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: FormComponent, decorators: [{
|
|
66
66
|
type: Component,
|
|
@@ -69,7 +69,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
|
|
|
69
69
|
DsvButtonComponent,
|
|
70
70
|
RouterLink,
|
|
71
71
|
TranslatePipe
|
|
72
|
-
], standalone: true, template: "<form [formGroup]=\"form()\" (ngSubmit)=\"onSubmit()\" class=\"form-container\">\n <ng-content></ng-content>\n <div\n class=\"form-buttons\"\n [style.display]=\"urlBack() && textValid() !== '' ? '' : 'none'\"\n >\n @if (urlBack()) {\n <dsv-button\n color=\"default\"\n variant=\"outlined\"\n [routerLink]=\"urlBack()\"\n [prevent]=\"false\"\n >{{ \"RETOUR\" | translate }}</dsv-button\n >\n }\n @if (textValid() && textValid() !== \"\") {\n <dsv-button type=\"submit\" color=\"
|
|
72
|
+
], standalone: true, template: "<form [formGroup]=\"form()\" (ngSubmit)=\"onSubmit()\" class=\"form-container\">\n <ng-content></ng-content>\n <div\n class=\"form-buttons\"\n [style.display]=\"urlBack() && textValid() !== '' ? '' : 'none'\"\n >\n @if (urlBack()) {\n <dsv-button\n color=\"default\"\n variant=\"outlined\"\n [routerLink]=\"urlBack()\"\n [prevent]=\"false\"\n >{{ \"RETOUR\" | translate }}</dsv-button\n >\n }\n @if (textValid() && textValid() !== \"\") {\n <dsv-button type=\"submit\" color=\"primary\">{{\n textValid()! | translate\n }}</dsv-button>\n }\n </div>\n</form>\n", styles: [":host{width:100%;height:100%}:host form{flex-direction:column;display:block;margin-top:0;unicode-bidi:isolate}:host .form-buttons{display:flex;justify-content:flex-end;gap:10px;padding-top:10px}\n"] }]
|
|
73
73
|
}] });
|
|
74
74
|
|
|
75
75
|
class FormInputComponent {
|
|
@@ -93,11 +93,11 @@ class FormInputComponent {
|
|
|
93
93
|
this.error.set(errorText);
|
|
94
94
|
}
|
|
95
95
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: FormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
96
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: FormInputComponent, isStandalone: true, selector: "dsv-form-input", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, withLabel: { classPropertyName: "withLabel", publicName: "withLabel", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSend: "onSend" }, ngImport: i0, template: "<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }} {{ required() ? \"*\" : \"\" }}</label>\n }\n <
|
|
96
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: FormInputComponent, isStandalone: true, selector: "dsv-form-input", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, withLabel: { classPropertyName: "withLabel", publicName: "withLabel", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSend: "onSend" }, ngImport: i0, template: "<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }} {{ required() ? \"*\" : \"\" }}</label>\n }\n @if (type() === \"textarea\") {\n <textarea\n [id]=\"field()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [class.error]=\"error()\"\n ></textarea>\n } @else {\n <input\n [id]=\"field()\"\n [type]=\"type()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [class.icon]=\"icon()\"\n [class.error]=\"error()\"\n (change)=\"onChange()\"\n (keydown.enter)=\"onEnter()\"\n />\n }\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (error() !== \"\") {\n <div class=\"error-content\">{{ error() }}</div>\n }\n</div>\n", styles: [":host{width:100%}:host>div{display:flex;flex-direction:column;position:relative}:host>div label{display:inline-block;margin-bottom:.5rem;opacity:.65}:host>div .form-control{font-family:inherit;display:block;width:calc(100% - 2rem);height:calc(1rem + 2px);padding:.5rem;padding-left:10px;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1000;top:10px;left:5px}:host>div textarea{overflow:auto;resize:vertical}:host>div textarea.form-control{height:auto;min-height:90px}:host>div .error-content{margin:5px;color:var(--error)}::ng-deep .dark .form-control{color-scheme:dark;background-color:var(--background-dark)!important;color:var(--text-dark)!important}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
|
|
97
97
|
}
|
|
98
98
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: FormInputComponent, decorators: [{
|
|
99
99
|
type: Component,
|
|
100
|
-
args: [{ selector: 'dsv-form-input', imports: [ReactiveFormsModule], standalone: true, template: "<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }} {{ required() ? \"*\" : \"\" }}</label>\n }\n <
|
|
100
|
+
args: [{ selector: 'dsv-form-input', imports: [ReactiveFormsModule], standalone: true, template: "<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }} {{ required() ? \"*\" : \"\" }}</label>\n }\n @if (type() === \"textarea\") {\n <textarea\n [id]=\"field()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [class.error]=\"error()\"\n ></textarea>\n } @else {\n <input\n [id]=\"field()\"\n [type]=\"type()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [class.icon]=\"icon()\"\n [class.error]=\"error()\"\n (change)=\"onChange()\"\n (keydown.enter)=\"onEnter()\"\n />\n }\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (error() !== \"\") {\n <div class=\"error-content\">{{ error() }}</div>\n }\n</div>\n", styles: [":host{width:100%}:host>div{display:flex;flex-direction:column;position:relative}:host>div label{display:inline-block;margin-bottom:.5rem;opacity:.65}:host>div .form-control{font-family:inherit;display:block;width:calc(100% - 2rem);height:calc(1rem + 2px);padding:.5rem;padding-left:10px;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1000;top:10px;left:5px}:host>div textarea{overflow:auto;resize:vertical}:host>div textarea.form-control{height:auto;min-height:90px}:host>div .error-content{margin:5px;color:var(--error)}::ng-deep .dark .form-control{color-scheme:dark;background-color:var(--background-dark)!important;color:var(--text-dark)!important}\n"] }]
|
|
101
101
|
}] });
|
|
102
102
|
|
|
103
103
|
class SearchbarComponent extends BaseFormComponent {
|
|
@@ -132,13 +132,13 @@ class SelectComponent {
|
|
|
132
132
|
this.change.emit(this.form().value[this.field()]);
|
|
133
133
|
}
|
|
134
134
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
135
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: SelectComponent, isStandalone: true, selector: "dsv-form-select", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, withLabel: { classPropertyName: "withLabel", publicName: "withLabel", isSignal: true, isRequired: false, transformFunction: null }, list: { classPropertyName: "list", publicName: "list", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, ngImport: i0, template: "<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }}</label>\n }\n <div>\n <select\n [id]=\"field()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n (change)=\"doChange()\"\n >\n @for (list of list(); track list.id) {\n <option [value]=\"list.id\">\n {{ list.name }}\n </option>\n }\n </select>\n </div>\n</div>\n", styles: [":host{width:100%}:host>div{display:flex;flex-direction:column;position:relative}:host>div label{display:inline-block;margin-bottom:.5rem}:host>div .form-control{display:block;width:calc(100% - 2rem);height:calc(1rem + 2px);padding:.5rem;padding-left:10px;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div i{position:absolute;z-index:1000;top:10px;left:5px}:host>div .error-content{margin:5px;color:var(--error)}::ng-deep .dark .form-control{color-scheme:dark;background-color:var(--background-dark)!important;color:var(--text-dark)!important}\n", ":host{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
|
|
135
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: SelectComponent, isStandalone: true, selector: "dsv-form-select", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, withLabel: { classPropertyName: "withLabel", publicName: "withLabel", isSignal: true, isRequired: false, transformFunction: null }, list: { classPropertyName: "list", publicName: "list", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, ngImport: i0, template: "<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }}</label>\n }\n <div>\n <select\n [id]=\"field()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n (change)=\"doChange()\"\n >\n @for (list of list(); track list.id) {\n <option [value]=\"list.id\">\n {{ list.name }}\n </option>\n }\n </select>\n </div>\n</div>\n", styles: [":host{width:100%}:host>div{display:flex;flex-direction:column;position:relative}:host>div label{display:inline-block;margin-bottom:.5rem;opacity:.65}:host>div .form-control{font-family:inherit;display:block;width:calc(100% - 2rem);height:calc(1rem + 2px);padding:.5rem;padding-left:10px;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1000;top:10px;left:5px}:host>div textarea{overflow:auto;resize:vertical}:host>div textarea.form-control{height:auto;min-height:90px}:host>div .error-content{margin:5px;color:var(--error)}::ng-deep .dark .form-control{color-scheme:dark;background-color:var(--background-dark)!important;color:var(--text-dark)!important}\n", ":host{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
|
|
136
136
|
}
|
|
137
137
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SelectComponent, decorators: [{
|
|
138
138
|
type: Component,
|
|
139
139
|
args: [{ selector: 'dsv-form-select', imports: [
|
|
140
140
|
ReactiveFormsModule
|
|
141
|
-
], standalone: true, template: "<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }}</label>\n }\n <div>\n <select\n [id]=\"field()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n (change)=\"doChange()\"\n >\n @for (list of list(); track list.id) {\n <option [value]=\"list.id\">\n {{ list.name }}\n </option>\n }\n </select>\n </div>\n</div>\n", styles: [":host{width:100%}:host>div{display:flex;flex-direction:column;position:relative}:host>div label{display:inline-block;margin-bottom:.5rem}:host>div .form-control{display:block;width:calc(100% - 2rem);height:calc(1rem + 2px);padding:.5rem;padding-left:10px;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div i{position:absolute;z-index:1000;top:10px;left:5px}:host>div .error-content{margin:5px;color:var(--error)}::ng-deep .dark .form-control{color-scheme:dark;background-color:var(--background-dark)!important;color:var(--text-dark)!important}\n", ":host{width:100%}\n"] }]
|
|
141
|
+
], standalone: true, template: "<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }}</label>\n }\n <div>\n <select\n [id]=\"field()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n (change)=\"doChange()\"\n >\n @for (list of list(); track list.id) {\n <option [value]=\"list.id\">\n {{ list.name }}\n </option>\n }\n </select>\n </div>\n</div>\n", styles: [":host{width:100%}:host>div{display:flex;flex-direction:column;position:relative}:host>div label{display:inline-block;margin-bottom:.5rem;opacity:.65}:host>div .form-control{font-family:inherit;display:block;width:calc(100% - 2rem);height:calc(1rem + 2px);padding:.5rem;padding-left:10px;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1000;top:10px;left:5px}:host>div textarea{overflow:auto;resize:vertical}:host>div textarea.form-control{height:auto;min-height:90px}:host>div .error-content{margin:5px;color:var(--error)}::ng-deep .dark .form-control{color-scheme:dark;background-color:var(--background-dark)!important;color:var(--text-dark)!important}\n", ":host{width:100%}\n"] }]
|
|
142
142
|
}] });
|
|
143
143
|
|
|
144
144
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-form.mjs","sources":["../../../projects/ng-dsv/ds/form/checkbox/component/form.checkbox.component.ts","../../../projects/ng-dsv/ds/form/checkbox/component/form.checkbox.component.html","../../../projects/ng-dsv/ds/form/form/base/base.form.component.ts","../../../projects/ng-dsv/ds/form/form/component/form.component.ts","../../../projects/ng-dsv/ds/form/form/component/form.component.html","../../../projects/ng-dsv/ds/form/input/component/form.input.component.ts","../../../projects/ng-dsv/ds/form/input/component/form.input.component.html","../../../projects/ng-dsv/ds/form/searchbar/component/searchbar.component.ts","../../../projects/ng-dsv/ds/form/searchbar/component/searchbar.component.html","../../../projects/ng-dsv/ds/form/select/component/form.select.component.ts","../../../projects/ng-dsv/ds/form/select/component/form.select.component.html","../../../projects/ng-dsv/ds/form/ng-vagabond-lab-ng-dsv-ds-form.ts"],"sourcesContent":["import { Component, input, output } from \"@angular/core\";\nimport { FormGroup, ReactiveFormsModule } from \"@angular/forms\";\n\n@Component({\n selector: 'dsv-form-checkbox',\n standalone: true,\n imports: [ReactiveFormsModule],\n templateUrl: './form.checkbox.component.html',\n styleUrls: [\n '../../input/component/form.input.component.scss',\n './form.checkbox.component.scss'\n ],\n})\nexport class FormCheckboxComponent {\n form = input.required<FormGroup>();\n field = input.required<string>();\n withLabel = input<boolean>(true);\n\n change = output<string>();\n\n doChange() {\n this.change.emit(this.form().value[this.field()]);\n }\n}","<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }}</label>\n }\n <div>\n <input\n type=\"checkbox\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [id]=\"field()\"\n />\n </div>\n</div>\n","import { Component, inject } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\n\n@Component({\n template: '',\n})\nexport abstract class BaseFormComponent {\n protected readonly formBuilder = inject(FormBuilder);\n protected form!: FormGroup;\n}\n","import { Component, inject, input, output } from '@angular/core';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { RouterLink } from '@angular/router';\nimport { ApiDto } from '@ng-vagabond-lab/ng-dsv/api';\nimport { DsvButtonComponent } from '@ng-vagabond-lab/ng-dsv/ds/button';\nimport { ToastService } from '@ng-vagabond-lab/ng-dsv/ds/toast';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-form',\n imports: [\n ReactiveFormsModule,\n DsvButtonComponent,\n RouterLink,\n TranslatePipe\n ],\n standalone: true,\n templateUrl: './form.component.html',\n styleUrl: './form.component.scss',\n})\nexport class FormComponent {\n toastService = inject(ToastService);\n\n form = input.required<FormGroup>();\n\n urlBack = input<string>();\n textValid = input<string>('ENREGISTRER');\n formValid = input<string>('Formulaire envoyé !');\n\n callback = output<ApiDto>();\n\n onSubmit() {\n if (this.form().valid) {\n this.callback.emit(this.form().value);\n if (this.textValid() !== '') {\n this.toastService.showToast({\n text: this.formValid(),\n })\n }\n } else {\n this.toastService.showToast({\n text: 'Erreur dans le formulaire !',\n type: 'error'\n })\n }\n }\n}\n","<form [formGroup]=\"form()\" (ngSubmit)=\"onSubmit()\" class=\"form-container\">\n <ng-content></ng-content>\n <div\n class=\"form-buttons\"\n [style.display]=\"urlBack() && textValid() !== '' ? '' : 'none'\"\n >\n @if (urlBack()) {\n <dsv-button\n color=\"default\"\n variant=\"outlined\"\n [routerLink]=\"urlBack()\"\n [prevent]=\"false\"\n >{{ \"RETOUR\" | translate }}</dsv-button\n >\n }\n @if (textValid() && textValid() !== \"\") {\n <dsv-button type=\"submit\" color=\"success\">{{\n textValid()! | translate\n }}</dsv-button>\n }\n </div>\n</form>\n","import { Component, input, output, signal } from '@angular/core';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'dsv-form-input',\n imports: [ReactiveFormsModule],\n standalone: true,\n templateUrl: './form.input.component.html',\n styleUrl: './form.input.component.scss',\n})\nexport class FormInputComponent {\n form = input.required<FormGroup>();\n field = input.required<string>();\n type = input<string>('text');\n withLabel = input<boolean>(true);\n required = input<boolean>(true);\n icon = input<string>();\n\n onSend = output<string>();\n\n error = signal<string>('');\n\n onEnter() {\n this.onSend.emit(this.form().value[this.field()]);\n }\n\n onChange() {\n const error = this.form().controls[this.field()].errors;\n let errorText = \"\";\n if (error?.['required']) {\n errorText = \"Ce champ est obligatoire\";\n }\n this.error.set(errorText);\n }\n}\n","<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }} {{ required() ? \"*\" : \"\" }}</label>\n }\n <input\n [type]=\"type()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [class.icon]=\"icon()\"\n [class.error]=\"error()\"\n [id]=\"field()\"\n (change)=\"onChange()\"\n (keydown.enter)=\"onEnter()\"\n />\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (error() !== \"\") {\n <div class=\"error-content\">{{ error() }}</div>\n }\n</div>\n","import { Component, effect, input, output } from '@angular/core';\nimport {\n BaseFormComponent,\n FormComponent,\n FormInputComponent,\n} from '../../public-api';\n\n@Component({\n selector: 'form-searchbar',\n imports: [FormComponent, FormInputComponent],\n standalone: true,\n templateUrl: './searchbar.component.html',\n styleUrls: ['./searchbar.component.scss'],\n})\nexport class SearchbarComponent extends BaseFormComponent {\n search = input<string>('');\n onSearch = output<string>();\n\n constructor() {\n super();\n effect(() => {\n this.form = this.formBuilder.group({\n search: [this.search()],\n });\n });\n }\n\n onSend(value: string) {\n this.onSearch.emit(value);\n }\n}\n","<app-form [form]=\"form\" textValid=\"\">\n <dsv-form-input\n [form]=\"form\"\n field=\"search\"\n [withLabel]=\"false\"\n (onSend)=\"onSend($event)\"\n icon=\"icon ri-search-line\"\n ></dsv-form-input>\n</app-form>\n","import { Component, input, output } from \"@angular/core\";\nimport { FormGroup, ReactiveFormsModule } from \"@angular/forms\";\nimport { ApiDto } from \"@ng-vagabond-lab/ng-dsv/api\";\n\n@Component({\n selector: 'dsv-form-select',\n imports: [\n ReactiveFormsModule\n ],\n standalone: true,\n templateUrl: './form.select.component.html',\n styleUrls: [\n '../../input/component/form.input.component.scss',\n './form.select.component.scss'\n ]\n})\nexport class SelectComponent {\n form = input.required<FormGroup>();\n field = input.required<string>();\n withLabel = input<boolean>(true);\n\n list = input<(ApiDto & { name: string })[]>([]);\n\n change = output<string>();\n\n doChange() {\n this.change.emit(this.form().value[this.field()]);\n }\n}","<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }}</label>\n }\n <div>\n <select\n [id]=\"field()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n (change)=\"doChange()\"\n >\n @for (list of list(); track list.id) {\n <option [value]=\"list.id\">\n {{ list.name }}\n </option>\n }\n </select>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-form.mjs","sources":["../../../projects/ng-dsv/ds/form/checkbox/component/form.checkbox.component.ts","../../../projects/ng-dsv/ds/form/checkbox/component/form.checkbox.component.html","../../../projects/ng-dsv/ds/form/form/base/base.form.component.ts","../../../projects/ng-dsv/ds/form/form/component/form.component.ts","../../../projects/ng-dsv/ds/form/form/component/form.component.html","../../../projects/ng-dsv/ds/form/input/component/form.input.component.ts","../../../projects/ng-dsv/ds/form/input/component/form.input.component.html","../../../projects/ng-dsv/ds/form/searchbar/component/searchbar.component.ts","../../../projects/ng-dsv/ds/form/searchbar/component/searchbar.component.html","../../../projects/ng-dsv/ds/form/select/component/form.select.component.ts","../../../projects/ng-dsv/ds/form/select/component/form.select.component.html","../../../projects/ng-dsv/ds/form/ng-vagabond-lab-ng-dsv-ds-form.ts"],"sourcesContent":["import { Component, input, output } from \"@angular/core\";\nimport { FormGroup, ReactiveFormsModule } from \"@angular/forms\";\n\n@Component({\n selector: 'dsv-form-checkbox',\n standalone: true,\n imports: [ReactiveFormsModule],\n templateUrl: './form.checkbox.component.html',\n styleUrls: [\n '../../input/component/form.input.component.scss',\n './form.checkbox.component.scss'\n ],\n})\nexport class FormCheckboxComponent {\n form = input.required<FormGroup>();\n field = input.required<string>();\n withLabel = input<boolean>(true);\n\n change = output<string>();\n\n doChange() {\n this.change.emit(this.form().value[this.field()]);\n }\n}","<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }}</label>\n }\n <div>\n <input\n type=\"checkbox\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [id]=\"field()\"\n />\n </div>\n</div>\n","import { Component, inject } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\n\n@Component({\n template: '',\n})\nexport abstract class BaseFormComponent {\n protected readonly formBuilder = inject(FormBuilder);\n protected form!: FormGroup;\n}\n","import { Component, inject, input, output } from '@angular/core';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { RouterLink } from '@angular/router';\nimport { ApiDto } from '@ng-vagabond-lab/ng-dsv/api';\nimport { DsvButtonComponent } from '@ng-vagabond-lab/ng-dsv/ds/button';\nimport { ToastService } from '@ng-vagabond-lab/ng-dsv/ds/toast';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-form',\n imports: [\n ReactiveFormsModule,\n DsvButtonComponent,\n RouterLink,\n TranslatePipe\n ],\n standalone: true,\n templateUrl: './form.component.html',\n styleUrl: './form.component.scss',\n})\nexport class FormComponent {\n toastService = inject(ToastService);\n\n form = input.required<FormGroup>();\n\n urlBack = input<string>();\n textValid = input<string>('ENREGISTRER');\n formValid = input<string>('Formulaire envoyé !');\n\n callback = output<ApiDto>();\n\n onSubmit() {\n if (this.form().valid) {\n this.callback.emit(this.form().value);\n if (this.textValid() !== '') {\n this.toastService.showToast({\n text: this.formValid(),\n })\n }\n } else {\n this.toastService.showToast({\n text: 'Erreur dans le formulaire !',\n type: 'error'\n })\n }\n }\n}\n","<form [formGroup]=\"form()\" (ngSubmit)=\"onSubmit()\" class=\"form-container\">\n <ng-content></ng-content>\n <div\n class=\"form-buttons\"\n [style.display]=\"urlBack() && textValid() !== '' ? '' : 'none'\"\n >\n @if (urlBack()) {\n <dsv-button\n color=\"default\"\n variant=\"outlined\"\n [routerLink]=\"urlBack()\"\n [prevent]=\"false\"\n >{{ \"RETOUR\" | translate }}</dsv-button\n >\n }\n @if (textValid() && textValid() !== \"\") {\n <dsv-button type=\"submit\" color=\"primary\">{{\n textValid()! | translate\n }}</dsv-button>\n }\n </div>\n</form>\n","import { Component, input, output, signal } from '@angular/core';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'dsv-form-input',\n imports: [ReactiveFormsModule],\n standalone: true,\n templateUrl: './form.input.component.html',\n styleUrl: './form.input.component.scss',\n})\nexport class FormInputComponent {\n form = input.required<FormGroup>();\n field = input.required<string>();\n type = input<string>('text');\n withLabel = input<boolean>(true);\n required = input<boolean>(true);\n icon = input<string>();\n\n onSend = output<string>();\n\n error = signal<string>('');\n\n onEnter() {\n this.onSend.emit(this.form().value[this.field()]);\n }\n\n onChange() {\n const error = this.form().controls[this.field()].errors;\n let errorText = \"\";\n if (error?.['required']) {\n errorText = \"Ce champ est obligatoire\";\n }\n this.error.set(errorText);\n }\n}\n","<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }} {{ required() ? \"*\" : \"\" }}</label>\n }\n @if (type() === \"textarea\") {\n <textarea\n [id]=\"field()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [class.error]=\"error()\"\n ></textarea>\n } @else {\n <input\n [id]=\"field()\"\n [type]=\"type()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [class.icon]=\"icon()\"\n [class.error]=\"error()\"\n (change)=\"onChange()\"\n (keydown.enter)=\"onEnter()\"\n />\n }\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (error() !== \"\") {\n <div class=\"error-content\">{{ error() }}</div>\n }\n</div>\n","import { Component, effect, input, output } from '@angular/core';\nimport {\n BaseFormComponent,\n FormComponent,\n FormInputComponent,\n} from '../../public-api';\n\n@Component({\n selector: 'form-searchbar',\n imports: [FormComponent, FormInputComponent],\n standalone: true,\n templateUrl: './searchbar.component.html',\n styleUrls: ['./searchbar.component.scss'],\n})\nexport class SearchbarComponent extends BaseFormComponent {\n search = input<string>('');\n onSearch = output<string>();\n\n constructor() {\n super();\n effect(() => {\n this.form = this.formBuilder.group({\n search: [this.search()],\n });\n });\n }\n\n onSend(value: string) {\n this.onSearch.emit(value);\n }\n}\n","<app-form [form]=\"form\" textValid=\"\">\n <dsv-form-input\n [form]=\"form\"\n field=\"search\"\n [withLabel]=\"false\"\n (onSend)=\"onSend($event)\"\n icon=\"icon ri-search-line\"\n ></dsv-form-input>\n</app-form>\n","import { Component, input, output } from \"@angular/core\";\nimport { FormGroup, ReactiveFormsModule } from \"@angular/forms\";\nimport { ApiDto } from \"@ng-vagabond-lab/ng-dsv/api\";\n\n@Component({\n selector: 'dsv-form-select',\n imports: [\n ReactiveFormsModule\n ],\n standalone: true,\n templateUrl: './form.select.component.html',\n styleUrls: [\n '../../input/component/form.input.component.scss',\n './form.select.component.scss'\n ]\n})\nexport class SelectComponent {\n form = input.required<FormGroup>();\n field = input.required<string>();\n withLabel = input<boolean>(true);\n\n list = input<(ApiDto & { name: string })[]>([]);\n\n change = output<string>();\n\n doChange() {\n this.change.emit(this.form().value[this.field()]);\n }\n}","<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }}</label>\n }\n <div>\n <select\n [id]=\"field()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n (change)=\"doChange()\"\n >\n @for (list of list(); track list.id) {\n <option [value]=\"list.id\">\n {{ list.name }}\n </option>\n }\n </select>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ng-vagabond-lab/ng-dsv",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.97",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "^20.0.0",
|
|
6
6
|
"@angular/core": "^20.0.0"
|
|
@@ -63,22 +63,26 @@
|
|
|
63
63
|
"types": "./ds/card/index.d.ts",
|
|
64
64
|
"default": "./fesm2022/ng-vagabond-lab-ng-dsv-ds-card.mjs"
|
|
65
65
|
},
|
|
66
|
-
"./ds/
|
|
67
|
-
"types": "./ds/
|
|
68
|
-
"default": "./fesm2022/ng-vagabond-lab-ng-dsv-ds-
|
|
66
|
+
"./ds/chip": {
|
|
67
|
+
"types": "./ds/chip/index.d.ts",
|
|
68
|
+
"default": "./fesm2022/ng-vagabond-lab-ng-dsv-ds-chip.mjs"
|
|
69
69
|
},
|
|
70
70
|
"./ds/file": {
|
|
71
71
|
"types": "./ds/file/index.d.ts",
|
|
72
72
|
"default": "./fesm2022/ng-vagabond-lab-ng-dsv-ds-file.mjs"
|
|
73
73
|
},
|
|
74
|
-
"./ds/
|
|
75
|
-
"types": "./ds/
|
|
76
|
-
"default": "./fesm2022/ng-vagabond-lab-ng-dsv-ds-
|
|
74
|
+
"./ds/container": {
|
|
75
|
+
"types": "./ds/container/index.d.ts",
|
|
76
|
+
"default": "./fesm2022/ng-vagabond-lab-ng-dsv-ds-container.mjs"
|
|
77
77
|
},
|
|
78
78
|
"./ds/header": {
|
|
79
79
|
"types": "./ds/header/index.d.ts",
|
|
80
80
|
"default": "./fesm2022/ng-vagabond-lab-ng-dsv-ds-header.mjs"
|
|
81
81
|
},
|
|
82
|
+
"./ds/form": {
|
|
83
|
+
"types": "./ds/form/index.d.ts",
|
|
84
|
+
"default": "./fesm2022/ng-vagabond-lab-ng-dsv-ds-form.mjs"
|
|
85
|
+
},
|
|
82
86
|
"./ds/item": {
|
|
83
87
|
"types": "./ds/item/index.d.ts",
|
|
84
88
|
"default": "./fesm2022/ng-vagabond-lab-ng-dsv-ds-item.mjs"
|