@ng-vagabond-lab/ng-dsv 0.2.55 → 0.2.56

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.
Files changed (35) hide show
  1. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-form.container-4ZlAHtnv.mjs +105 -0
  2. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-form.container-4ZlAHtnv.mjs.map +1 -0
  3. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.container-CDSx2rg2.mjs +113 -0
  4. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.container-CDSx2rg2.mjs.map +1 -0
  5. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.service-C4rdx_5c.mjs +38 -0
  6. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.service-C4rdx_5c.mjs.map +1 -0
  7. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news.container-iiTm6F5_.mjs +180 -0
  8. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news.container-iiTm6F5_.mjs.map +1 -0
  9. package/fesm2022/ng-vagabond-lab-ng-dsv-platform.mjs +49 -3
  10. package/fesm2022/ng-vagabond-lab-ng-dsv-platform.mjs.map +1 -1
  11. package/package.json +1 -1
  12. package/types/ng-vagabond-lab-ng-dsv-date.d.ts.map +1 -0
  13. package/types/ng-vagabond-lab-ng-dsv-ds-accordion.d.ts.map +1 -0
  14. package/types/ng-vagabond-lab-ng-dsv-ds-avatar.d.ts.map +1 -0
  15. package/types/ng-vagabond-lab-ng-dsv-ds-card.d.ts.map +1 -0
  16. package/types/ng-vagabond-lab-ng-dsv-ds-file.d.ts.map +1 -0
  17. package/types/ng-vagabond-lab-ng-dsv-ds-form-reactive.d.ts.map +1 -0
  18. package/types/ng-vagabond-lab-ng-dsv-ds-form-signal.d.ts.map +1 -0
  19. package/types/ng-vagabond-lab-ng-dsv-ds-header.d.ts.map +1 -0
  20. package/types/ng-vagabond-lab-ng-dsv-ds-img.d.ts.map +1 -0
  21. package/types/ng-vagabond-lab-ng-dsv-ds-linear-progress.d.ts.map +1 -0
  22. package/types/ng-vagabond-lab-ng-dsv-ds-link-pipe.d.ts.map +1 -0
  23. package/types/ng-vagabond-lab-ng-dsv-ds-list.d.ts.map +1 -0
  24. package/types/ng-vagabond-lab-ng-dsv-ds-markdown.d.ts.map +1 -0
  25. package/types/ng-vagabond-lab-ng-dsv-ds-paginate.d.ts.map +1 -0
  26. package/types/ng-vagabond-lab-ng-dsv-ds-skeleton.d.ts.map +1 -0
  27. package/types/ng-vagabond-lab-ng-dsv-ds-tab.d.ts.map +1 -0
  28. package/types/ng-vagabond-lab-ng-dsv-ds-table.d.ts.map +1 -0
  29. package/types/ng-vagabond-lab-ng-dsv-ds-tooltip.d.ts.map +1 -0
  30. package/types/ng-vagabond-lab-ng-dsv-module-admin.d.ts.map +1 -0
  31. package/types/ng-vagabond-lab-ng-dsv-module-contact.d.ts.map +1 -0
  32. package/types/ng-vagabond-lab-ng-dsv-module-news.d.ts.map +1 -0
  33. package/types/ng-vagabond-lab-ng-dsv-module-notification.d.ts.map +1 -0
  34. package/types/ng-vagabond-lab-ng-dsv-platform.d.ts +15 -1
  35. package/types/ng-vagabond-lab-ng-dsv-template.d.ts.map +1 -0
