@ng-vagabond-lab/ng-dsv 0.0.73 → 0.0.74
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/ds/form/index.d.ts +30 -3
- package/ds/paginate/index.d.ts +13 -0
- package/ds/tab/index.d.ts +24 -0
- package/ds/table/index.d.ts +26 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form.mjs +43 -7
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-paginate.mjs +28 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-paginate.mjs.map +1 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-tab.mjs +36 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-tab.mjs.map +1 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-table.mjs +81 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-table.mjs.map +1 -0
- package/package.json +17 -5
package/ds/form/index.d.ts
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
|
-
import { FormBuilder, FormGroup } from '@angular/forms';
|
|
2
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { FormGroup, FormBuilder } from '@angular/forms';
|
|
3
|
+
import { ApiDto } from '@ng-vagabond-lab/ng-dsv/api';
|
|
4
|
+
|
|
5
|
+
declare class FormCheckboxComponent {
|
|
6
|
+
form: _angular_core.InputSignal<FormGroup<any>>;
|
|
7
|
+
field: _angular_core.InputSignal<string>;
|
|
8
|
+
withLabel: _angular_core.InputSignal<boolean>;
|
|
9
|
+
list: _angular_core.InputSignal<(ApiDto & {
|
|
10
|
+
name: string;
|
|
11
|
+
})[]>;
|
|
12
|
+
change: _angular_core.OutputEmitterRef<string>;
|
|
13
|
+
doChange(): void;
|
|
14
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormCheckboxComponent, never>;
|
|
15
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormCheckboxComponent, "dsv-form-checkbox", never, { "form": { "alias": "form"; "required": true; "isSignal": true; }; "field": { "alias": "field"; "required": true; "isSignal": true; }; "withLabel": { "alias": "withLabel"; "required": false; "isSignal": true; }; "list": { "alias": "list"; "required": false; "isSignal": true; }; }, { "change": "change"; }, never, never, true, never>;
|
|
16
|
+
}
|
|
3
17
|
|
|
4
18
|
declare abstract class BaseFormComponent {
|
|
5
19
|
protected readonly formBuilder: FormBuilder;
|
|
@@ -25,7 +39,7 @@ declare class FormInputComponent {
|
|
|
25
39
|
onSend: _angular_core.OutputEmitterRef<string>;
|
|
26
40
|
onEnter(): void;
|
|
27
41
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormInputComponent, never>;
|
|
28
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormInputComponent, "form-input", never, { "form": { "alias": "form"; "required": true; "isSignal": true; }; "field": { "alias": "field"; "required": true; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "withLabel": { "alias": "withLabel"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, { "onSend": "onSend"; }, never, never, true, never>;
|
|
42
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormInputComponent, "dsv-form-input", never, { "form": { "alias": "form"; "required": true; "isSignal": true; }; "field": { "alias": "field"; "required": true; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "withLabel": { "alias": "withLabel"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, { "onSend": "onSend"; }, never, never, true, never>;
|
|
29
43
|
}
|
|
30
44
|
|
|
31
45
|
declare class SearchbarComponent extends BaseFormComponent {
|
|
@@ -37,4 +51,17 @@ declare class SearchbarComponent extends BaseFormComponent {
|
|
|
37
51
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SearchbarComponent, "form-searchbar", never, { "search": { "alias": "search"; "required": false; "isSignal": true; }; }, { "onSearch": "onSearch"; }, never, never, true, never>;
|
|
38
52
|
}
|
|
39
53
|
|
|
40
|
-
|
|
54
|
+
declare class SelectComponent {
|
|
55
|
+
form: _angular_core.InputSignal<FormGroup<any>>;
|
|
56
|
+
field: _angular_core.InputSignal<string>;
|
|
57
|
+
withLabel: _angular_core.InputSignal<boolean>;
|
|
58
|
+
list: _angular_core.InputSignal<(ApiDto & {
|
|
59
|
+
name: string;
|
|
60
|
+
})[]>;
|
|
61
|
+
change: _angular_core.OutputEmitterRef<string>;
|
|
62
|
+
doChange(): void;
|
|
63
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectComponent, never>;
|
|
64
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectComponent, "dsv-form-select", never, { "form": { "alias": "form"; "required": true; "isSignal": true; }; "field": { "alias": "field"; "required": true; "isSignal": true; }; "withLabel": { "alias": "withLabel"; "required": false; "isSignal": true; }; "list": { "alias": "list"; "required": false; "isSignal": true; }; }, { "change": "change"; }, never, never, true, never>;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export { BaseFormComponent, FormCheckboxComponent, FormComponent, FormInputComponent, SearchbarComponent, SelectComponent };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
declare class PaginateComponent {
|
|
4
|
+
page: _angular_core.InputSignal<number>;
|
|
5
|
+
max: _angular_core.InputSignal<number>;
|
|
6
|
+
nb: _angular_core.InputSignal<number>;
|
|
7
|
+
callback: _angular_core.OutputEmitterRef<number>;
|
|
8
|
+
gotoPage(page: number): void;
|
|
9
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PaginateComponent, never>;
|
|
10
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PaginateComponent, "app-paginate-component", never, { "page": { "alias": "page"; "required": true; "isSignal": true; }; "max": { "alias": "max"; "required": true; "isSignal": true; }; "nb": { "alias": "nb"; "required": true; "isSignal": true; }; }, { "callback": "callback"; }, never, never, true, never>;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export { PaginateComponent };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
interface TabDto {
|
|
4
|
+
id: string;
|
|
5
|
+
title: string;
|
|
6
|
+
url: string;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
declare class TabComponent {
|
|
10
|
+
tab: _angular_core.InputSignal<TabDto>;
|
|
11
|
+
isSelected: _angular_core.InputSignal<boolean>;
|
|
12
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabComponent, never>;
|
|
13
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabComponent, "app-tab-component", never, { "tab": { "alias": "tab"; "required": true; "isSignal": true; }; "isSelected": { "alias": "isSelected"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
declare class TabsComponent {
|
|
17
|
+
tabs: _angular_core.InputSignal<TabDto[]>;
|
|
18
|
+
active: _angular_core.InputSignal<string>;
|
|
19
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabsComponent, never>;
|
|
20
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabsComponent, "dsv-tabs-component", never, { "tabs": { "alias": "tabs"; "required": true; "isSignal": true; }; "active": { "alias": "active"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { TabComponent, TabsComponent };
|
|
24
|
+
export type { TabDto };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { JSONObject } from '@ng-vagabond-lab/ng-dsv/api';
|
|
3
|
+
|
|
4
|
+
interface TableDto {
|
|
5
|
+
name: string;
|
|
6
|
+
label: string;
|
|
7
|
+
date?: boolean;
|
|
8
|
+
order?: boolean;
|
|
9
|
+
width?: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
declare class TableComponent {
|
|
13
|
+
url: _angular_core.InputSignal<string>;
|
|
14
|
+
cells: _angular_core.InputSignal<TableDto[]>;
|
|
15
|
+
datas: _angular_core.InputSignal<JSONObject[]>;
|
|
16
|
+
max: _angular_core.InputSignal<number>;
|
|
17
|
+
showDatas: _angular_core.WritableSignal<string[][]>;
|
|
18
|
+
constructor();
|
|
19
|
+
getValue(obj: JSONObject, key: string, isDate: boolean): any;
|
|
20
|
+
formatDate(dateString: string): string;
|
|
21
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableComponent, never>;
|
|
22
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableComponent, "dsv-table", never, { "url": { "alias": "url"; "required": true; "isSignal": true; }; "cells": { "alias": "cells"; "required": true; "isSignal": true; }; "datas": { "alias": "datas"; "required": true; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export { TableComponent };
|
|
26
|
+
export type { TableDto };
|
|
@@ -1,7 +1,24 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { input, output, Component, inject, effect } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/forms';
|
|
4
|
-
import {
|
|
4
|
+
import { ReactiveFormsModule, FormBuilder } from '@angular/forms';
|
|
5
|
+
|
|
6
|
+
class FormCheckboxComponent {
|
|
7
|
+
form = input.required();
|
|
8
|
+
field = input.required();
|
|
9
|
+
withLabel = input(true);
|
|
10
|
+
list = input([]);
|
|
11
|
+
change = output();
|
|
12
|
+
doChange() {
|
|
13
|
+
this.change.emit(this.form().value[this.field()]);
|
|
14
|
+
}
|
|
15
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: FormCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", 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 }, 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 <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:25px;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 i{position:absolute;z-index:1000;color:#000;top:10px;left:5px}::ng-deep .dark .form-control{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{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"] }] });
|
|
17
|
+
}
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: FormCheckboxComponent, decorators: [{
|
|
19
|
+
type: Component,
|
|
20
|
+
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:25px;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 i{position:absolute;z-index:1000;color:#000;top:10px;left:5px}::ng-deep .dark .form-control{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{width:20px!important;height:20px!important}\n"] }]
|
|
21
|
+
}] });
|
|
5
22
|
|
|
6
23
|
class BaseFormComponent {
|
|
7
24
|
formBuilder = inject(FormBuilder);
|
|
@@ -47,11 +64,11 @@ class FormInputComponent {
|
|
|
47
64
|
this.onSend.emit(this.form().value[this.field()]);
|
|
48
65
|
}
|
|
49
66
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: FormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: FormInputComponent, isStandalone: true, selector: "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 }, 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() }}</label>\n }\n <input\n [type]=\"type()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [id]=\"field()\"\n (keydown.enter)=\"onEnter()\"\n />\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n</div>\n", styles: [":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:25px;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 i{position:absolute;z-index:1000;color:#000;top:10px;left:5px}\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"] }] });
|
|
67
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", 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 }, 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() }}</label>\n }\n <input\n [type]=\"type()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [id]=\"field()\"\n (keydown.enter)=\"onEnter()\"\n />\n @if (icon()) {\n <i [class]=\"icon()\"></i>\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}:host>div .form-control{display:block;width:calc(100% - 2rem);height:calc(1rem + 2px);padding:.5rem;padding-left:25px;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 i{position:absolute;z-index:1000;color:#000;top:10px;left:5px}::ng-deep .dark .form-control{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"] }] });
|
|
51
68
|
}
|
|
52
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: FormInputComponent, decorators: [{
|
|
53
70
|
type: Component,
|
|
54
|
-
args: [{ selector: 'form-input', imports: [ReactiveFormsModule], standalone: true, template: "<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }}</label>\n }\n <input\n [type]=\"type()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [id]=\"field()\"\n (keydown.enter)=\"onEnter()\"\n />\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n</div>\n", styles: [":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:25px;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 i{position:absolute;z-index:1000;color:#000;top:10px;left:5px}\n"] }]
|
|
71
|
+
args: [{ selector: 'dsv-form-input', imports: [ReactiveFormsModule], standalone: true, template: "<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }}</label>\n }\n <input\n [type]=\"type()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [id]=\"field()\"\n (keydown.enter)=\"onEnter()\"\n />\n @if (icon()) {\n <i [class]=\"icon()\"></i>\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}:host>div .form-control{display:block;width:calc(100% - 2rem);height:calc(1rem + 2px);padding:.5rem;padding-left:25px;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 i{position:absolute;z-index:1000;color:#000;top:10px;left:5px}::ng-deep .dark .form-control{background-color:var(--background-dark)!important;color:var(--text-dark)!important}\n"] }]
|
|
55
72
|
}] });
|
|
56
73
|
|
|
57
74
|
class SearchbarComponent extends BaseFormComponent {
|
|
@@ -69,16 +86,35 @@ class SearchbarComponent extends BaseFormComponent {
|
|
|
69
86
|
this.onSearch.emit(value);
|
|
70
87
|
}
|
|
71
88
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: SearchbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
72
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: SearchbarComponent, isStandalone: true, selector: "form-searchbar", inputs: { search: { classPropertyName: "search", publicName: "search", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSearch: "onSearch" }, usesInheritance: true, ngImport: i0, template: "<app-form [form]=\"form\">\n <form-input\n [form]=\"form\"\n field=\"search\"\n [withLabel]=\"false\"\n (onSend)=\"onSend($event)\"\n icon=\"icon ri-search-line\"\n ></form-input>\n</app-form>\n", dependencies: [{ kind: "component", type: FormComponent, selector: "app-form", inputs: ["form"] }, { kind: "component", type: FormInputComponent, selector: "form-input", inputs: ["form", "field", "type", "withLabel", "icon"], outputs: ["onSend"] }] });
|
|
89
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: SearchbarComponent, isStandalone: true, selector: "form-searchbar", inputs: { search: { classPropertyName: "search", publicName: "search", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSearch: "onSearch" }, usesInheritance: true, ngImport: i0, template: "<app-form [form]=\"form\">\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", dependencies: [{ kind: "component", type: FormComponent, selector: "app-form", inputs: ["form"] }, { kind: "component", type: FormInputComponent, selector: "dsv-form-input", inputs: ["form", "field", "type", "withLabel", "icon"], outputs: ["onSend"] }] });
|
|
73
90
|
}
|
|
74
91
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: SearchbarComponent, decorators: [{
|
|
75
92
|
type: Component,
|
|
76
|
-
args: [{ selector: 'form-searchbar', imports: [FormComponent, FormInputComponent], standalone: true, template: "<app-form [form]=\"form\">\n <form-input\n [form]=\"form\"\n field=\"search\"\n [withLabel]=\"false\"\n (onSend)=\"onSend($event)\"\n icon=\"icon ri-search-line\"\n ></form-input>\n</app-form>\n" }]
|
|
93
|
+
args: [{ selector: 'form-searchbar', imports: [FormComponent, FormInputComponent], standalone: true, template: "<app-form [form]=\"form\">\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" }]
|
|
77
94
|
}], ctorParameters: () => [] });
|
|
78
95
|
|
|
96
|
+
class SelectComponent {
|
|
97
|
+
form = input.required();
|
|
98
|
+
field = input.required();
|
|
99
|
+
withLabel = input(true);
|
|
100
|
+
list = input([]);
|
|
101
|
+
change = output();
|
|
102
|
+
doChange() {
|
|
103
|
+
this.change.emit(this.form().value[this.field()]);
|
|
104
|
+
}
|
|
105
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
106
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", 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:25px;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 i{position:absolute;z-index:1000;color:#000;top:10px;left:5px}::ng-deep .dark .form-control{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"] }] });
|
|
107
|
+
}
|
|
108
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: SelectComponent, decorators: [{
|
|
109
|
+
type: Component,
|
|
110
|
+
args: [{ selector: 'dsv-form-select', imports: [
|
|
111
|
+
ReactiveFormsModule
|
|
112
|
+
], 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:25px;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 i{position:absolute;z-index:1000;color:#000;top:10px;left:5px}::ng-deep .dark .form-control{background-color:var(--background-dark)!important;color:var(--text-dark)!important}\n", ":host{width:100%}\n"] }]
|
|
113
|
+
}] });
|
|
114
|
+
|
|
79
115
|
/**
|
|
80
116
|
* Generated bundle index. Do not edit.
|
|
81
117
|
*/
|
|
82
118
|
|
|
83
|
-
export { BaseFormComponent, FormComponent, FormInputComponent, SearchbarComponent };
|
|
119
|
+
export { BaseFormComponent, FormCheckboxComponent, FormComponent, FormInputComponent, SearchbarComponent, SelectComponent };
|
|
84
120
|
//# sourceMappingURL=ng-vagabond-lab-ng-dsv-ds-form.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-form.mjs","sources":["../../../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/ng-vagabond-lab-ng-dsv-ds-form.ts"],"sourcesContent":["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 onSubmit() {\n if (this.form.valid) {\n console.log('Formulaire envoyé !', this.form.value);\n }\n }\n}\n","import { Component, input } from '@angular/core';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'app-form',\n imports: [ReactiveFormsModule],\n standalone: true,\n templateUrl: './form.component.html',\n styleUrl: './form.component.scss',\n})\nexport class FormComponent {\n form = input.required<FormGroup>();\n\n onSubmit() {\n if (this.form().valid) {\n console.log('Formulaire envoyé !', this.form().value);\n }\n }\n}\n","<form [formGroup]=\"form()\" (ngSubmit)=\"onSubmit()\" class=\"form-container\">\n <ng-content></ng-content>\n</form>\n","import { Component, input, output } from '@angular/core';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: '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 icon = input<string>();\n\n onSend = output<string>();\n\n onEnter() {\n this.onSend.emit(this.form().value[this.field()]);\n }\n}\n","<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }}</label>\n }\n <input\n [type]=\"type()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [id]=\"field()\"\n (keydown.enter)=\"onEnter()\"\n />\n @if (icon()) {\n <i [class]=\"icon()\"></i>\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})\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\">\n <form-input\n [form]=\"form\"\n field=\"search\"\n [withLabel]=\"false\"\n (onSend)=\"onSend($event)\"\n icon=\"icon ri-search-line\"\n ></form-input>\n</app-form>\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\";\nimport { ApiDto } from \"@ng-vagabond-lab/ng-dsv/api\";\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 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 <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 onSubmit() {\n if (this.form.valid) {\n console.log('Formulaire envoyé !', this.form.value);\n }\n }\n}\n","import { Component, input } from '@angular/core';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'app-form',\n imports: [ReactiveFormsModule],\n standalone: true,\n templateUrl: './form.component.html',\n styleUrl: './form.component.scss',\n})\nexport class FormComponent {\n form = input.required<FormGroup>();\n\n onSubmit() {\n if (this.form().valid) {\n console.log('Formulaire envoyé !', this.form().value);\n }\n }\n}\n","<form [formGroup]=\"form()\" (ngSubmit)=\"onSubmit()\" class=\"form-container\">\n <ng-content></ng-content>\n</form>\n","import { Component, input, output } 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 icon = input<string>();\n\n onSend = output<string>();\n\n onEnter() {\n this.onSend.emit(this.form().value[this.field()]);\n }\n}\n","<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }}</label>\n }\n <input\n [type]=\"type()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [id]=\"field()\"\n (keydown.enter)=\"onEnter()\"\n />\n @if (icon()) {\n <i [class]=\"icon()\"></i>\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})\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\">\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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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { input, output, Component } from '@angular/core';
|
|
3
|
+
import { DsvButtonComponent } from '@ng-vagabond-lab/ng-dsv/ds/button';
|
|
4
|
+
|
|
5
|
+
class PaginateComponent {
|
|
6
|
+
page = input.required();
|
|
7
|
+
max = input.required();
|
|
8
|
+
nb = input.required();
|
|
9
|
+
callback = output();
|
|
10
|
+
gotoPage(page) {
|
|
11
|
+
this.callback.emit(page);
|
|
12
|
+
}
|
|
13
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: PaginateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: PaginateComponent, isStandalone: true, selector: "app-paginate-component", inputs: { page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: true, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: true, transformFunction: null }, nb: { classPropertyName: "nb", publicName: "nb", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { callback: "callback" }, ngImport: i0, template: "<div>{{ page() + 1 }} / {{ max() }}</div>\n<dsv-button\n color=\"inherit\"\n icon=\"ri-arrow-left-s-line\"\n [disabled]=\"page() === 0\"\n (callback)=\"gotoPage(page() - 1)\"\n/>\n<dsv-button\n color=\"inherit\"\n icon=\"ri-arrow-right-s-line\"\n [disabled]=\"page() + 1 >= max()\"\n (callback)=\"gotoPage(page() + 1)\"\n/>\n", styles: [":host{width:100%;display:flex;align-items:center;justify-content:center;gap:5px;padding:10px 5px}::ng-deep app-paginate-component button:disabled{background:transparent!important;color:#00000042!important}::ng-deep .dark app-paginate-component button:disabled{color:#ffffff4d!important}\n"], dependencies: [{ kind: "component", type: DsvButtonComponent, selector: "dsv-button", inputs: ["libelle", "color", "icon", "iconEnd", "width", "variant", "fullwidth", "show", "disabled", "noHover"], outputs: ["callback"] }] });
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: PaginateComponent, decorators: [{
|
|
17
|
+
type: Component,
|
|
18
|
+
args: [{ selector: "app-paginate-component", standalone: true, imports: [
|
|
19
|
+
DsvButtonComponent
|
|
20
|
+
], template: "<div>{{ page() + 1 }} / {{ max() }}</div>\n<dsv-button\n color=\"inherit\"\n icon=\"ri-arrow-left-s-line\"\n [disabled]=\"page() === 0\"\n (callback)=\"gotoPage(page() - 1)\"\n/>\n<dsv-button\n color=\"inherit\"\n icon=\"ri-arrow-right-s-line\"\n [disabled]=\"page() + 1 >= max()\"\n (callback)=\"gotoPage(page() + 1)\"\n/>\n", styles: [":host{width:100%;display:flex;align-items:center;justify-content:center;gap:5px;padding:10px 5px}::ng-deep app-paginate-component button:disabled{background:transparent!important;color:#00000042!important}::ng-deep .dark app-paginate-component button:disabled{color:#ffffff4d!important}\n"] }]
|
|
21
|
+
}] });
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Generated bundle index. Do not edit.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
export { PaginateComponent };
|
|
28
|
+
//# sourceMappingURL=ng-vagabond-lab-ng-dsv-ds-paginate.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-paginate.mjs","sources":["../../../projects/ng-dsv/ds/paginate/component/paginate.component.ts","../../../projects/ng-dsv/ds/paginate/component/paginate.component.html","../../../projects/ng-dsv/ds/paginate/ng-vagabond-lab-ng-dsv-ds-paginate.ts"],"sourcesContent":["import { Component, input, output } from \"@angular/core\";\nimport { DsvButtonComponent } from \"@ng-vagabond-lab/ng-dsv/ds/button\";\n\n@Component({\n selector: \"app-paginate-component\",\n standalone: true,\n imports: [\n DsvButtonComponent\n ],\n templateUrl: \"./paginate.component.html\",\n styleUrls: [\"./paginate.component.scss\"],\n})\nexport class PaginateComponent {\n page = input.required<number>();\n max = input.required<number>();\n nb = input.required<number>();\n\n callback = output<number>();\n\n gotoPage(page: number) {\n this.callback.emit(page);\n }\n}","<div>{{ page() + 1 }} / {{ max() }}</div>\n<dsv-button\n color=\"inherit\"\n icon=\"ri-arrow-left-s-line\"\n [disabled]=\"page() === 0\"\n (callback)=\"gotoPage(page() - 1)\"\n/>\n<dsv-button\n color=\"inherit\"\n icon=\"ri-arrow-right-s-line\"\n [disabled]=\"page() + 1 >= max()\"\n (callback)=\"gotoPage(page() + 1)\"\n/>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAYa,iBAAiB,CAAA;AAC1B,IAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAU;AAC/B,IAAA,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAU;AAC9B,IAAA,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAU;IAE7B,QAAQ,GAAG,MAAM,EAAU;AAE3B,IAAA,QAAQ,CAAC,IAAY,EAAA;AACjB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;;uGARnB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZ9B,+UAaA,EAAA,MAAA,EAAA,CAAA,kSAAA,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,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAKb,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAT7B,SAAS;+BACI,wBAAwB,EAAA,UAAA,EACtB,IAAI,EACP,OAAA,EAAA;wBACL;AACH,qBAAA,EAAA,QAAA,EAAA,+UAAA,EAAA,MAAA,EAAA,CAAA,kSAAA,CAAA,EAAA;;;AERL;;AAEG;;;;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { input, Component } from '@angular/core';
|
|
3
|
+
import { RouterLink } from '@angular/router';
|
|
4
|
+
|
|
5
|
+
class TabComponent {
|
|
6
|
+
tab = input.required();
|
|
7
|
+
isSelected = input(false);
|
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: TabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: TabComponent, isStandalone: true, selector: "app-tab-component", inputs: { tab: { classPropertyName: "tab", publicName: "tab", isSignal: true, isRequired: true, transformFunction: null }, isSelected: { classPropertyName: "isSelected", publicName: "isSelected", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<button [routerLink]=\"tab().url\" [class.selected]=\"isSelected()\">\n {{ tab().title }}\n</button>\n", styles: [":host button{opacity:.6;align-items:baseline;max-width:max-content!important;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;box-sizing:border-box;-webkit-tap-highlight-color:transparent;background-color:transparent;outline:0px;border:0px;margin:0;border-radius:0;cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:middle;appearance:none;text-decoration:none;font-family:Roboto,Helvetica,Arial,sans-serif;font-weight:500;font-size:.875rem;line-height:1.25;letter-spacing:.02857em;text-transform:uppercase;max-width:none;min-width:90px;position:relative;min-height:48px;flex:1 1 0px;padding:12px 16px;overflow:hidden;white-space:normal;text-align:center;flex-direction:column;color:inherit;-webkit-box-flex:1}:host button.selected{opacity:1;border-bottom:2px solid var(--primary)}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: TabComponent, decorators: [{
|
|
12
|
+
type: Component,
|
|
13
|
+
args: [{ selector: "app-tab-component", standalone: true, imports: [
|
|
14
|
+
RouterLink,
|
|
15
|
+
], template: "<button [routerLink]=\"tab().url\" [class.selected]=\"isSelected()\">\n {{ tab().title }}\n</button>\n", styles: [":host button{opacity:.6;align-items:baseline;max-width:max-content!important;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;box-sizing:border-box;-webkit-tap-highlight-color:transparent;background-color:transparent;outline:0px;border:0px;margin:0;border-radius:0;cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:middle;appearance:none;text-decoration:none;font-family:Roboto,Helvetica,Arial,sans-serif;font-weight:500;font-size:.875rem;line-height:1.25;letter-spacing:.02857em;text-transform:uppercase;max-width:none;min-width:90px;position:relative;min-height:48px;flex:1 1 0px;padding:12px 16px;overflow:hidden;white-space:normal;text-align:center;flex-direction:column;color:inherit;-webkit-box-flex:1}:host button.selected{opacity:1;border-bottom:2px solid var(--primary)}\n"] }]
|
|
16
|
+
}] });
|
|
17
|
+
|
|
18
|
+
class TabsComponent {
|
|
19
|
+
tabs = input.required();
|
|
20
|
+
active = input.required();
|
|
21
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: TabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
22
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: TabsComponent, isStandalone: true, selector: "dsv-tabs-component", inputs: { tabs: { classPropertyName: "tabs", publicName: "tabs", isSignal: true, isRequired: true, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div>\n <div>\n @for (tab of tabs(); track tab.id) {\n <app-tab-component\n [tab]=\"tab\"\n [isSelected]=\"active().trim() === tab.title.trim()\"\n />\n }\n </div>\n</div>\n", styles: [":host{overflow:hidden;min-height:48px;display:flex;width:100%}:host>div{margin-bottom:0;position:relative;display:inline-block;flex:1 1 auto;overflow:auto;overflow-x:hidden;width:100%}:host>div>div{display:flex;overflow:visible!important;margin:3px 0}\n"], dependencies: [{ kind: "component", type: TabComponent, selector: "app-tab-component", inputs: ["tab", "isSelected"] }] });
|
|
23
|
+
}
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: TabsComponent, decorators: [{
|
|
25
|
+
type: Component,
|
|
26
|
+
args: [{ selector: "dsv-tabs-component", standalone: true, imports: [
|
|
27
|
+
TabComponent
|
|
28
|
+
], template: "<div>\n <div>\n @for (tab of tabs(); track tab.id) {\n <app-tab-component\n [tab]=\"tab\"\n [isSelected]=\"active().trim() === tab.title.trim()\"\n />\n }\n </div>\n</div>\n", styles: [":host{overflow:hidden;min-height:48px;display:flex;width:100%}:host>div{margin-bottom:0;position:relative;display:inline-block;flex:1 1 auto;overflow:auto;overflow-x:hidden;width:100%}:host>div>div{display:flex;overflow:visible!important;margin:3px 0}\n"] }]
|
|
29
|
+
}] });
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Generated bundle index. Do not edit.
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
export { TabComponent, TabsComponent };
|
|
36
|
+
//# sourceMappingURL=ng-vagabond-lab-ng-dsv-ds-tab.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-tab.mjs","sources":["../../../projects/ng-dsv/ds/tab/tab/component/tab.component.ts","../../../projects/ng-dsv/ds/tab/tab/component/tab.component.html","../../../projects/ng-dsv/ds/tab/tabs/component/tabs.component.ts","../../../projects/ng-dsv/ds/tab/tabs/component/tabs.component.html","../../../projects/ng-dsv/ds/tab/ng-vagabond-lab-ng-dsv-ds-tab.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\nimport { RouterLink } from \"@angular/router\";\nimport { TabDto } from \"../dto/tab.dto\";\n\n@Component({\n selector: \"app-tab-component\",\n standalone: true,\n imports: [\n RouterLink,\n ],\n templateUrl: \"./tab.component.html\",\n styleUrls: [\"./tab.component.scss\"],\n})\nexport class TabComponent {\n tab = input.required<TabDto>();\n isSelected = input<boolean>(false);\n\n}","<button [routerLink]=\"tab().url\" [class.selected]=\"isSelected()\">\n {{ tab().title }}\n</button>\n","import { Component, input } from \"@angular/core\";\nimport { TabDto } from \"../../public-api\";\nimport { TabComponent } from \"../../tab/component/tab.component\";\n\n@Component({\n selector: \"dsv-tabs-component\",\n standalone: true,\n imports: [\n TabComponent\n ],\n templateUrl: \"./tabs.component.html\",\n styleUrls: [\"./tabs.component.scss\"],\n})\nexport class TabsComponent {\n tabs = input.required<TabDto[]>();\n active = input.required<string>();\n\n}","<div>\n <div>\n @for (tab of tabs(); track tab.id) {\n <app-tab-component\n [tab]=\"tab\"\n [isSelected]=\"active().trim() === tab.title.trim()\"\n />\n }\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAaa,YAAY,CAAA;AACrB,IAAA,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAU;AAC9B,IAAA,UAAU,GAAG,KAAK,CAAU,KAAK,CAAC;uGAFzB,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECbzB,yGAGA,EAAA,MAAA,EAAA,CAAA,m2BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDKQ,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAKL,YAAY,EAAA,UAAA,EAAA,CAAA;kBATxB,SAAS;+BACI,mBAAmB,EAAA,UAAA,EACjB,IAAI,EACP,OAAA,EAAA;wBACL,UAAU;AACb,qBAAA,EAAA,QAAA,EAAA,yGAAA,EAAA,MAAA,EAAA,CAAA,m2BAAA,CAAA,EAAA;;;MEIQ,aAAa,CAAA;AACtB,IAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAY;AACjC,IAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAU;uGAFxB,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECb1B,+MAUA,EAAA,MAAA,EAAA,CAAA,+PAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDFQ,YAAY,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAKP,aAAa,EAAA,UAAA,EAAA,CAAA;kBATzB,SAAS;+BACI,oBAAoB,EAAA,UAAA,EAClB,IAAI,EACP,OAAA,EAAA;wBACL;AACH,qBAAA,EAAA,QAAA,EAAA,+MAAA,EAAA,MAAA,EAAA,CAAA,+PAAA,CAAA,EAAA;;;AETL;;AAEG;;;;"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { input, signal, effect, Component } from '@angular/core';
|
|
3
|
+
import { RouterLink } from '@angular/router';
|
|
4
|
+
import { TranslatePipe } from '@ngx-translate/core';
|
|
5
|
+
|
|
6
|
+
class TableComponent {
|
|
7
|
+
url = input.required();
|
|
8
|
+
cells = input.required();
|
|
9
|
+
datas = input.required();
|
|
10
|
+
max = input(10);
|
|
11
|
+
showDatas = signal([]);
|
|
12
|
+
constructor() {
|
|
13
|
+
effect(() => {
|
|
14
|
+
let datas = this.datas();
|
|
15
|
+
if (this.max() > 0) {
|
|
16
|
+
datas = [];
|
|
17
|
+
for (let i = 0; i < this.max(); i++) {
|
|
18
|
+
const data = this.datas()?.[i] ? this.datas()[i] : { id: i + 1 };
|
|
19
|
+
datas.push(data);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
const showDatas = [];
|
|
23
|
+
datas.forEach(data => {
|
|
24
|
+
const showData = [];
|
|
25
|
+
showData.push(this.getValue(data, "id", false));
|
|
26
|
+
this.cells().forEach(cell => {
|
|
27
|
+
showData.push(this.getValue(data, cell.name, cell.date ?? false));
|
|
28
|
+
});
|
|
29
|
+
showDatas.push(showData);
|
|
30
|
+
});
|
|
31
|
+
this.showDatas.set(showDatas);
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
getValue(obj, key, isDate) {
|
|
35
|
+
let value = obj[key];
|
|
36
|
+
if (key.includes('.')) {
|
|
37
|
+
const keys = key.split('.');
|
|
38
|
+
let recurse = obj;
|
|
39
|
+
keys.forEach(key2 => {
|
|
40
|
+
if (recurse) {
|
|
41
|
+
if (Array.isArray(recurse)) {
|
|
42
|
+
recurse = recurse.map(item => item[key2]).join(',');
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
recurse = recurse[key2];
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
value = recurse?.toString();
|
|
50
|
+
}
|
|
51
|
+
if (isDate && value) {
|
|
52
|
+
value = this.formatDate(value);
|
|
53
|
+
}
|
|
54
|
+
return value;
|
|
55
|
+
}
|
|
56
|
+
formatDate(dateString) {
|
|
57
|
+
const date = new Date(dateString);
|
|
58
|
+
const day = String(date.getDate()).padStart(2, '0');
|
|
59
|
+
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
60
|
+
const year = date.getFullYear();
|
|
61
|
+
const hours = String(date.getHours()).padStart(2, '0');
|
|
62
|
+
const minutes = String(date.getMinutes()).padStart(2, '0');
|
|
63
|
+
return `${day}/${month}/${year} ${hours}:${minutes}`;
|
|
64
|
+
}
|
|
65
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
66
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: TableComponent, isStandalone: true, selector: "dsv-table", inputs: { url: { classPropertyName: "url", publicName: "url", isSignal: true, isRequired: true, transformFunction: null }, cells: { classPropertyName: "cells", publicName: "cells", isSignal: true, isRequired: true, transformFunction: null }, datas: { classPropertyName: "datas", publicName: "datas", isSignal: true, isRequired: true, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<table>\n <thead>\n <tr>\n @for (cell of cells(); track cell.name) {\n <th [style.maxWidth]=\"cell.width\">{{ cell.label | translate }}</th>\n }\n </tr>\n </thead>\n <tbody>\n @for (data of showDatas(); track $index; let index = $index) {\n <tr>\n @for (cell of cells(); track cell.name; let indexData = $index) {\n <td\n [routerLink]=\"url() + '/' + data[0]\"\n [style.maxWidth]=\"cell.width\"\n >\n {{ data[indexData + 1] }}\n </td>\n }\n </tr>\n }\n </tbody>\n</table>\n", styles: [":host{overflow:auto;width:100%}:host table{table-layout:fixed;min-width:100%;display:table;border-collapse:collapse;border-spacing:0px}:host table thead{display:table-header-group}:host table thead tr{background-color:var(--text);color:var(--text-dark);display:table-row;vertical-align:middle;outline:0px;height:32px}:host table thead tr th{font-family:Roboto,Helvetica,Arial,sans-serif;font-weight:500;font-size:.875rem;line-height:1.5rem;letter-spacing:.01071em;display:table-cell;vertical-align:inherit;border-bottom:1px solid rgb(224,224,224);text-align:left;padding:6px 16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host table tbody{display:table-row-group;background-color:var(--text-dark)}:host table tbody tr{display:table-row;vertical-align:middle;outline:0px;height:32px}:host table tbody tr td{font-weight:400;font-size:.875rem;line-height:1.43;letter-spacing:.01071em;display:table-cell;vertical-align:inherit;border-bottom:1px solid rgb(224,224,224);text-align:left;padding:6px 16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}::ng-deep .dark table thead tr{background-color:var(--text-dark)!important;color:var(--text)!important}::ng-deep .dark table tbody{display:table-row-group;background-color:var(--text)!important}::ng-deep .dark table tbody td{cursor:pointer;border-bottom:1px solid rgb(81,81,81)!important}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
|
67
|
+
}
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: TableComponent, decorators: [{
|
|
69
|
+
type: Component,
|
|
70
|
+
args: [{ selector: "dsv-table", standalone: true, imports: [
|
|
71
|
+
RouterLink,
|
|
72
|
+
TranslatePipe,
|
|
73
|
+
], template: "<table>\n <thead>\n <tr>\n @for (cell of cells(); track cell.name) {\n <th [style.maxWidth]=\"cell.width\">{{ cell.label | translate }}</th>\n }\n </tr>\n </thead>\n <tbody>\n @for (data of showDatas(); track $index; let index = $index) {\n <tr>\n @for (cell of cells(); track cell.name; let indexData = $index) {\n <td\n [routerLink]=\"url() + '/' + data[0]\"\n [style.maxWidth]=\"cell.width\"\n >\n {{ data[indexData + 1] }}\n </td>\n }\n </tr>\n }\n </tbody>\n</table>\n", styles: [":host{overflow:auto;width:100%}:host table{table-layout:fixed;min-width:100%;display:table;border-collapse:collapse;border-spacing:0px}:host table thead{display:table-header-group}:host table thead tr{background-color:var(--text);color:var(--text-dark);display:table-row;vertical-align:middle;outline:0px;height:32px}:host table thead tr th{font-family:Roboto,Helvetica,Arial,sans-serif;font-weight:500;font-size:.875rem;line-height:1.5rem;letter-spacing:.01071em;display:table-cell;vertical-align:inherit;border-bottom:1px solid rgb(224,224,224);text-align:left;padding:6px 16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host table tbody{display:table-row-group;background-color:var(--text-dark)}:host table tbody tr{display:table-row;vertical-align:middle;outline:0px;height:32px}:host table tbody tr td{font-weight:400;font-size:.875rem;line-height:1.43;letter-spacing:.01071em;display:table-cell;vertical-align:inherit;border-bottom:1px solid rgb(224,224,224);text-align:left;padding:6px 16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}::ng-deep .dark table thead tr{background-color:var(--text-dark)!important;color:var(--text)!important}::ng-deep .dark table tbody{display:table-row-group;background-color:var(--text)!important}::ng-deep .dark table tbody td{cursor:pointer;border-bottom:1px solid rgb(81,81,81)!important}\n"] }]
|
|
74
|
+
}], ctorParameters: () => [] });
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Generated bundle index. Do not edit.
|
|
78
|
+
*/
|
|
79
|
+
|
|
80
|
+
export { TableComponent };
|
|
81
|
+
//# sourceMappingURL=ng-vagabond-lab-ng-dsv-ds-table.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-table.mjs","sources":["../../../projects/ng-dsv/ds/table/component/table.component.ts","../../../projects/ng-dsv/ds/table/component/table.component.html","../../../projects/ng-dsv/ds/table/ng-vagabond-lab-ng-dsv-ds-table.ts"],"sourcesContent":["import { Component, effect, input, signal } from \"@angular/core\";\nimport { RouterLink } from \"@angular/router\";\nimport { JSONObject } from \"@ng-vagabond-lab/ng-dsv/api\";\nimport { TranslatePipe } from \"@ngx-translate/core\";\nimport { TableDto } from \"../dto/table.dto\";\n\n@Component({\n selector: \"dsv-table\",\n standalone: true,\n imports: [\n RouterLink,\n TranslatePipe,\n ],\n templateUrl: \"./table.component.html\",\n styleUrls: [\"./table.component.scss\"]\n})\nexport class TableComponent {\n\n url = input.required<string>();\n\n cells = input.required<TableDto[]>();\n datas = input.required<JSONObject[]>();\n\n max = input<number>(10);\n\n showDatas = signal<string[][]>([]);\n\n constructor() {\n effect(() => {\n let datas: JSONObject[] = this.datas();\n if (this.max() > 0) {\n datas = [];\n for (let i = 0; i < this.max(); i++) {\n const data = this.datas()?.[i] ? this.datas()[i] : { id: i + 1 } as JSONObject;\n datas.push(data);\n }\n }\n\n const showDatas: string[][] = [];\n datas.forEach(data => {\n const showData: string[] = [];\n showData.push(this.getValue(data, \"id\", false));\n this.cells().forEach(cell => {\n showData.push(this.getValue(data, cell.name, cell.date ?? false));\n });\n showDatas.push(showData);\n })\n this.showDatas.set(showDatas);\n });\n }\n\n getValue(obj: JSONObject, key: string, isDate: boolean): any {\n let value: string = obj[key as keyof JSONObject];\n if (key.includes('.')) {\n const keys = key.split('.');\n let recurse: JSONObject = obj;\n keys.forEach(key2 => {\n if (recurse) {\n if (Array.isArray(recurse)) {\n recurse = (recurse as JSONObject[]).map(item => item[key2 as keyof JSONObject]).join(',') as JSONObject;\n } else {\n recurse = recurse[key2 as keyof JSONObject];\n }\n }\n });\n value = recurse?.toString();\n }\n if (isDate && value) {\n value = this.formatDate(value);\n }\n return value;\n }\n\n formatDate(dateString: string): string {\n const date = new Date(dateString);\n\n const day = String(date.getDate()).padStart(2, '0');\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const year = date.getFullYear();\n\n const hours = String(date.getHours()).padStart(2, '0');\n const minutes = String(date.getMinutes()).padStart(2, '0');\n\n return `${day}/${month}/${year} ${hours}:${minutes}`;\n }\n}","<table>\n <thead>\n <tr>\n @for (cell of cells(); track cell.name) {\n <th [style.maxWidth]=\"cell.width\">{{ cell.label | translate }}</th>\n }\n </tr>\n </thead>\n <tbody>\n @for (data of showDatas(); track $index; let index = $index) {\n <tr>\n @for (cell of cells(); track cell.name; let indexData = $index) {\n <td\n [routerLink]=\"url() + '/' + data[0]\"\n [style.maxWidth]=\"cell.width\"\n >\n {{ data[indexData + 1] }}\n </td>\n }\n </tr>\n }\n </tbody>\n</table>\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.74",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "^20.0.0",
|
|
6
6
|
"@angular/core": "^20.0.0"
|
|
@@ -19,14 +19,14 @@
|
|
|
19
19
|
"types": "./index.d.ts",
|
|
20
20
|
"default": "./fesm2022/ng-vagabond-lab-ng-dsv.mjs"
|
|
21
21
|
},
|
|
22
|
-
"./auth": {
|
|
23
|
-
"types": "./auth/index.d.ts",
|
|
24
|
-
"default": "./fesm2022/ng-vagabond-lab-ng-dsv-auth.mjs"
|
|
25
|
-
},
|
|
26
22
|
"./api": {
|
|
27
23
|
"types": "./api/index.d.ts",
|
|
28
24
|
"default": "./fesm2022/ng-vagabond-lab-ng-dsv-api.mjs"
|
|
29
25
|
},
|
|
26
|
+
"./auth": {
|
|
27
|
+
"types": "./auth/index.d.ts",
|
|
28
|
+
"default": "./fesm2022/ng-vagabond-lab-ng-dsv-auth.mjs"
|
|
29
|
+
},
|
|
30
30
|
"./base": {
|
|
31
31
|
"types": "./base/index.d.ts",
|
|
32
32
|
"default": "./fesm2022/ng-vagabond-lab-ng-dsv-base.mjs"
|
|
@@ -95,6 +95,18 @@
|
|
|
95
95
|
"types": "./ds/modal/index.d.ts",
|
|
96
96
|
"default": "./fesm2022/ng-vagabond-lab-ng-dsv-ds-modal.mjs"
|
|
97
97
|
},
|
|
98
|
+
"./ds/paginate": {
|
|
99
|
+
"types": "./ds/paginate/index.d.ts",
|
|
100
|
+
"default": "./fesm2022/ng-vagabond-lab-ng-dsv-ds-paginate.mjs"
|
|
101
|
+
},
|
|
102
|
+
"./ds/tab": {
|
|
103
|
+
"types": "./ds/tab/index.d.ts",
|
|
104
|
+
"default": "./fesm2022/ng-vagabond-lab-ng-dsv-ds-tab.mjs"
|
|
105
|
+
},
|
|
106
|
+
"./ds/table": {
|
|
107
|
+
"types": "./ds/table/index.d.ts",
|
|
108
|
+
"default": "./fesm2022/ng-vagabond-lab-ng-dsv-ds-table.mjs"
|
|
109
|
+
},
|
|
98
110
|
"./ds/theme": {
|
|
99
111
|
"types": "./ds/theme/index.d.ts",
|
|
100
112
|
"default": "./fesm2022/ng-vagabond-lab-ng-dsv-ds-theme.mjs"
|