@@ -0,0 +1,105 @@
1
+ import * as i0 from '@angular/core';
2
+ import { signal, effect, Component } from '@angular/core';
3
+ import { form, required, validate } from '@angular/forms/signals';
4
+ import { RouterLink } from '@angular/router';
5
+ import { DsvButtonComponent } from '@ng-vagabond-lab/ng-dsv/ds/button';
6
+ import { DsvCardComponent, DsvCardHeaderComponent } from '@ng-vagabond-lab/ng-dsv/ds/card';
7
+ import { FileUploadContainer } from '@ng-vagabond-lab/ng-dsv/ds/file';
8
+ import { requiredTrim, DsvFormSignalComponent, DsvFormSignalInputComponent, DsvFormSignalCheckboxComponent } from '@ng-vagabond-lab/ng-dsv/ds/form/signal';
9
+ import { NewsContainer } from './ng-vagabond-lab-ng-dsv-module-news-news.container-iiTm6F5_.mjs';
10
+
11
+ class NewsFormContainer extends NewsContainer {
12
+ newsForm = form(signal(this.news()), (path) => {
13
+ required(path.title);
14
+ required(path.resume);
15
+ required(path.description);
16
+ validate(path.title, requiredTrim);
17
+ validate(path.resume, requiredTrim);
18
+ validate(path.description, requiredTrim);
19
+ });
20
+ constructor() {
21
+ super();
22
+ effect(() => {
23
+ if (this.news()) {
24
+ this.newsForm().reset(this.news());
25
+ }
26
+ else {
27
+ this.newsForm().reset({
28
+ title: '',
29
+ image: '',
30
+ tags: '',
31
+ resume: '',
32
+ description: '',
33
+ user: this.authService.userConnected(),
34
+ });
35
+ }
36
+ });
37
+ }
38
+ doSubmit() {
39
+ if (this.newsForm().valid()) {
40
+ this.newsService.createOrUpdate(this.newsForm().value(), (data) => {
41
+ this.routerService.router.navigate(['news', data.id]);
42
+ document.getElementById('main-scroll')?.scrollTo(0, 0);
43
+ });
44
+ }
45
+ }
46
+ static ɵfac = function NewsFormContainer_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || NewsFormContainer)(); };
47
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NewsFormContainer, selectors: [["app-news-form"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 12, vars: 9, consts: [["icon", "ri-arrow-left-s-line", "color", "inherit", 1, "round", 3, "routerLink"], [3, "callback", "callbackBack", "form"], ["fieldName", "title", 3, "form"], ["directory", "news", 3, "callback", "image"], ["fieldName", "tags", 3, "form"], ["fieldName", "resume", "type", "textarea", 1, "resume", 3, "form"], ["fieldName", "description", "type", "textarea", 3, "form"], ["fieldName", "active", 3, "form"]], template: function NewsFormContainer_Template(rf, ctx) { if (rf & 1) {
48
+ i0.ɵɵelementStart(0, "dsv-card")(1, "dsv-card-header");
49
+ i0.ɵɵelement(2, "dsv-button", 0);
50
+ i0.ɵɵelementStart(3, "h1");
51
+ i0.ɵɵtext(4);
52
+ i0.ɵɵelementEnd()();
53
+ i0.ɵɵelementStart(5, "dsv-form-signal", 1);
54
+ i0.ɵɵlistener("callback", function NewsFormContainer_Template_dsv_form_signal_callback_5_listener() { return ctx.doSubmit(); })("callbackBack", function NewsFormContainer_Template_dsv_form_signal_callbackBack_5_listener() { return ctx.routerService.goBack(); });
55
+ i0.ɵɵelement(6, "dsv-form-signal-input", 2);
56
+ i0.ɵɵelementStart(7, "dsv-file-upload-container", 3);
57
+ i0.ɵɵlistener("callback", function NewsFormContainer_Template_dsv_file_upload_container_callback_7_listener($event) { return ctx.newsForm().value.update(news => ({ ...news, image: $event })); });
58
+ i0.ɵɵelementEnd();
59
+ i0.ɵɵelement(8, "dsv-form-signal-input", 4)(9, "dsv-form-signal-input", 5)(10, "dsv-form-signal-input", 6)(11, "dsv-form-signal-checkbox", 7);
60
+ i0.ɵɵelementEnd()();
61
+ } if (rf & 2) {
62
+ i0.ɵɵadvance(2);
63
+ i0.ɵɵproperty("routerLink", ctx.news()?.id ? "/news/" + ctx.news()?.id : "/news");
64
+ i0.ɵɵadvance(2);
65
+ i0.ɵɵtextInterpolate1("", ctx.news()?.id ? "Modifier" : "Cr\u00E9er", " une news");
66
+ i0.ɵɵadvance();
67
+ i0.ɵɵproperty("form", ctx.newsForm);
68
+ i0.ɵɵadvance();
69
+ i0.ɵɵproperty("form", ctx.newsForm);
70
+ i0.ɵɵadvance();
71
+ i0.ɵɵproperty("image", ctx.newsForm().value().image);
72
+ i0.ɵɵadvance();
73
+ i0.ɵɵproperty("form", ctx.newsForm);
74
+ i0.ɵɵadvance();
75
+ i0.ɵɵproperty("form", ctx.newsForm);
76
+ i0.ɵɵadvance();
77
+ i0.ɵɵproperty("form", ctx.newsForm);
78
+ i0.ɵɵadvance();
79
+ i0.ɵɵproperty("form", ctx.newsForm);
80
+ } }, dependencies: [DsvCardComponent,
81
+ DsvFormSignalComponent,
82
+ DsvFormSignalInputComponent,
83
+ DsvCardHeaderComponent,
84
+ DsvButtonComponent,
85
+ RouterLink,
86
+ DsvFormSignalCheckboxComponent,
87
+ FileUploadContainer], styles: ["[_nghost-%COMP%] dsv-card-header[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;gap:5px}[_nghost-%COMP%] dsv-card-header[_ngcontent-%COMP%] dsv-button.round[_ngcontent-%COMP%]{--%NS%button-border-radius: 50%}[_nghost-%COMP%] dsv-form-signal-input[_ngcontent-%COMP%]{--%NS%input-height: 300px;--%NS%input-max-height: 300px}[_nghost-%COMP%] dsv-form-signal-input.resume[_ngcontent-%COMP%]{--%NS%input-height: 160px}"] });
88
+ }
89
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NewsFormContainer, [{
90
+ type: Component,
91
+ args: [{ selector: 'app-news-form', imports: [
92
+ DsvCardComponent,
93
+ DsvFormSignalComponent,
94
+ DsvFormSignalInputComponent,
95
+ DsvCardHeaderComponent,
96
+ DsvButtonComponent,
97
+ RouterLink,
98
+ DsvFormSignalCheckboxComponent,
99
+ FileUploadContainer,
100
+ ], template: "<dsv-card>\n <dsv-card-header>\n <dsv-button\n class=\"round\"\n icon=\"ri-arrow-left-s-line\"\n color=\"inherit\"\n [routerLink]=\"news()?.id ? '/news/' + news()?.id : '/news'\"\n />\n <h1>{{ news()?.id ? 'Modifier' : 'Cr\u00E9er' }} une news</h1>\n </dsv-card-header>\n <dsv-form-signal [form]=\"newsForm\" (callback)=\"doSubmit()\" (callbackBack)=\"routerService.goBack()\">\n <dsv-form-signal-input [form]=\"newsForm\" fieldName=\"title\" />\n <dsv-file-upload-container\n [image]=\"newsForm().value().image\"\n directory=\"news\"\n (callback)=\"newsForm().value.update((news) => ({ ...news, image: $event }))\"\n />\n <dsv-form-signal-input [form]=\"newsForm\" fieldName=\"tags\" />\n <dsv-form-signal-input [form]=\"newsForm\" fieldName=\"resume\" type=\"textarea\" class=\"resume\" />\n <dsv-form-signal-input [form]=\"newsForm\" fieldName=\"description\" type=\"textarea\" />\n <dsv-form-signal-checkbox [form]=\"newsForm\" fieldName=\"active\" />\n </dsv-form-signal>\n</dsv-card>\n", styles: [":host dsv-card-header{display:flex;flex-direction:row;align-items:center;gap:5px}:host dsv-card-header dsv-button.round{--button-border-radius: 50%}:host dsv-form-signal-input{--input-height: 300px;--input-max-height: 300px}:host dsv-form-signal-input.resume{--input-height: 160px}\n"] }]
101
+ }], () => [], null); })();
102
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NewsFormContainer, { className: "NewsFormContainer", filePath: "container/form/news-form.container.ts", lineNumber: 31 }); })();
103
+
104
+ export { NewsFormContainer };
105
+ //# sourceMappingURL=ng-vagabond-lab-ng-dsv-module-news-news-form.container-4ZlAHtnv.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-module-news-news-form.container-4ZlAHtnv.mjs","sources":["../../../projects/ng-dsv/module/news/container/form/news-form.container.ts","../../../projects/ng-dsv/module/news/container/form/news-form.container.html"],"sourcesContent":["import { Component, effect, signal } from '@angular/core';\nimport { form, required, validate } from '@angular/forms/signals';\nimport { RouterLink } from '@angular/router';\nimport { DsvButtonComponent } from '@ng-vagabond-lab/ng-dsv/ds/button';\nimport { DsvCardComponent, DsvCardHeaderComponent } from '@ng-vagabond-lab/ng-dsv/ds/card';\nimport { FileUploadContainer } from '@ng-vagabond-lab/ng-dsv/ds/file';\nimport {\n DsvFormSignalCheckboxComponent,\n DsvFormSignalComponent,\n DsvFormSignalInputComponent,\n requiredTrim,\n} from '@ng-vagabond-lab/ng-dsv/ds/form/signal';\nimport { NewsDto } from '../../dto/news.dto';\nimport { NewsContainer } from '../news.container';\n\n@Component({\n selector: 'app-news-form',\n imports: [\n DsvCardComponent,\n DsvFormSignalComponent,\n DsvFormSignalInputComponent,\n DsvCardHeaderComponent,\n DsvButtonComponent,\n RouterLink,\n DsvFormSignalCheckboxComponent,\n FileUploadContainer,\n ],\n templateUrl: './news-form.container.html',\n styleUrl: './news-form.container.scss',\n})\nexport class NewsFormContainer extends NewsContainer {\n readonly newsForm = form(signal<NewsDto>(this.news()!), (path) => {\n required(path.title);\n required(path.resume);\n required(path.description);\n validate(path.title, requiredTrim);\n validate(path.resume, requiredTrim);\n validate(path.description, requiredTrim);\n });\n\n constructor() {\n super();\n effect(() => {\n if (this.news()) {\n this.newsForm().reset(this.news());\n } else {\n this.newsForm().reset({\n title: '',\n image: '',\n tags: '',\n resume: '',\n description: '',\n user: this.authService.userConnected()!,\n } as NewsDto);\n }\n });\n }\n\n doSubmit() {\n if (this.newsForm().valid()) {\n this.newsService.createOrUpdate(this.newsForm().value(), (data: NewsDto) => {\n this.routerService.router.navigate(['news', data.id]);\n document.getElementById('main-scroll')?.scrollTo(0, 0);\n });\n }\n }\n}\n","<dsv-card>\n <dsv-card-header>\n <dsv-button\n class=\"round\"\n icon=\"ri-arrow-left-s-line\"\n color=\"inherit\"\n [routerLink]=\"news()?.id ? '/news/' + news()?.id : '/news'\"\n />\n <h1>{{ news()?.id ? 'Modifier' : 'Créer' }} une news</h1>\n </dsv-card-header>\n <dsv-form-signal [form]=\"newsForm\" (callback)=\"doSubmit()\" (callbackBack)=\"routerService.goBack()\">\n <dsv-form-signal-input [form]=\"newsForm\" fieldName=\"title\" />\n <dsv-file-upload-container\n [image]=\"newsForm().value().image\"\n directory=\"news\"\n (callback)=\"newsForm().value.update((news) => ({ ...news, image: $event }))\"\n />\n <dsv-form-signal-input [form]=\"newsForm\" fieldName=\"tags\" />\n <dsv-form-signal-input [form]=\"newsForm\" fieldName=\"resume\" type=\"textarea\" class=\"resume\" />\n <dsv-form-signal-input [form]=\"newsForm\" fieldName=\"description\" type=\"textarea\" />\n <dsv-form-signal-checkbox [form]=\"newsForm\" fieldName=\"active\" />\n </dsv-form-signal>\n</dsv-card>\n"],"names":[],"mappings":";;;;;;;;;;AA8BM,MAAO,iBAAkB,SAAQ,aAAa,CAAA;AACvC,IAAA,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAU,IAAI,CAAC,IAAI,EAAG,CAAC,EAAE,CAAC,IAAI,KAAI;AAC7D,QAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AACpB,QAAA,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;AACrB,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;AAC1B,QAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC;AAClC,QAAA,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC;AACnC,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC;AAC5C,IAAA,CAAC,CAAC;AAEF,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;QACP,MAAM,CAAC,MAAK;AACR,YAAA,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;gBACb,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACtC;iBAAO;AACH,gBAAA,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC;AAClB,oBAAA,KAAK,EAAE,EAAE;AACT,oBAAA,KAAK,EAAE,EAAE;AACT,oBAAA,IAAI,EAAE,EAAE;AACR,oBAAA,MAAM,EAAE,EAAE;AACV,oBAAA,WAAW,EAAE,EAAE;AACf,oBAAA,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa,EAAG;AAC/B,iBAAA,CAAC;YACjB;AACJ,QAAA,CAAC,CAAC;IACN;IAEA,QAAQ,GAAA;QACJ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;AACzB,YAAA,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAa,KAAI;AACvE,gBAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;AACrD,gBAAA,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1D,YAAA,CAAC,CAAC;QACN;IACJ;2GAnCS,iBAAiB,GAAA,CAAA,CAAA,CAAA;6DAAjB,iBAAiB,EAAA,SAAA,EAAA,CAAA,CAAA,eAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,KAAA,EAAA,EAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,MAAA,EAAA,sBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,EAAA,cAAA,EAAA,MAAA,CAAA,EAAA,CAAA,WAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,WAAA,EAAA,MAAA,EAAA,CAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,WAAA,EAAA,MAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,MAAA,EAAA,UAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,WAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,CAAA,EAAA,MAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,0BAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;AC7B1B,YADJ,gCAAU,CAAA,CAAA,EAAA,iBAAA,CACW;YACb,EAAA,CAAA,SAAA,CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,CAKE;YACF,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAI;YAAA,EAAA,CAAA,MAAA,CAAA,CAAA,CAAgD;AACxD,YADwD,iBAAK,EAC3C;YAClB,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,iBAAA,EAAA,CAAA,CAAmG;AAAxC,YAAxB,EAAA,CAAA,UAAA,CAAA,UAAA,EAAA,SAAA,8DAAA,GAAA,EAAA,OAAY,GAAA,CAAA,QAAA,EAAU,CAAA,CAAA,CAAA,CAAC,CAAA,cAAA,EAAA,SAAA,kEAAA,GAAA,EAAA,OAAiB,0BAAsB,CAAA,CAAA,CAAA,CAAC;YAC9F,EAAA,CAAA,SAAA,CAAA,CAAA,EAAA,uBAAA,EAAA,CAAA,CAA6D;YAC7D,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,2BAAA,EAAA,CAAA,CAIE;AADE,YAAA,EAAA,CAAA,UAAA,CAAA,UAAA,EAAA,SAAA,wEAAA,CAAA,MAAA,EAAA,EAAA,OAAY,GAAA,CAAA,QAAA,EAAU,CAAA,KAAA,CAAA,MAAA,CAAA,IAAA,KAAyB,EAAA,GAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAA0B,CAAA,CAAE,CAAA,CAAA,CAAA,CAAC;YAHhF,EAAA,CAAA,YAAA,EAIE;AAIF,YAHA,EAAA,CAAA,SAAA,CAAA,CAAA,EAAA,uBAAA,EAAA,CAAA,CAA4D,CAAA,CAAA,EAAA,uBAAA,EAAA,CAAA,CACiC,gCACV,CAAA,EAAA,EAAA,0BAAA,EAAA,CAAA,CAClB;AAEzE,YADI,iBAAkB,EACX;;YAhBC,EAAA,CAAA,SAAA,CAAA,CAAA,CAA2D;YAA3D,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,GAAA,CAAA,IAAA,EAAA,EAAA,EAAA,GAAA,QAAA,GAAA,GAAA,CAAA,IAAA,EAAA,EAAA,EAAA,GAAA,OAAA,CAA2D;YAE3D,EAAA,CAAA,SAAA,CAAA,CAAA,CAAgD;YAAhD,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,GAAA,CAAA,IAAA,EAAA,EAAA,EAAA,GAAA,UAAA,GAAA,YAAA,EAAA,WAAA,CAAgD;YAEvC,EAAA,CAAA,SAAA,EAAiB;YAAjB,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,QAAA,CAAiB;YACP,EAAA,CAAA,SAAA,EAAiB;YAAjB,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,QAAA,CAAiB;YAEpC,EAAA,CAAA,SAAA,EAAkC;YAAlC,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,GAAA,CAAA,QAAA,EAAA,CAAA,KAAA,EAAA,CAAA,KAAA,CAAkC;YAIf,EAAA,CAAA,SAAA,EAAiB;YAAjB,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,QAAA,CAAiB;YACjB,EAAA,CAAA,SAAA,EAAiB;YAAjB,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,QAAA,CAAiB;YACjB,EAAA,CAAA,SAAA,EAAiB;YAAjB,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,QAAA,CAAiB;YACd,EAAA,CAAA,SAAA,EAAiB;YAAjB,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,QAAA,CAAiB;4BDF3C,gBAAgB;YAChB,sBAAsB;YACtB,2BAA2B;YAC3B,sBAAsB;YACtB,kBAAkB;YAClB,UAAU;YACV,8BAA8B;YAC9B,mBAAmB,CAAA,EAAA,MAAA,EAAA,CAAA,gcAAA,CAAA,EAAA,CAAA;;iFAKd,iBAAiB,EAAA,CAAA;cAf7B,SAAS;AACI,QAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAAA,OAAA,EAChB;oBACL,gBAAgB;oBAChB,sBAAsB;oBACtB,2BAA2B;oBAC3B,sBAAsB;oBACtB,kBAAkB;oBAClB,UAAU;oBACV,8BAA8B;oBAC9B,mBAAmB;AACtB,iBAAA,EAAA,QAAA,EAAA,goCAAA,EAAA,MAAA,EAAA,CAAA,6RAAA,CAAA,EAAA;;kFAIQ,iBAAiB,EAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,uCAAA,EAAA,UAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,GAAA;;"}
@@ -0,0 +1,113 @@
1
+ import * as i0 from '@angular/core';
2
+ import { computed, Component } from '@angular/core';
3
+ import { RouterLink } from '@angular/router';
4
+ import { BaseSearchContainer } from '@ng-vagabond-lab/ng-dsv/base';
5
+ import { DsvButtonComponent } from '@ng-vagabond-lab/ng-dsv/ds/button';
6
+ import { DsvCardComponent, DsvCardHeaderComponent } from '@ng-vagabond-lab/ng-dsv/ds/card';
7
+ import { DsvFormReactiveSearchbarComponent } from '@ng-vagabond-lab/ng-dsv/ds/form/reactive';
8
+ import { DsvScrollInfiniteContainer } from '@ng-vagabond-lab/ng-dsv/ds/scroll';
9
+ import { NewsCardResumeComponent } from './ng-vagabond-lab-ng-dsv-module-news.mjs';
10
+ import { N as NewsListService } from './ng-vagabond-lab-ng-dsv-module-news-news-list.service-C4rdx_5c.mjs';
11
+
12
+ const _forTrack0 = ($index, $item) => $item.id;
13
+ function NewsListContainer_Conditional_5_Template(rf, ctx) { if (rf & 1) {
14
+ i0.ɵɵtext(0);
15
+ } if (rf & 2) {
16
+ const ctx_r0 = i0.ɵɵnextContext();
17
+ i0.ɵɵtextInterpolate1(" (", ctx_r0.newsListService.total(), ") ");
18
+ } }
19
+ function NewsListContainer_Conditional_6_Template(rf, ctx) { if (rf & 1) {
20
+ i0.ɵɵelement(0, "dsv-button", 3);
21
+ } }
22
+ function NewsListContainer_Conditional_8_Template(rf, ctx) { if (rf & 1) {
23
+ i0.ɵɵelementStart(0, "dsv-card")(1, "p");
24
+ i0.ɵɵtext(2, "Aucun r\u00E9sultat trouv\u00E9");
25
+ i0.ɵɵelementEnd()();
26
+ } }
27
+ function NewsListContainer_Conditional_9_For_3_Conditional_1_Template(rf, ctx) { if (rf & 1) {
28
+ i0.ɵɵelement(0, "dsv-button", 8);
29
+ } if (rf & 2) {
30
+ const news_r3 = i0.ɵɵnextContext().$implicit;
31
+ i0.ɵɵproperty("routerLink", "/news/update/" + news_r3?.id);
32
+ } }
33
+ function NewsListContainer_Conditional_9_For_3_Template(rf, ctx) { if (rf & 1) {
34
+ i0.ɵɵelementStart(0, "app-news-card-resume", 7);
35
+ i0.ɵɵconditionalCreate(1, NewsListContainer_Conditional_9_For_3_Conditional_1_Template, 1, 1, "dsv-button", 8);
36
+ i0.ɵɵelementEnd();
37
+ } if (rf & 2) {
38
+ const news_r3 = ctx.$implicit;
39
+ const ctx_r0 = i0.ɵɵnextContext(2);
40
+ i0.ɵɵproperty("news", news_r3);
41
+ i0.ɵɵadvance();
42
+ i0.ɵɵconditional(ctx_r0.isAdmin() ? 1 : -1);
43
+ } }
44
+ function NewsListContainer_Conditional_9_ng_template_4_Template(rf, ctx) { }
45
+ function NewsListContainer_Conditional_9_Template(rf, ctx) { if (rf & 1) {
46
+ const _r2 = i0.ɵɵgetCurrentView();
47
+ i0.ɵɵelementStart(0, "dsv-scroll-infinite", 6, 0);
48
+ i0.ɵɵlistener("callback", function NewsListContainer_Conditional_9_Template_dsv_scroll_infinite_callback_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.doFetch()); });
49
+ i0.ɵɵrepeaterCreate(2, NewsListContainer_Conditional_9_For_3_Template, 2, 2, "app-news-card-resume", 7, _forTrack0);
50
+ i0.ɵɵtemplate(4, NewsListContainer_Conditional_9_ng_template_4_Template, 0, 0, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
51
+ i0.ɵɵelementEnd();
52
+ } if (rf & 2) {
53
+ const ctx_r0 = i0.ɵɵnextContext();
54
+ i0.ɵɵproperty("loading", ctx_r0.newsListService.isLoading());
55
+ i0.ɵɵadvance(2);
56
+ i0.ɵɵrepeater(ctx_r0.newsListService.news());
57
+ } }
58
+ class NewsListContainer extends BaseSearchContainer {
59
+ newsListService;
60
+ isAdmin = computed(() => this.authService.hasRole('ADMIN'), /* @ts-ignore */
61
+ ...(ngDevMode ? [{ debugName: "isAdmin" }] : /* istanbul ignore next */ []));
62
+ constructor(newsListService) {
63
+ super(newsListService);
64
+ this.newsListService = newsListService;
65
+ this.seoService.setMeta('Les dernières news', 'Retrouver les dernières news sur movie-keeper.fr', '/images/logo.png');
66
+ }
67
+ static ɵfac = function NewsListContainer_Factory(__ngFactoryType__) { /* @ts-ignore */
68
+ return new (__ngFactoryType__ || NewsListContainer)(i0.ɵɵdirectiveInject(NewsListService)); };
69
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NewsListContainer, selectors: [["app-news-list"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 10, vars: 4, consts: [["scroll", ""], ["skeleton", ""], [1, "ri-file-list-3-line"], ["icon", "ri-add-line", "color", "secondary", "variant", "outlined", "routerLink", "/news/create"], [3, "callbackSearch", "search"], [1, "card-miniature", 3, "loading"], [1, "card-miniature", 3, "callback", "loading"], [3, "news"], ["icon", "ri-tools-line", 1, "update-button", 3, "routerLink"]], template: function NewsListContainer_Template(rf, ctx) { if (rf & 1) {
70
+ i0.ɵɵelementStart(0, "dsv-card")(1, "dsv-card-header")(2, "h2");
71
+ i0.ɵɵelement(3, "i", 2);
72
+ i0.ɵɵtext(4, "\u00A0\u00A0News ");
73
+ i0.ɵɵconditionalCreate(5, NewsListContainer_Conditional_5_Template, 1, 1);
74
+ i0.ɵɵelementEnd();
75
+ i0.ɵɵconditionalCreate(6, NewsListContainer_Conditional_6_Template, 1, 0, "dsv-button", 3);
76
+ i0.ɵɵelementEnd();
77
+ i0.ɵɵelementStart(7, "dsv-form-reactive-searchbar", 4);
78
+ i0.ɵɵlistener("callbackSearch", function NewsListContainer_Template_dsv_form_reactive_searchbar_callbackSearch_7_listener($event) { return ctx.doSearch($event); });
79
+ i0.ɵɵelementEnd()();
80
+ i0.ɵɵconditionalCreate(8, NewsListContainer_Conditional_8_Template, 3, 0, "dsv-card")(9, NewsListContainer_Conditional_9_Template, 6, 1, "dsv-scroll-infinite", 5);
81
+ } if (rf & 2) {
82
+ i0.ɵɵadvance(5);
83
+ i0.ɵɵconditional(ctx.newsListService.total() ? 5 : -1);
84
+ i0.ɵɵadvance();
85
+ i0.ɵɵconditional(ctx.isAdmin() ? 6 : -1);
86
+ i0.ɵɵadvance();
87
+ i0.ɵɵproperty("search", ctx.newsListService.search());
88
+ i0.ɵɵadvance();
89
+ i0.ɵɵconditional(ctx.newsListService.news().length === 0 && (!ctx.newsListService.isLoading() || ctx.newsListService.stopFetch()) ? 8 : 9);
90
+ } }, dependencies: [DsvCardComponent,
91
+ DsvFormReactiveSearchbarComponent,
92
+ DsvScrollInfiniteContainer,
93
+ NewsCardResumeComponent,
94
+ DsvButtonComponent,
95
+ DsvCardHeaderComponent,
96
+ RouterLink], styles: ["[_nghost-%COMP%]{display:flex;flex-direction:column;overflow:hidden;flex:1}[_nghost-%COMP%] h2[_ngcontent-%COMP%]{text-transform:capitalize}[_nghost-%COMP%] dsv-card[_ngcontent-%COMP%]{margin:5px;width:calc(100% - 10px);gap:5px}[_nghost-%COMP%] dsv-card[_ngcontent-%COMP%] dsv-card-header[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;margin:0 0 5px}[_nghost-%COMP%] dsv-card[_ngcontent-%COMP%] dsv-card-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;flex:1}[_nghost-%COMP%] dsv-card[_ngcontent-%COMP%] dsv-form-reactive-searchbar[_ngcontent-%COMP%]{margin:0}[_nghost-%COMP%] dsv-scroll-infinite[_ngcontent-%COMP%] app-news-card-resume[_ngcontent-%COMP%]{width:calc(50% - 10px);padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--%NS%border)}@media screen and (max-width:600px){[_nghost-%COMP%] dsv-scroll-infinite[_ngcontent-%COMP%] app-news-card-resume[_ngcontent-%COMP%]{width:100%}}"] });
97
+ }
98
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NewsListContainer, [{
99
+ type: Component,
100
+ args: [{ selector: 'app-news-list', imports: [
101
+ DsvCardComponent,
102
+ DsvFormReactiveSearchbarComponent,
103
+ DsvScrollInfiniteContainer,
104
+ NewsCardResumeComponent,
105
+ DsvButtonComponent,
106
+ DsvCardHeaderComponent,
107
+ RouterLink,
108
+ ], template: "<dsv-card>\n <dsv-card-header>\n <h2>\n <i class=\"ri-file-list-3-line\"></i>&nbsp;&nbsp;News\n @if (newsListService.total()) {\n ({{ newsListService.total() }})\n }\n </h2>\n @if (isAdmin()) {\n <dsv-button icon=\"ri-add-line\" color=\"secondary\" variant=\"outlined\" routerLink=\"/news/create\" />\n }\n </dsv-card-header>\n <dsv-form-reactive-searchbar [search]=\"newsListService.search()\" (callbackSearch)=\"doSearch($event)\" />\n</dsv-card>\n\n@if (newsListService.news().length === 0 && (!newsListService.isLoading() || newsListService.stopFetch())) {\n <dsv-card>\n <p>Aucun r\u00E9sultat trouv\u00E9</p>\n </dsv-card>\n} @else {\n <dsv-scroll-infinite\n #scroll\n class=\"card-miniature\"\n [loading]=\"newsListService.isLoading()\"\n (callback)=\"doFetch()\"\n >\n @for (news of newsListService.news(); track news.id) {\n <app-news-card-resume [news]=\"news\">\n @if (isAdmin()) {\n <dsv-button\n class=\"update-button\"\n icon=\"ri-tools-line\"\n [routerLink]=\"'/news/update/' + news?.id\"\n />\n }\n </app-news-card-resume>\n }\n <ng-template #skeleton> </ng-template>\n </dsv-scroll-infinite>\n}\n", styles: [":host{display:flex;flex-direction:column;overflow:hidden;flex:1}:host h2{text-transform:capitalize}:host dsv-card{margin:5px;width:calc(100% - 10px);gap:5px}:host dsv-card dsv-card-header{display:flex;flex-direction:row;align-items:center;margin:0 0 5px}:host dsv-card dsv-card-header h2{margin:0;flex:1}:host dsv-card dsv-form-reactive-searchbar{margin:0}:host dsv-scroll-infinite app-news-card-resume{width:calc(50% - 10px);padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--border)}@media screen and (max-width:600px){:host dsv-scroll-infinite app-news-card-resume{width:100%}}\n"] }]
109
+ }], () => [{ type: NewsListService }], null); })();
110
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NewsListContainer, { className: "NewsListContainer", filePath: "container/list/news-list.container.ts", lineNumber: 26 }); })();
111
+
112
+ export { NewsListContainer };
113
+ //# sourceMappingURL=ng-vagabond-lab-ng-dsv-module-news-news-list.container-CDSx2rg2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-module-news-news-list.container-CDSx2rg2.mjs","sources":["../../../projects/ng-dsv/module/news/container/list/news-list.container.html","../../../projects/ng-dsv/module/news/container/list/news-list.container.ts"],"sourcesContent":["<dsv-card>\n <dsv-card-header>\n <h2>\n <i class=\"ri-file-list-3-line\"></i>&nbsp;&nbsp;News\n @if (newsListService.total()) {\n ({{ newsListService.total() }})\n }\n </h2>\n @if (isAdmin()) {\n <dsv-button icon=\"ri-add-line\" color=\"secondary\" variant=\"outlined\" routerLink=\"/news/create\" />\n }\n </dsv-card-header>\n <dsv-form-reactive-searchbar [search]=\"newsListService.search()\" (callbackSearch)=\"doSearch($event)\" />\n</dsv-card>\n\n@if (newsListService.news().length === 0 && (!newsListService.isLoading() || newsListService.stopFetch())) {\n <dsv-card>\n <p>Aucun résultat trouvé</p>\n </dsv-card>\n} @else {\n <dsv-scroll-infinite\n #scroll\n class=\"card-miniature\"\n [loading]=\"newsListService.isLoading()\"\n (callback)=\"doFetch()\"\n >\n @for (news of newsListService.news(); track news.id) {\n <app-news-card-resume [news]=\"news\">\n @if (isAdmin()) {\n <dsv-button\n class=\"update-button\"\n icon=\"ri-tools-line\"\n [routerLink]=\"'/news/update/' + news?.id\"\n />\n }\n </app-news-card-resume>\n }\n <ng-template #skeleton> </ng-template>\n </dsv-scroll-infinite>\n}\n","import { Component, computed } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { BaseSearchContainer } from '@ng-vagabond-lab/ng-dsv/base';\nimport { DsvButtonComponent } from '@ng-vagabond-lab/ng-dsv/ds/button';\nimport { DsvCardComponent, DsvCardHeaderComponent } from '@ng-vagabond-lab/ng-dsv/ds/card';\nimport { DsvFormReactiveSearchbarComponent } from '@ng-vagabond-lab/ng-dsv/ds/form/reactive';\nimport { DsvScrollInfiniteContainer } from '@ng-vagabond-lab/ng-dsv/ds/scroll';\nimport { NewsCardResumeComponent } from '../../component/card/resume/news-card-resume.component';\nimport { NewsDto } from '../../dto/news.dto';\nimport { NewsListService } from '../../service/list/news-list.service';\n\n@Component({\n selector: 'app-news-list',\n imports: [\n DsvCardComponent,\n DsvFormReactiveSearchbarComponent,\n DsvScrollInfiniteContainer,\n NewsCardResumeComponent,\n DsvButtonComponent,\n DsvCardHeaderComponent,\n RouterLink,\n ],\n templateUrl: './news-list.container.html',\n styleUrl: './news-list.container.scss',\n})\nexport class NewsListContainer extends BaseSearchContainer<NewsListService, NewsDto> {\n readonly isAdmin = computed<boolean>(() => this.authService.hasRole('ADMIN'));\n\n constructor(public newsListService: NewsListService) {\n super(newsListService);\n this.seoService.setMeta(\n 'Les dernières news',\n 'Retrouver les dernières news sur movie-keeper.fr',\n '/images/logo.png',\n );\n }\n}\n"],"names":["i1.NewsListService"],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { BaseSearchService } from '@ng-vagabond-lab/ng-dsv/base/service';
4
+ import { AuthService } from '@ng-vagabond-lab/ng-dsv/module/auth';
5
+
6
+ class NewsListService extends BaseSearchService {
7
+ authService = inject(AuthService);
8
+ news = this.datas;
9
+ getEndPoint() {
10
+ return '/news/findBy';
11
+ }
12
+ getParams() {
13
+ let fields = '(title%And|Description%)AndActive>>creationDateDesc';
14
+ let values = this.search() + ',' + this.search() + ',true';
15
+ if (this.authService.isAdmin()) {
16
+ fields = '(title%And|Description%)>>creationDateDesc';
17
+ values = this.search() + ',' + this.search() + '';
18
+ }
19
+ return ('&fields=' +
20
+ encodeURIComponent(fields) +
21
+ '&values=' +
22
+ values +
23
+ '&first=' +
24
+ (this.page() - 1) +
25
+ '&max=20');
26
+ }
27
+ static ɵfac = /*@__PURE__*/ (() => { let ɵNewsListService_BaseFactory; return function NewsListService_Factory(__ngFactoryType__) { return (ɵNewsListService_BaseFactory || (ɵNewsListService_BaseFactory = i0.ɵɵgetInheritedFactory(NewsListService)))(__ngFactoryType__ || NewsListService); }; })();
28
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: NewsListService, factory: NewsListService.ɵfac, providedIn: 'root' });
29
+ }
30
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NewsListService, [{
31
+ type: Injectable,
32
+ args: [{
33
+ providedIn: 'root',
34
+ }]
35
+ }], null, null); })();
36
+
37
+ export { NewsListService as N };
38
+ //# sourceMappingURL=ng-vagabond-lab-ng-dsv-module-news-news-list.service-C4rdx_5c.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-module-news-news-list.service-C4rdx_5c.mjs","sources":["../../../projects/ng-dsv/module/news/service/list/news-list.service.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { BaseSearchService } from '@ng-vagabond-lab/ng-dsv/base/service';\nimport { AuthService } from '@ng-vagabond-lab/ng-dsv/module/auth';\nimport { NewsDto } from '../../dto/news.dto';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NewsListService extends BaseSearchService<NewsDto> {\n readonly authService = inject(AuthService);\n\n readonly news = this.datas;\n\n override getEndPoint(): string {\n return '/news/findBy';\n }\n\n override getParams(): string {\n let fields = '(title%And|Description%)AndActive>>creationDateDesc';\n let values = this.search() + ',' + this.search() + ',true';\n if (this.authService.isAdmin()) {\n fields = '(title%And|Description%)>>creationDateDesc';\n values = this.search() + ',' + this.search() + '';\n }\n return (\n '&fields=' +\n encodeURIComponent(fields) +\n '&values=' +\n values +\n '&first=' +\n (this.page() - 1) +\n '&max=20'\n );\n }\n}\n"],"names":[],"mappings":";;;;;AAQM,MAAO,eAAgB,SAAQ,iBAA0B,CAAA;AAClD,IAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AAEjC,IAAA,IAAI,GAAG,IAAI,CAAC,KAAK;IAEjB,WAAW,GAAA;AAChB,QAAA,OAAO,cAAc;IACzB;IAES,SAAS,GAAA;QACd,IAAI,MAAM,GAAG,qDAAqD;AAClE,QAAA,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO;AAC1D,QAAA,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE;YAC5B,MAAM,GAAG,4CAA4C;AACrD,YAAA,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;QACrD;AACA,QAAA,QACI,UAAU;YACV,kBAAkB,CAAC,MAAM,CAAC;YAC1B,UAAU;YACV,MAAM;YACN,SAAS;AACT,aAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACjB,YAAA,SAAS;IAEjB;AAzBS,IAAA,OAAA,IAAA,iBAAA,CAAA,MAAA,EAAA,IAAA,4BAAA,CAAA,CAAA,OAAA,SAAA,uBAAA,CAAA,iBAAA,EAAA,EAAA,OAAA,CAAA,4BAAA,KAAA,4BAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,eAAe,yBAAf,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA;gEAAf,eAAe,EAAA,OAAA,EAAf,eAAe,CAAA,IAAA,EAAA,UAAA,EAFZ,MAAM,EAAA,CAAA;;iFAET,eAAe,EAAA,CAAA;cAH3B,UAAU;AAAC,QAAA,IAAA,EAAA,CAAA;AACR,gBAAA,UAAU,EAAE,MAAM;AACrB,aAAA;;;"}
@@ -0,0 +1,180 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, Component, inject, Injectable, signal, computed, effect } from '@angular/core';
3
+ import { RouterLink } from '@angular/router';
4
+ import { BaseRouteContainer } from '@ng-vagabond-lab/ng-dsv/base';
5
+ import { DsvButtonComponent } from '@ng-vagabond-lab/ng-dsv/ds/button';
6
+ import { DateFormatPipe } from '@ng-vagabond-lab/ng-dsv/date';
7
+ import { DsvCardComponent, DsvCardHeaderComponent } from '@ng-vagabond-lab/ng-dsv/ds/card';
8
+ import { DsvFileShowComponent } from '@ng-vagabond-lab/ng-dsv/ds/file';
9
+ import { DsvMarkdownContainer } from '@ng-vagabond-lab/ng-dsv/ds/markdown';
10
+ import { BaseFetchService } from '@ng-vagabond-lab/ng-dsv/base/service';
11
+ import { StoreMap } from '@ng-vagabond-lab/ng-dsv/storage';
12
+ import { N as NewsListService } from './ng-vagabond-lab-ng-dsv-module-news-news-list.service-C4rdx_5c.mjs';
13
+
14
+ const _c0 = [[["", 8, "update-button"]]];
15
+ const _c1 = [".update-button"];
16
+ function NewsCardComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
17
+ i0.ɵɵelement(0, "dsv-file-show", 0);
18
+ } if (rf & 2) {
19
+ const ctx_r0 = i0.ɵɵnextContext();
20
+ i0.ɵɵproperty("src", ctx_r0.news()?.image ?? "");
21
+ } }
22
+ function NewsCardComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
23
+ i0.ɵɵtext(0);
24
+ i0.ɵɵpipe(1, "formatDate");
25
+ } if (rf & 2) {
26
+ const ctx_r0 = i0.ɵɵnextContext();
27
+ i0.ɵɵtextInterpolate1(" Le ", i0.ɵɵpipeBind2(1, 1, ctx_r0.news()?.creationDate, true), " ");
28
+ } }
29
+ class NewsCardComponent {
30
+ news = input(/* @ts-ignore */
31
+ ...(ngDevMode ? [undefined, { debugName: "news" }] : /* istanbul ignore next */ []));
32
+ static ɵfac = function NewsCardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || NewsCardComponent)(); };
33
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NewsCardComponent, selectors: [["app-news-card"]], inputs: { news: [1, "news"] }, ngContentSelectors: _c1, decls: 10, vars: 6, consts: [["url", "/api/", 3, "src"], ["icon", "ri-arrow-left-s-line", "color", "inherit", "routerLink", "/news", 1, "round"], [1, "subtitle"], [3, "data"]], template: function NewsCardComponent_Template(rf, ctx) { if (rf & 1) {
34
+ i0.ɵɵprojectionDef(_c0);
35
+ i0.ɵɵelementStart(0, "dsv-card");
36
+ i0.ɵɵconditionalCreate(1, NewsCardComponent_Conditional_1_Template, 1, 1, "dsv-file-show", 0);
37
+ i0.ɵɵelementStart(2, "dsv-card-header");
38
+ i0.ɵɵelement(3, "dsv-button", 1);
39
+ i0.ɵɵelementStart(4, "h1");
40
+ i0.ɵɵtext(5);
41
+ i0.ɵɵelementEnd();
42
+ i0.ɵɵprojection(6);
43
+ i0.ɵɵelementEnd();
44
+ i0.ɵɵelementStart(7, "span", 2);
45
+ i0.ɵɵconditionalCreate(8, NewsCardComponent_Conditional_8_Template, 2, 4);
46
+ i0.ɵɵelementEnd();
47
+ i0.ɵɵelement(9, "dsv-markdown-container", 3);
48
+ i0.ɵɵelementEnd();
49
+ } if (rf & 2) {
50
+ i0.ɵɵadvance();
51
+ i0.ɵɵconditional(ctx.news()?.image ? 1 : -1);
52
+ i0.ɵɵadvance(3);
53
+ i0.ɵɵclassProp("error", !ctx.news()?.active);
54
+ i0.ɵɵadvance();
55
+ i0.ɵɵtextInterpolate(ctx.news()?.title);
56
+ i0.ɵɵadvance(3);
57
+ i0.ɵɵconditional(ctx.news()?.creationDate ? 8 : -1);
58
+ i0.ɵɵadvance();
59
+ i0.ɵɵproperty("data", ctx.news()?.description);
60
+ } }, dependencies: [DsvCardComponent,
61
+ DsvCardHeaderComponent,
62
+ DsvButtonComponent,
63
+ RouterLink,
64
+ DsvFileShowComponent,
65
+ DsvMarkdownContainer,
66
+ DateFormatPipe], styles: ["[_nghost-%COMP%]{display:flex;width:100%;min-height:300px;margin-right:5px;overflow:hidden}[_nghost-%COMP%] dsv-card[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] dsv-card[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0}[_nghost-%COMP%] dsv-card[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0 0 5px}[_nghost-%COMP%] dsv-card[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:calc(100% + 20px)}[_nghost-%COMP%] dsv-card[_ngcontent-%COMP%] .news-image[_ngcontent-%COMP%]{margin:0 0 5px;width:100%}[_nghost-%COMP%] dsv-card[_ngcontent-%COMP%] dsv-card-header[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;gap:5px;margin:0 0 10px}[_nghost-%COMP%] dsv-card[_ngcontent-%COMP%] dsv-card-header[_ngcontent-%COMP%] dsv-button.round[_ngcontent-%COMP%]{--%NS%button-border-radius: 50%}[_nghost-%COMP%] dsv-card[_ngcontent-%COMP%] dsv-card-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%], [_nghost-%COMP%] dsv-card[_ngcontent-%COMP%] dsv-card-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{flex:1}[_nghost-%COMP%] dsv-markdown-container[_ngcontent-%COMP%]{margin:20px 0}"] });
67
+ }
68
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NewsCardComponent, [{
69
+ type: Component,
70
+ args: [{ selector: 'app-news-card', imports: [
71
+ DsvCardComponent,
72
+ DateFormatPipe,
73
+ DsvCardHeaderComponent,
74
+ DsvButtonComponent,
75
+ RouterLink,
76
+ DsvFileShowComponent,
77
+ DsvMarkdownContainer,
78
+ ], template: "<dsv-card>\n @if (news()?.image) {\n <dsv-file-show url=\"/api/\" [src]=\"news()?.image ?? ''\" />\n }\n <dsv-card-header>\n <dsv-button class=\"round\" icon=\"ri-arrow-left-s-line\" color=\"inherit\" routerLink=\"/news\" />\n <h1 [class.error]=\"!news()?.active\">{{ news()?.title }}</h1>\n <ng-content select=\".update-button\"></ng-content>\n </dsv-card-header>\n <span class=\"subtitle\">\n @if (news()?.creationDate) {\n Le {{ news()?.creationDate! | formatDate: true }}\n }\n </span>\n <dsv-markdown-container [data]=\"news()?.description\" />\n</dsv-card>\n", styles: [":host{display:flex;width:100%;min-height:300px;margin-right:5px;overflow:hidden}:host dsv-card{position:relative}:host dsv-card h1{margin:0}:host dsv-card h2{margin:0 0 5px}:host dsv-card img{width:calc(100% + 20px)}:host dsv-card .news-image{margin:0 0 5px;width:100%}:host dsv-card dsv-card-header{display:flex;flex-direction:row;align-items:center;gap:5px;margin:0 0 10px}:host dsv-card dsv-card-header dsv-button.round{--button-border-radius: 50%}:host dsv-card dsv-card-header h1,:host dsv-card dsv-card-header h2{flex:1}:host dsv-markdown-container{margin:20px 0}\n"] }]
79
+ }], null, { news: [{ type: i0.Input, args: [{ isSignal: true, alias: "news", required: false }] }] }); })();
80
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NewsCardComponent, { className: "NewsCardComponent", filePath: "component/card/news-card.component.ts", lineNumber: 24 }); })();
81
+
82
+ class NewsService extends BaseFetchService {
83
+ newsListService = inject(NewsListService);
84
+ news = new StoreMap();
85
+ doFetchNews(newsId) {
86
+ const url = '/news/' + newsId;
87
+ const data = this.getDataFromState(url);
88
+ if (data) {
89
+ this.initNews(newsId, data);
90
+ return;
91
+ }
92
+ this.apiService.get(url, (data) => {
93
+ this.setDataToState(url, data);
94
+ this.initNews(newsId, data);
95
+ });
96
+ }
97
+ initNews(newsId, data) {
98
+ this.news.set(newsId, data);
99
+ }
100
+ createOrUpdate(news, callback) {
101
+ const toast = "La news '" + news.title + "' a bien été " + (news.id ? 'mise a jour' : 'créer') + '.';
102
+ this.apiService.createOrUpdate('news', news, (data) => {
103
+ this.news.set(data.id, data);
104
+ this.newsListService.fetchByPage(this.newsListService.search(), 1);
105
+ callback?.(data);
106
+ }, toast);
107
+ }
108
+ static ɵfac = /*@__PURE__*/ (() => { let ɵNewsService_BaseFactory; return function NewsService_Factory(__ngFactoryType__) { return (ɵNewsService_BaseFactory || (ɵNewsService_BaseFactory = i0.ɵɵgetInheritedFactory(NewsService)))(__ngFactoryType__ || NewsService); }; })();
109
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: NewsService, factory: NewsService.ɵfac, providedIn: 'root' });
110
+ }
111
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NewsService, [{
112
+ type: Injectable,
113
+ args: [{
114
+ providedIn: 'root',
115
+ }]
116
+ }], null, null); })();
117
+
118
+ function NewsContainer_Conditional_2_Template(rf, ctx) { if (rf & 1) {
119
+ i0.ɵɵelement(0, "dsv-button", 2);
120
+ } if (rf & 2) {
121
+ const ctx_r0 = i0.ɵɵnextContext();
122
+ i0.ɵɵproperty("routerLink", "/news/update/" + ctx_r0.news()?.id);
123
+ } }
124
+ class NewsContainer extends BaseRouteContainer {
125
+ newsService = inject(NewsService);
126
+ newsId = signal(0, /* @ts-ignore */
127
+ ...(ngDevMode ? [{ debugName: "newsId" }] : /* istanbul ignore next */ []));
128
+ news = signal(undefined, /* @ts-ignore */
129
+ ...(ngDevMode ? [{ debugName: "news" }] : /* istanbul ignore next */ []));
130
+ isAdmin = computed(() => this.authService.hasRole('ADMIN'), /* @ts-ignore */
131
+ ...(ngDevMode ? [{ debugName: "isAdmin" }] : /* istanbul ignore next */ []));
132
+ constructor() {
133
+ super();
134
+ effect(() => {
135
+ const newsId = Number(this.routeParams()?.['newsId']);
136
+ if (Number.isInteger(newsId)) {
137
+ this.newsId?.set(newsId);
138
+ if (this.newsService.news.get(newsId)) {
139
+ const news = this.newsService.news.get(newsId);
140
+ this.seoService.setMeta(news?.title, news?.resume, news?.image);
141
+ }
142
+ else if (this.authService.canFetch()) {
143
+ this.newsService.doFetchNews(newsId);
144
+ }
145
+ }
146
+ });
147
+ effect(() => {
148
+ if (this.newsId() && this.newsService.news.data()) {
149
+ this.news.set(this.newsService.news.get(this.newsId()));
150
+ }
151
+ });
152
+ }
153
+ async doShare(news) {
154
+ await globalThis.navigator.share({
155
+ title: news.title,
156
+ text: news.resume,
157
+ url: 'https://movie-keeper.fr/news/' + news.id,
158
+ });
159
+ }
160
+ static ɵfac = function NewsContainer_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || NewsContainer)(); };
161
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NewsContainer, selectors: [["app-news"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 2, consts: [[3, "news"], ["color", "secondary", "variant", "outlined", "icon", "ri-share-line", 1, "update-button", 3, "callback"], ["color", "secondary", "variant", "outlined", "icon", "ri-tools-line", 1, "update-button", 3, "routerLink"]], template: function NewsContainer_Template(rf, ctx) { if (rf & 1) {
162
+ i0.ɵɵelementStart(0, "app-news-card", 0)(1, "dsv-button", 1);
163
+ i0.ɵɵlistener("callback", function NewsContainer_Template_dsv_button_callback_1_listener() { return ctx.doShare(ctx.news()); });
164
+ i0.ɵɵelementEnd();
165
+ i0.ɵɵconditionalCreate(2, NewsContainer_Conditional_2_Template, 1, 1, "dsv-button", 2);
166
+ i0.ɵɵelementEnd();
167
+ } if (rf & 2) {
168
+ i0.ɵɵproperty("news", ctx.news());
169
+ i0.ɵɵadvance(2);
170
+ i0.ɵɵconditional(ctx.isAdmin() ? 2 : -1);
171
+ } }, dependencies: [NewsCardComponent, DsvButtonComponent, RouterLink], styles: ["[_nghost-%COMP%]{display:flex;flex:1}"] });
172
+ }
173
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NewsContainer, [{
174
+ type: Component,
175
+ args: [{ selector: 'app-news', imports: [NewsCardComponent, DsvButtonComponent, RouterLink], template: "<app-news-card [news]=\"news()\">\n <dsv-button\n class=\"update-button\"\n color=\"secondary\"\n variant=\"outlined\"\n icon=\"ri-share-line\"\n (callback)=\"doShare(news()!)\"\n />\n @if (isAdmin()) {\n <dsv-button\n class=\"update-button\"\n color=\"secondary\"\n variant=\"outlined\"\n icon=\"ri-tools-line\"\n [routerLink]=\"'/news/update/' + news()?.id\"\n />\n }\n</app-news-card>\n", styles: [":host{display:flex;flex:1}\n"] }]
176
+ }], () => [], null); })();
177
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NewsContainer, { className: "NewsContainer", filePath: "container/news.container.ts", lineNumber: 15 }); })();
178
+
179
+ export { NewsContainer };
180
+ //# sourceMappingURL=ng-vagabond-lab-ng-dsv-module-news-news.container-iiTm6F5_.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-module-news-news.container-iiTm6F5_.mjs","sources":["../../../projects/ng-dsv/module/news/component/card/news-card.component.html","../../../projects/ng-dsv/module/news/component/card/news-card.component.ts","../../../projects/ng-dsv/module/news/service/news.service.ts","../../../projects/ng-dsv/module/news/container/news.container.html","../../../projects/ng-dsv/module/news/container/news.container.ts"],"sourcesContent":["<dsv-card>\n @if (news()?.image) {\n <dsv-file-show url=\"/api/\" [src]=\"news()?.image ?? ''\" />\n }\n <dsv-card-header>\n <dsv-button class=\"round\" icon=\"ri-arrow-left-s-line\" color=\"inherit\" routerLink=\"/news\" />\n <h1 [class.error]=\"!news()?.active\">{{ news()?.title }}</h1>\n <ng-content select=\".update-button\"></ng-content>\n </dsv-card-header>\n <span class=\"subtitle\">\n @if (news()?.creationDate) {\n Le {{ news()?.creationDate! | formatDate: true }}\n }\n </span>\n <dsv-markdown-container [data]=\"news()?.description\" />\n</dsv-card>\n","import { Component, input } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { DateFormatPipe } from '@ng-vagabond-lab/ng-dsv/date';\nimport { DsvButtonComponent } from '@ng-vagabond-lab/ng-dsv/ds/button';\nimport { DsvCardComponent, DsvCardHeaderComponent } from '@ng-vagabond-lab/ng-dsv/ds/card';\nimport { DsvFileShowComponent } from '@ng-vagabond-lab/ng-dsv/ds/file';\nimport { DsvMarkdownContainer } from '@ng-vagabond-lab/ng-dsv/ds/markdown';\nimport { NewsDto } from '../../dto/news.dto';\n\n@Component({\n selector: 'app-news-card',\n imports: [\n DsvCardComponent,\n DateFormatPipe,\n DsvCardHeaderComponent,\n DsvButtonComponent,\n RouterLink,\n DsvFileShowComponent,\n DsvMarkdownContainer,\n ],\n templateUrl: './news-card.component.html',\n styleUrl: './news-card.component.scss',\n})\nexport class NewsCardComponent {\n readonly news = input<NewsDto>();\n}\n","import { inject, Injectable } from '@angular/core';\nimport { ID } from '@ng-vagabond-lab/ng-dsv/api';\nimport { BaseFetchService } from '@ng-vagabond-lab/ng-dsv/base/service';\nimport { StoreMap } from '@ng-vagabond-lab/ng-dsv/storage';\nimport { NewsDto } from '../dto/news.dto';\nimport { NewsListService } from './list/news-list.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NewsService extends BaseFetchService<NewsDto> {\n readonly newsListService = inject(NewsListService);\n readonly news = new StoreMap<ID, NewsDto>();\n\n doFetchNews(newsId: number): void {\n const url = '/news/' + newsId;\n const data = this.getDataFromState(url);\n if (data) {\n this.initNews(newsId, data);\n return;\n }\n this.apiService.get<NewsDto>(url, (data) => {\n this.setDataToState(url, data);\n this.initNews(newsId, data);\n });\n }\n\n initNews(newsId: ID, data: NewsDto) {\n this.news.set(newsId, data);\n }\n\n createOrUpdate(news: NewsDto, callback?: (data: NewsDto) => void) {\n const toast = \"La news '\" + news.title + \"' a bien été \" + (news.id ? 'mise a jour' : 'créer') + '.';\n this.apiService.createOrUpdate<NewsDto>(\n 'news',\n news,\n (data) => {\n this.news.set(data.id, data);\n this.newsListService.fetchByPage(this.newsListService.search(), 1);\n callback?.(data);\n },\n toast,\n );\n }\n}\n","<app-news-card [news]=\"news()\">\n <dsv-button\n class=\"update-button\"\n color=\"secondary\"\n variant=\"outlined\"\n icon=\"ri-share-line\"\n (callback)=\"doShare(news()!)\"\n />\n @if (isAdmin()) {\n <dsv-button\n class=\"update-button\"\n color=\"secondary\"\n variant=\"outlined\"\n icon=\"ri-tools-line\"\n [routerLink]=\"'/news/update/' + news()?.id\"\n />\n }\n</app-news-card>\n","import { Component, computed, effect, inject, signal } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { BaseRouteContainer } from '@ng-vagabond-lab/ng-dsv/base';\nimport { DsvButtonComponent } from '@ng-vagabond-lab/ng-dsv/ds/button';\nimport { NewsCardComponent } from '../component/card/news-card.component';\nimport { NewsDto } from '../dto/news.dto';\nimport { NewsService } from '../service/news.service';\n\n@Component({\n selector: 'app-news',\n imports: [NewsCardComponent, DsvButtonComponent, RouterLink],\n templateUrl: './news.container.html',\n styleUrl: './news.container.scss',\n})\nexport class NewsContainer extends BaseRouteContainer {\n readonly newsService = inject(NewsService);\n\n readonly newsId = signal<number>(0);\n readonly news = signal<NewsDto | undefined>(undefined);\n\n readonly isAdmin = computed<boolean>(() => this.authService.hasRole('ADMIN'));\n\n constructor() {\n super();\n effect(() => {\n const newsId = Number(this.routeParams()?.['newsId']);\n if (Number.isInteger(newsId)) {\n this.newsId?.set(newsId);\n if (this.newsService.news.get(newsId)) {\n const news = this.newsService.news.get(newsId);\n this.seoService.setMeta(news?.title!, news?.resume!, news?.image);\n } else if (this.authService.canFetch()) {\n this.newsService.doFetchNews(newsId);\n }\n }\n });\n effect(() => {\n if (this.newsId() && this.newsService.news.data()) {\n this.news.set(this.newsService.news.get(this.newsId()));\n }\n });\n }\n\n async doShare(news: NewsDto): Promise<void> {\n await globalThis.navigator.share({\n title: news.title,\n text: news.resume,\n url: 'https://movie-keeper.fr/news/' + news.id,\n });\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,55 @@
1
- import { isPlatformBrowser } from '@angular/common';
2
1
  import * as i0 from '@angular/core';
3
- import { inject, PLATFORM_ID, signal, computed, Injectable } from '@angular/core';
2
+ import { inject, ElementRef, Renderer2, output, Directive, PLATFORM_ID, signal, computed, Injectable } from '@angular/core';
3
+ import { isPlatformBrowser } from '@angular/common';
4
4
  import { toSignal } from '@angular/core/rxjs-interop';
5
5
  import { fromEvent, startWith, map } from 'rxjs';
6
6
 
7
+ class PlatformSwipeDirective {
8
+ el = inject(ElementRef);
9
+ renderer = inject(Renderer2);
10
+ swipeLeft = output();
11
+ swipeRight = output();
12
+ startX = 0;
13
+ startY = 0;
14
+ threshold = 40;
15
+ maxVerticalDelta = 50;
16
+ constructor() {
17
+ this.renderer.listen(this.el.nativeElement, 'touchstart', (e) => {
18
+ const touch = e.touches?.[0] ?? e.changedTouches?.[0];
19
+ if (touch) {
20
+ this.startX = touch.clientX;
21
+ this.startY = touch.clientY;
22
+ }
23
+ });
24
+ this.renderer.listen(this.el.nativeElement, 'touchend', (e) => {
25
+ const touch = e.changedTouches?.[0] ?? e.touches?.[0];
26
+ if (!touch)
27
+ return;
28
+ const endX = touch.clientX;
29
+ const endY = touch.clientY;
30
+ const deltaX = endX - this.startX;
31
+ const deltaY = Math.abs(endY - this.startY);
32
+ if (deltaY <= this.maxVerticalDelta) {
33
+ if (deltaX <= -this.threshold) {
34
+ this.swipeLeft.emit();
35
+ }
36
+ else if (deltaX >= this.threshold) {
37
+ this.swipeRight.emit();
38
+ }
39
+ }
40
+ });
41
+ }
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: PlatformSwipeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
43
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.6", type: PlatformSwipeDirective, isStandalone: true, selector: "[appSwipe]", outputs: { swipeLeft: "swipeLeft", swipeRight: "swipeRight" }, ngImport: i0 });
44
+ }
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: PlatformSwipeDirective, decorators: [{
46
+ type: Directive,
47
+ args: [{
48
+ selector: '[appSwipe]',
49
+ standalone: true,
50
+ }]
51
+ }], ctorParameters: () => [], propDecorators: { swipeLeft: [{ type: i0.Output, args: ["swipeLeft"] }], swipeRight: [{ type: i0.Output, args: ["swipeRight"] }] } });
52
+
7
53
  class PlatformService {
8
54
  platformId = inject(PLATFORM_ID);
9
55
  width = this.isPlatformBrowser()
@@ -32,5 +78,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
32
78
  * Generated bundle index. Do not edit.
33
79
  */
34
80
 
35
- export { PlatformService };
81
+ export { PlatformService, PlatformSwipeDirective };
36
82
  //# sourceMappingURL=ng-vagabond-lab-ng-dsv-platform.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ng-vagabond-lab-ng-dsv-platform.mjs","sources":["../../../projects/ng-dsv/platform/service/platform.service.ts","../../../projects/ng-dsv/platform/ng-vagabond-lab-ng-dsv-platform.ts"],"sourcesContent":["import { isPlatformBrowser } from '@angular/common';\nimport { computed, inject, Injectable, PLATFORM_ID, signal } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { fromEvent, map, startWith } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PlatformService {\n readonly platformId = inject(PLATFORM_ID);\n\n width = this.isPlatformBrowser()\n ? toSignal(\n fromEvent(globalThis, 'resize').pipe(\n startWith(null),\n map(() => globalThis.innerWidth),\n ),\n { initialValue: globalThis.innerWidth },\n )\n : signal(1024);\n\n isMobile = computed(() => this.width() < 768);\n isTablet = computed(() => this.width() >= 768 && this.width() < 1024);\n isDesktop = computed(() => this.width() >= 1024);\n\n isPlatformBrowser(): boolean {\n return isPlatformBrowser(this.platformId);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAQa,eAAe,CAAA;AACf,IAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAEzC,IAAA,KAAK,GAAG,IAAI,CAAC,iBAAiB;AAC1B,UAAE,QAAQ,CACJ,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,IAAI,CAChC,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,CACnC,EACD,EAAE,YAAY,EAAE,UAAU,CAAC,UAAU,EAAE;AAE7C,UAAE,MAAM,CAAC,IAAI,CAAC;IAElB,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG;iFAAC;AAC7C,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI;iFAAC;IACrE,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI;kFAAC;IAEhD,iBAAiB,GAAA;AACb,QAAA,OAAO,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC;IAC7C;uGAnBS,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAf,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFZ,MAAM,EAAA,CAAA;;2FAET,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;;ACPD;;AAEG;;"}
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-platform.mjs","sources":["../../../projects/ng-dsv/platform/directive/platform.swipe.directive.ts","../../../projects/ng-dsv/platform/service/platform.service.ts","../../../projects/ng-dsv/platform/ng-vagabond-lab-ng-dsv-platform.ts"],"sourcesContent":["import { Directive, ElementRef, inject, output, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[appSwipe]',\n standalone: true,\n})\nexport class PlatformSwipeDirective {\n private el = inject(ElementRef);\n private renderer = inject(Renderer2);\n\n readonly swipeLeft = output<void>();\n readonly swipeRight = output<void>();\n\n private startX = 0;\n private startY = 0;\n\n private readonly threshold = 40;\n private readonly maxVerticalDelta = 50;\n\n constructor() {\n this.renderer.listen(this.el.nativeElement, 'touchstart', (e: TouchEvent) => {\n const touch = e.touches?.[0] ?? e.changedTouches?.[0];\n if (touch) {\n this.startX = touch.clientX;\n this.startY = touch.clientY;\n }\n });\n\n this.renderer.listen(this.el.nativeElement, 'touchend', (e: TouchEvent) => {\n const touch = e.changedTouches?.[0] ?? e.touches?.[0];\n if (!touch) return;\n\n const endX = touch.clientX;\n const endY = touch.clientY;\n\n const deltaX = endX - this.startX;\n const deltaY = Math.abs(endY - this.startY);\n\n if (deltaY <= this.maxVerticalDelta) {\n if (deltaX <= -this.threshold) {\n this.swipeLeft.emit();\n } else if (deltaX >= this.threshold) {\n this.swipeRight.emit();\n }\n }\n });\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { computed, inject, Injectable, PLATFORM_ID, signal } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { fromEvent, map, startWith } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PlatformService {\n readonly platformId = inject(PLATFORM_ID);\n\n width = this.isPlatformBrowser()\n ? toSignal(\n fromEvent(globalThis, 'resize').pipe(\n startWith(null),\n map(() => globalThis.innerWidth),\n ),\n { initialValue: globalThis.innerWidth },\n )\n : signal(1024);\n\n isMobile = computed(() => this.width() < 768);\n isTablet = computed(() => this.width() >= 768 && this.width() < 1024);\n isDesktop = computed(() => this.width() >= 1024);\n\n isPlatformBrowser(): boolean {\n return isPlatformBrowser(this.platformId);\n }\n}\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.2.55",
3
+ "version": "0.2.56",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.0.0",
6
6
  "@angular/core": "^20.0.0"
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-date.d.ts","sources":["../../../projects/ng-dsv/date/pipe/date-format.pipe.ts","../../../projects/ng-dsv/date/utils/date.utils.ts"],"mappings":";;;AAGA,cAIa,cAAe,YAAW,aAAa;AAChD;yCADS,cAAc;uCAAd,cAAc;AAI1B;;ACXD,cAAa,UAAU,mBACH,IAAI;AAiCxB,iBAAgB,gBAAgB;AAKhC,iBAAgB,aAAa;;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-accordion.d.ts","sources":["../../../projects/ng-dsv/ds/accordion/component/accordion.component.ts"],"mappings":";;AAGA,cASa,qBAAqB;mBACjB,aAAA,CAAA,WAAA;wBACK,aAAA,CAAA,WAAA;oBACJ,aAAA,CAAA,WAAA;mBAED,aAAA,CAAA,cAAA;qBACE,aAAA,CAAA,cAAA;yBACI,aAAA,CAAA,cAAA;;AAgBnB;oDAvBS,qBAAqB;sDAArB,qBAAqB;AA0BjC;;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-avatar.d.ts","sources":["../../../projects/ng-dsv/ds/avatar/component/avatar.component.ts"],"mappings":";;;AAIA,cAUa,kBAAmB,SAAQ,qBAAqB;qBAC1C,aAAA,CAAA,WAAA;uBACE,aAAA,CAAA,gBAAA;2BAEI,aAAA,CAAA,cAAA;sBACL,aAAA,CAAA,cAAA;yBACG,aAAA,CAAA,cAAA;;AAWnB;AAMA;oDAvBS,kBAAkB;sDAAlB,kBAAkB;AA0B9B;;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-card.d.ts","sources":["../../../projects/ng-dsv/ds/card/component/action/card-action.component.ts","../../../projects/ng-dsv/ds/card/component/card.component.ts","../../../projects/ng-dsv/ds/card/component/header/card-header.component.ts","../../../projects/ng-dsv/ds/card/component/img/card-img.component.ts"],"mappings":";;AAEA,cAMa,sBAAsB;yCAAtB,sBAAsB;2CAAtB,sBAAsB;AAAG;;ACLtC,cAUa,gBAAgB;qBACVA,EAAA,CAAA,WAAA;yCADN,gBAAgB;2CAAhB,gBAAgB;AAE5B;;ACbD,cAMa,sBAAsB;yCAAtB,sBAAsB;2CAAtB,sBAAsB;AAAG;;ACNtC,cAMa,mBAAmB;kBAChBA,EAAA,CAAA,WAAA;kBACAA,EAAA,CAAA,WAAA;yCAFH,mBAAmB;2CAAnB,mBAAmB;AAG/B;;","names":["_angular_core"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-file.d.ts","sources":["../../../projects/ng-dsv/ds/file/show/component/file-show.component.ts","../../../projects/ng-dsv/ds/file/upload/component/file-upload.component.ts","../../../projects/ng-dsv/ds/file/upload/container/file-upload.container.ts","../../../projects/ng-dsv/ds/file/upload/directive/file-upload-directives.ts"],"mappings":";;;AAEA,cAIa,oBAAoB;kBACjB,aAAA,CAAA,WAAA;kBACA,aAAA,CAAA,WAAA;kBACA,aAAA,CAAA,WAAA;sBAEI,aAAA,CAAA,MAAA;oDALP,oBAAoB;sDAApB,oBAAoB;AAMhC;;ACTD,cAMa,sBAAsB;uBACd,aAAA,CAAA,WAAA;uBACA,aAAA,CAAA,WAAA;qBACF,aAAA,CAAA,WAAA;8BACS,aAAA,CAAA,WAAA;2BAEH,aAAA,CAAA,gBAAA,CAAA,QAAA;uBAEJ,aAAA,CAAA,MAAA,CAAA,UAAA;mBAEJ,aAAA,CAAA,cAAA;AAEb,oBAAgB,QAAQ;AASxB,0BAAsB,SAAS;oDArBtB,sBAAsB;sDAAtB,sBAAsB;AA+BlC;;ACpCD,cAMa,mBAAmB;AAC5B;AAEA,wBAAyB,aAAA,CAAA,WAAA;AACzB,oBAAqB,aAAA,CAAA,WAAA;AAErB,iCAA2B,aAAA,CAAA,gBAAA;AAE3B;AAEA,oBAAgB,QAAQ;oDAVf,mBAAmB;sDAAnB,mBAAmB;AA0B/B;;AClCD,cAWa,mBAAmB;0BACR,aAAA,CAAA,WAAA;sBAEJ,aAAA,CAAA,gBAAA,CAAA,SAAA;6BAEO,aAAA,CAAA,cAAA;AAEvB;AAKA,sBAAkB,SAAS;AAM3B,qBAAiB,SAAS;AAM1B,kBAAc,SAAS;AAMvB;oDA9BS,mBAAmB;sDAAnB,mBAAmB;AAkC/B;;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-form-reactive.d.ts","sources":["../../../projects/ng-dsv/ds/form/reactive/checkbox/component/form-reactive-checkbox.component.ts","../../../projects/ng-dsv/ds/form/reactive/form/base/base-form.component.ts","../../../projects/ng-dsv/ds/form/reactive/form/component/form-reactive.component.ts","../../../projects/ng-dsv/ds/form/reactive/input/component/form-reactive-input.component.ts","../../../projects/ng-dsv/ds/form/reactive/searchbar/component/form-reactive-searchbar.component.ts","../../../projects/ng-dsv/ds/form/reactive/select/component/form-reactive-select.component.ts"],"mappings":";;;;;;AAIA,cASa,gCAAgC;mBAC5B,aAAA,CAAA,WAAA,CAAA,SAAA;oBACC,aAAA,CAAA,WAAA;wBACI,aAAA,CAAA,WAAA;6BAEK,aAAA,CAAA,gBAAA;AAEvB;oDAPS,gCAAgC;sDAAhC,gCAAgC;AAU5C;;ACpBD,uBACsB,4BAA4B;AAC9C,oCAA8B,WAAA;AAC9B,oBAAiB,SAAS;oDAFR,4BAA4B;sDAA5B,4BAA4B;AAGjD;;ACCD,cAMa,wBAAwB;2BACZ,YAAA;mBAER,aAAA,CAAA,WAAA,CAAA,SAAA;sBAEG,aAAA,CAAA,WAAA;wBACE,aAAA,CAAA,WAAA;wBACA,aAAA,CAAA,WAAA;uBAED,aAAA,CAAA,gBAAA,CAAA,MAAA;AAEjB;oDAXS,wBAAwB;sDAAxB,wBAAwB;AA2BpC;;ACnCD,cAMa,6BAA6B;mBACzB,aAAA,CAAA,WAAA,CAAA,SAAA;oBACC,aAAA,CAAA,WAAA;mBACD,aAAA,CAAA,WAAA,CAAA,UAAA;wBACK,aAAA,CAAA,WAAA;uBACD,aAAA,CAAA,WAAA;mBACJ,aAAA,CAAA,WAAA;2BAEQ,aAAA,CAAA,gBAAA;sBAEH,KAAK;AAOvB;oDAjBS,6BAA6B;sDAA7B,6BAA6B;AAoBzC;;ACzBD,cAMa,iCAAkC,SAAQ,4BAA4B;qBAChE,aAAA,CAAA,WAAA;6BACQ,aAAA,CAAA,gBAAA;;AAWvB;oDAbS,iCAAiC;sDAAjC,iCAAiC;AAgB7C;;ACvBD,cASa,2BAA2B;mBACvB,aAAA,CAAA,WAAA,CAAA,SAAA;oBACC,aAAA,CAAA,WAAA;wBACI,aAAA,CAAA,WAAA;AAElB,mBAAa,aAAA,CAAA,WAAA,EAAA,MAAA;;AAA4C;6BAElC,aAAA,CAAA,gBAAA;AAEvB;oDATS,2BAA2B;sDAA3B,2BAA2B;AAYvC;;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-form-signal.d.ts","sources":["../../../projects/ng-dsv/ds/form/signal/form/base/input/base-form-signal-input.component.ts","../../../projects/ng-dsv/ds/form/signal/checkbox/component/form-signal-checkbox.component.ts","../../../projects/ng-dsv/ds/form/signal/error/component/form-signal-error.component.ts","../../../projects/ng-dsv/ds/form/signal/form/component/form-signal.component.ts","../../../projects/ng-dsv/ds/form/signal/input/component/form-signal-input.component.ts","../../../projects/ng-dsv/ds/form/signal/label/component/form-signal-label.component.ts","../../../projects/ng-dsv/ds/form/signal/form/base/base-form-signal.component.ts","../../../projects/ng-dsv/ds/form/signal/searchbar/component/form-signal-searchbar.component.ts","../../../projects/ng-dsv/ds/form/signal/select/component/form-signal-select.component.ts","../../../projects/ng-dsv/ds/form/signal/utils/form-signal.utils.ts"],"mappings":";;;;;;;AAGA,uBACsB,+BAA+B;mBACpC,aAAA,CAAA,WAAA,CAAA,SAAA;wBACK,aAAA,CAAA,WAAA;oBACJ,aAAA,CAAA,WAAA;wBACI,aAAA,CAAA,WAAA;0BACE,aAAA,CAAA,WAAA;uBACH,aAAA,CAAA,WAAA;oBACH,aAAA,CAAA,WAAA;sBAEE,aAAA,CAAA,cAAA;2BAEK,aAAA,CAAA,gBAAA;6BACE,aAAA,CAAA,gBAAA;;AASvB;iBAIa,SAAS;AAOtB;AAIA;;oDApCkB,+BAA+B;sDAA/B,+BAA+B;AAiDpD;;AChDD,cASa,8BAA8B,YAAY,+BAA+B;wBAC9D,SAAS;oDADpB,8BAA8B;sDAA9B,8BAA8B;AAO1C;;ACjBD,cASa,wBAAwB;AACjC,YAAM,aAAA,CAAA,WAAA,CAAA,eAAA;AACN,eAAS,aAAA,CAAA,WAAA;AAET,WAAK,aAAA,CAAA,cAAA;;oDAJI,wBAAwB;sDAAxB,wBAAwB;AAyCpC;;AC7CD,cAMa,sBAAsB;2BACV,YAAA;mBAER,aAAA,CAAA,WAAA,CAAA,SAAA;sBAEG,aAAA,CAAA,WAAA;wBACE,aAAA,CAAA,WAAA;wBACA,aAAA,CAAA,WAAA;2BAEG,aAAA,CAAA,gBAAA;uBACJ,aAAA,CAAA,gBAAA,CAAA,MAAA;6BAEM,aAAA,CAAA,MAAA;AAEvB,oBAAgB,KAAK;oDAdZ,sBAAsB;sDAAtB,sBAAsB;AAgClC;;ACxCD,cAMa,2BAA2B,YAAY,+BAA+B;mBAClE,aAAA,CAAA,WAAA,CAAA,UAAA;mBACA,aAAA,CAAA,WAAA;wBACK,aAAA,CAAA,WAAA;oDAHT,2BAA2B;sDAA3B,2BAA2B;AAIvC;;ACdD,cAKa,2BAA2B;oBACtB,aAAA,CAAA,WAAA;mBACD,aAAA,CAAA,WAAA;qBACE,aAAA,CAAA,WAAA,CAAA,UAAA;mBACF,aAAA,CAAA,WAAA;yBAEM,aAAA,CAAA,cAAA;;oDANV,2BAA2B;sDAA3B,2BAA2B;AAavC;;ACnBD,uBACsB,0BAA0B;oDAA1B,0BAA0B;sDAA1B,0BAA0B;AAAG;;ACEnD,cAMa,+BAAgC,SAAQ,0BAA0B;qBAC5D,aAAA,CAAA,WAAA;6BACQ,aAAA,CAAA,gBAAA;AAEvB,mBAAa,sBAAA,CAAA,SAAA;;AAA2C;;AASxD;oDAbS,+BAA+B;sDAA/B,+BAA+B;AAgB3C;;ACpBD,cASa,4BAA4B,YAAY,+BAA+B;uBAC/D,aAAA,CAAA,WAAA;AACjB,mBAAa,aAAA,CAAA,WAAA,EAAA,MAAA;;AAA4C;oDAFhD,4BAA4B;sDAA5B,4BAA4B;AAGxC;;ACjBD,cAAa,YAAY,UAAW,iBAAiB;;AAA+B;;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-header.d.ts","sources":["../../../projects/ng-dsv/ds/header/component/header.component.ts"],"mappings":";;;AAKA,cAMa,kBAAkB;0BACP,WAAA;kBAER,aAAA,CAAA,WAAA;wBACM,aAAA,CAAA,WAAA;uBACD,aAAA,CAAA,WAAA;6BAEM,aAAA,CAAA,MAAA;AAEvB;oDATS,kBAAkB;sDAAlB,kBAAkB;AAY9B;;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-img.d.ts","sources":["../../../projects/ng-dsv/ds/img/component/img.component.ts"],"mappings":";;AAGA,cAMa,eAAe;kBACZ,aAAA,CAAA,WAAA;kBACA,aAAA,CAAA,WAAA;oBACE,aAAA,CAAA,WAAA;oBAEA,aAAA,CAAA,WAAA;qBACC,aAAA,CAAA,WAAA;mBAEF,aAAA,CAAA,cAAA;oBACC,aAAA,CAAA,cAAA;0BAEM,aAAA,CAAA,MAAA;AAEpB;AAIA;oDAjBS,eAAe;sDAAf,eAAe;AAoB3B;;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-linear-progress.d.ts","sources":["../../../projects/ng-dsv/ds/linear-progress/component/linear-progress.component.ts"],"mappings":";;AAEA,cAKa,uBAAuB;mBACnB,aAAA,CAAA,WAAA;oBACC,aAAA,CAAA,WAAA;4BACQ,aAAA,CAAA,WAAA;oDAHb,uBAAuB;sDAAvB,uBAAuB;AAInC;;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-link-pipe.d.ts","sources":["../../../projects/ng-dsv/ds/link/pipe/clickable/link.clickable.pipe.ts","../../../projects/ng-dsv/ds/link/pipe/youtube/link.youtube.pipe.ts"],"mappings":";;;;AAKA,cAIa,iBAAkB,YAAW,aAAa;wBACjC,YAAA;iDAE2B,QAAQ;yCAH5C,iBAAiB;uCAAjB,iBAAiB;AAc7B;;ACjBD,cAIa,eAAgB,YAAW,aAAa;wBAC/B,YAAA;+CAEyB,eAAe;yCAHjD,eAAe;uCAAf,eAAe;AAU3B;;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-list.d.ts","sources":["../../../projects/ng-dsv/ds/list/item/component/drag/list-item-drag.component.ts","../../../projects/ng-dsv/ds/list/list/dto/list.dto.ts","../../../projects/ng-dsv/ds/list/list/service/list-drag.service.ts","../../../projects/ng-dsv/ds/list/item/component/list-item.component.ts","../../../projects/ng-dsv/ds/list/list/component/list.component.ts"],"mappings":";;;;AAKA,cAMa,wBAAwB;8BACT,eAAA;sBAERA,EAAA,CAAA,WAAA,CAAA,iBAAA;AAEhB,6BAAyB,UAAU;AAOnC;yCAZS,wBAAwB;2CAAxB,wBAAwB;AAepC;;UC1BgB,eAAe;;;AAG/B;;ACDD,cACa,eAAe;2BACHA,EAAA,CAAA,cAAA;4BACCA,EAAA,CAAA,cAAA;yCAFb,eAAe;;AAG3B;;ACFD,cAMa,oBAAoB;8BACL,eAAA;oBAEVA,EAAA,CAAA,WAAA;4BAEQA,EAAA,CAAA,gBAAA,CAAA,eAAA;oBAERA,EAAA,CAAA,MAAA,CAAA,UAAA;AACd,aAAS,WAAW;AAEpB,6BAAyB,UAAU;sCAOD,SAAS;AAK3C,sBAAkB,SAAS;uCAKQ,SAAS;AAa5C;AAIA,wBAAoB,UAAU;AA4B9B,uBAAmB,UAAU;AAsB7B,sBAAkB,UAAU;yCA9FnB,oBAAoB;2CAApB,oBAAoB;AAyHhC;;ACjID,cAMa,gBAAgB;yCAAhB,gBAAgB;2CAAhB,gBAAgB;AAAG;;","names":["_angular_core"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-markdown.d.ts","sources":["../../../projects/ng-dsv/ds/markdown/container/markdown.container.ts"],"mappings":";;;AAIA,cAMa,oBAAoB;4BACP,aAAA;mBAETA,EAAA,CAAA,WAAA;AAEb,uBAAmB,UAAU,GAAG,aAAa;yCALpC,oBAAoB;2CAApB,oBAAoB;AAkBhC;;","names":["_angular_core"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-paginate.d.ts","sources":["../../../projects/ng-dsv/ds/paginate/component/paginate.component.ts"],"mappings":";;AAGA,cAMa,oBAAoB;mBAChB,aAAA,CAAA,WAAA;kBACD,aAAA,CAAA,WAAA;uBAEK,aAAA,CAAA,gBAAA;AAEjB;oDANS,oBAAoB;sDAApB,oBAAoB;AAShC;;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-skeleton.d.ts","sources":["../../../projects/ng-dsv/ds/skeleton/component/skeleton.component.ts"],"mappings":";;AAEA,cAMa,qBAAqB;yCAArB,qBAAqB;2CAArB,qBAAqB;AAAG;;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-tab.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"],"mappings":";;;;UAAiB,MAAM;;;;AAItB;;ACCD,cAMa,eAAe;kBACZ,aAAA,CAAA,WAAA,CAAA,MAAA;yBACO,aAAA,CAAA,WAAA;uBAEF,aAAA,CAAA,gBAAA,CAAA,MAAA;yBAEE,UAAA;mBAEJ,KAAK,OAAO,MAAM;oDARxB,eAAe;sDAAf,eAAe;AAc3B;;ACpBD,cAMa,gBAAgB;iCACE,kBAAA;mBAEd,aAAA,CAAA,WAAA,CAAA,MAAA;qBACE,aAAA,CAAA,WAAA;uBAEE,aAAA,CAAA,gBAAA,CAAA,MAAA;wBAEC,aAAA,CAAA,MAAA,CAAA,UAAA;4BACI,aAAA,CAAA,MAAA,UAAA,eAAA;;AAkCtB,iBAAa,MAAM;oDA3CV,gBAAgB;sDAAhB,gBAAgB;AA8C5B;;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-table.d.ts","sources":["../../../projects/ng-dsv/ds/table/dto/table.dto.ts","../../../projects/ng-dsv/ds/table/component/table.component.ts","../../../projects/ng-dsv/ds/table/utils/table.utils.ts"],"mappings":";;;UAAiB,QAAQ;;;;;;AAMxB;;ACED,cAMa,iBAAiB;kBACd,aAAA,CAAA,WAAA;oBACE,aAAA,CAAA,WAAA,CAAA,QAAA;oBACA,aAAA,CAAA,WAAA,CAAA,UAAA;kBACF,aAAA,CAAA,WAAA;wBAEM,aAAA,CAAA,cAAA;oBACJ,aAAA,CAAA,cAAA;;oDAPL,iBAAiB;sDAAjB,iBAAiB;AA2B7B;;ACtCD,cAAa,SAAS,UACX,UAAU;;AAED;AAAU,qBAAa,SAAS;AAAE,QAAG,UAAU,KAAK,MAAM;;AAoB9E,cAAa,QAAQ,QAAS,UAAU;;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-tooltip.d.ts","sources":["../../../projects/ng-dsv/ds/tooltip/dto/tooltip.dto.ts","../../../projects/ng-dsv/ds/tooltip/component/tooltip.component.ts","../../../projects/ng-dsv/ds/tooltip/utils/tooltip.utils.ts"],"mappings":";;;AAAM,KAAM,eAAe;AAE3B,aAAY,mBAAmB;AAC3B;AACA;AACA;AACA;AACH;;ACJD,cAWa,mBAAmB;mBACf,aAAA,CAAA,WAAA;uBACI,aAAA,CAAA,WAAA,CAAA,eAAA;yBAEE,aAAA,CAAA,MAAA,CAAA,UAAA;sBAEH,aAAA,CAAA,cAAA;sBACA,aAAA,CAAA,cAAA;4BAEM,aAAA,CAAA,cAAA,CAAA,eAAA;AAEtB;AAIA;AAKA;AAKA;oDAzBS,mBAAmB;sDAAnB,mBAAmB;AAmC/B;;AC/CD,cAAa,gBAAgB;AAC7B,cAAa,mBAAmB;AAChC,cAAa,iBAAiB;AAC9B,cAAa,kBAAkB;AAE/B,cAAa,kBAAkB,aACjB,eAAe,QACnB,OAAO,KACd,mBAAmB,GAAG,eAiBxB;;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-module-admin.d.ts","sources":["../../../projects/ng-dsv/module/admin/dto/admin.dto.ts","../../../projects/ng-dsv/module/admin/component/form/admin-form.component.ts","../../../projects/ng-dsv/module/admin/service/admin.service.ts","../../../projects/ng-dsv/module/admin/component/modal/admin-search-modal.component.ts","../../../projects/ng-dsv/module/admin/container/form/admin-form.container.ts","../../../projects/ng-dsv/module/admin/container/search/admin-search.container.ts","../../../projects/ng-dsv/module/admin/dto/admin-default.dto.ts"],"mappings":";;;;;;;;;UAEiB,aAAa;;;;;;AAM7B;UAEgB,YAAY;;;;;;;;;;;;;;AAc5B;AAEK,UAAW,OAAQ,SAAQ,YAAY;;;;;;UAMnC,aAAa;;AAEtB;UAEgB,WAAW;;;;;AAKxB;WACO,QAAQ;UACT,OAAO;AAChB;UACgB,eAAe;;UAEtB,WAAW;AACpB;;ACnCD,cAaa,kBAAmB,SAAQ,4BAA4B;sBAChD,aAAA,CAAA,WAAA;mBACH,aAAA,CAAA,WAAA,CAAA,MAAA;uBACI,aAAA,CAAA,WAAA,CAAA,OAAA;uBAEA,aAAA,CAAA,gBAAA,CAAA,MAAA;;AAuBjB,mBAAe,MAAM;oCAWY,EAAE;uCAMxB,MAAM;oDA7CR,kBAAkB;sDAAlB,kBAAkB;AAmD9B;;ACzED,cAGa,YAAY;yBACF,UAAA;mBAEN,aAAA,CAAA,cAAA,CAAA,eAAA;oBAEC,aAAA,CAAA,cAAA,CAAA,MAAA,SAAA,WAAA,CAAA,MAAA;mBACD,aAAA,CAAA,cAAA,CAAA,MAAA;mBAEA,aAAA,CAAA,cAAA,CAAA,MAAA;qBACE,aAAA,CAAA,cAAA,CAAA,MAAA;AAEf,yGAMsB,WAAW,CAAC,MAAM;iCAsBX,MAAM;gCAOP,MAAM;;oDA9CzB,YAAY;;AA2DxB;;ACzDD,cAWa,yBAA0B,SAAQ,aAAa;2BACnC,YAAA;2BACA,YAAA;mBAER,aAAA,CAAA,WAAA,CAAA,aAAA;qBAEE,aAAA,CAAA,cAAA;oBACD,aAAA,CAAA,cAAA,CAAA,MAAA;uBAEG,aAAA,CAAA,gBAAA,CAAA,MAAA;;mBAqBF,MAAM;AAIrB;AAIA,sBAAmB,MAAM;oDAtChB,yBAAyB;sDAAzB,yBAAyB;AA0CrC;;ACpDD,cAMa,kBAAmB,SAAQ,kBAAkB;2BACjC,YAAA;8BACG,eAAA;mBAEX,aAAA,CAAA,cAAA,CAAA,MAAA;kBACD,aAAA,CAAA,cAAA;wBACM,aAAA,CAAA,cAAA,CAAA,WAAA;;AAmBlB;AAIA,mBAAe,MAAM;oDA7BZ,kBAAkB;sDAAlB,kBAAkB;AAwC9B;;AC3CD,cAca,oBAAqB,SAAQ,kBAAkB;2BACnC,YAAA;8BACG,eAAA;mBAEX,aAAA,CAAA,cAAA,CAAA,MAAA;kBACD,aAAA,CAAA,cAAA;wBACM,aAAA,CAAA,cAAA,CAAA,WAAA;mBAEL,aAAA,CAAA,cAAA,CAAA,MAAA;;;oDARJ,oBAAoB;sDAApB,oBAAoB;AAoDhC;;AC7ED,cAAa,SAAS;;;;;;;;;;;;;AAKtB,cAAa,iBAAiB;;;;;;;AAQ9B,cAAa,WAAW;;;;;;;;;;;;;;;AAyBxB,cAAa,UAAU,EAAE,WAAW;AAqEpC,cAAa,aAAa,EAAE,WAAW;;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-module-contact.d.ts","sources":["../../../projects/ng-dsv/module/contact/component/contact.component.ts"],"mappings":";;AAOA,cAMa,gBAAgB;2BACJA,EAAA,CAAA,WAAA;yCADZ,gBAAgB;2CAAhB,gBAAgB;AAE5B;;","names":["_angular_core"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-module-news.d.ts","sources":["../../../projects/ng-dsv/module/news/dto/news.dto.ts","../../../projects/ng-dsv/module/news/component/card/resume/news-card-resume.component.ts","../../../projects/ng-dsv/module/news/route/news.route.ts"],"mappings":";;;;UAEiB,OAAO;;;;;;;;;;UAUd,OAAO;AAChB;;ACJD,cAaa,uBAAuB;mBACnBA,EAAA,CAAA,WAAA,CAAA,OAAA;yCADJ,uBAAuB;2CAAvB,uBAAuB;AAEnC;;ACrBD,cAAa,SAAS,EAAE,MAmBvB;;","names":["_angular_core"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-module-notification.d.ts","sources":["../../../projects/ng-dsv/module/notification/dto/notification.dto.ts","../../../projects/ng-dsv/module/notification/component/notification.component.ts","../../../projects/ng-dsv/module/notification/service/notification-search.service.ts","../../../projects/ng-dsv/module/notification/service/notification.service.ts","../../../projects/ng-dsv/module/notification/container/button/notification-button.container.ts","../../../projects/ng-dsv/module/notification/container/notification.container.ts","../../../projects/ng-dsv/module/notification/route/notification.route.ts"],"mappings":";;;;;;;;;;AAGM,UAAW,eAAgB,SAAQ,MAAM;;;;;;;;;UAarC,OAAO;;AAEhB;;ACVD,cAMa,qBAAqB;2BACTA,EAAA,CAAA,WAAA,CAAA,eAAA;uBACJA,EAAA,CAAA,WAAA;uBAEAA,EAAA,CAAA,gBAAA,CAAA,eAAA;0BAEGA,EAAA,CAAA,MAAA,CAAA,UAAA;kBAERA,EAAA,CAAA,cAAA;AAEZ,uBAAiB,sBAAA,CAAA,SAAA;;AAIf;;AAiBF;yCA/BS,qBAAqB;2CAArB,qBAAqB;AAkCjC;;AC5CD,cACa,yBAA0B,SAAQ,iBAAiB,CAAC,eAAe;4BACtDA,EAAA,CAAA,cAAA,CAAA,eAAA;AAEb;yCAHA,yBAAyB;;AAMrC;;ACJD,cACa,mBAAoB,SAAQ,cAAc;wCACjB,yBAAA;4BACZ,aAAA;qBAEPA,EAAA,CAAA,cAAA;AAEf;AAYA;AAOA,mCAA+B,eAAe;yCAzBrC,mBAAmB;;AA8B/B;;AC/BD,cAMa,2BAA2B;0BAChB,WAAA;kCACQ,mBAAA;qBAEbA,EAAA,CAAA,cAAA;;yCAJN,2BAA2B;2CAA3B,2BAA2B;AAkBvC;;ACpBD,cAaa,qBAAsB,SAAQ,mBAAmB,CAAC,yBAAyB,EAAE,eAAe;AAGlF,+BAA2B,yBAAyB;kCAF3C,mBAAA;AAET,2CAA2B,yBAAyB;AAKvE,wBAAoB,eAAe;AAKnC;yCAbS,qBAAqB;2CAArB,qBAAqB;AAoBjC;;AC1CD,cAAa,iBAAiB,EAAE,MAM/B;;","names":["_angular_core"]}
@@ -1,5 +1,19 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
 
3
+ declare class PlatformSwipeDirective {
4
+ private el;
5
+ private renderer;
6
+ readonly swipeLeft: _angular_core.OutputEmitterRef<void>;
7
+ readonly swipeRight: _angular_core.OutputEmitterRef<void>;
8
+ private startX;
9
+ private startY;
10
+ private readonly threshold;
11
+ private readonly maxVerticalDelta;
12
+ constructor();
13
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PlatformSwipeDirective, never>;
14
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PlatformSwipeDirective, "[appSwipe]", never, {}, { "swipeLeft": "swipeLeft"; "swipeRight": "swipeRight"; }, never, never, true, never>;
15
+ }
16
+
3
17
  declare class PlatformService {
4
18
  readonly platformId: Object;
5
19
  width: _angular_core.Signal<number>;
@@ -11,4 +25,4 @@ declare class PlatformService {
11
25
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
12
26
  }
13
27
 
14
- export { PlatformService };
28
+ export { PlatformService, PlatformSwipeDirective };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-template.d.ts","sources":["../../../projects/ng-dsv/template/menu/dto/menu.dto.ts","../../../projects/ng-dsv/template/menu/slot/menu.slot.ts","../../../projects/ng-dsv/template/menu/container/menu.container.ts","../../../projects/ng-dsv/template/access-denied/component/access-denied.component.ts","../../../projects/ng-dsv/template/footer/component/footer.component.ts","../../../projects/ng-dsv/template/not-found/component/not-found.component.ts"],"mappings":";;;;;;;UAAiB,OAAO;AACpB;;;;;;AAMC;AACJ;;ACND,cACa,iBAAiB;uBACT,WAAA;uBAEAA,EAAA,CAAA,WAAA;yCAHR,iBAAiB;2CAAjB,iBAAiB;AAI7B;;ACKD,cAYa,aAAa;0BACF,WAAA;4BACE,aAAA;0BACF,WAAA;0BACA,WAAA;oBAENA,EAAA,CAAA,MAAA,UAAA,iBAAA;mBAEDA,EAAA,CAAA,WAAA,CAAA,OAAA;yBAEQ,WAAW;AAIhC;yCAdS,aAAa;2CAAb,aAAa;AAiBzB;;ACpCD,cAMa,qBAAqB;2BACTA,EAAA,CAAA,WAAA;yCADZ,qBAAqB;2CAArB,qBAAqB;AAEjC;;ACTD,cAMa,eAAe;2BACHA,EAAA,CAAA,WAAA;wBAEHA,EAAA,CAAA,WAAA;2BACGA,EAAA,CAAA,WAAA;oBACPA,EAAA,CAAA,WAAA;yCALL,eAAe;2CAAf,eAAe;AAM3B;;ACTD,cAMa,iBAAiB;2BACLA,EAAA,CAAA,WAAA;yCADZ,iBAAiB;2CAAjB,iBAAiB;AAE7B;;","names":["_angular_core"]}