@sd-angular/core 19.0.8 → 19.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/assets/scss/core/utilities/_grid.scss +149 -143
- package/components/form-generic/src/components/form-builder/components/attribute-table/attribute-table.component.d.ts +2 -4
- package/components/form-generic/src/components/form-builder/components/attribute-template/attribute-template.component.d.ts +2 -4
- package/components/form-generic/src/components/form-builder/components/configure-validation/configure-validation.component.d.ts +5 -6
- package/components/form-generic/src/components/form-render/form-render.component.d.ts +4 -6
- package/components/form-generic/src/services/form-generic.service.d.ts +1 -3
- package/components/modal/src/modal.component.d.ts +1 -1
- package/components/tab-router/src/models/tab-router.model.d.ts +2 -1
- package/components/tab-router/src/services/tab-router.service.d.ts +0 -1
- package/components/table/src/components/command/desktop-command.component.d.ts +7 -7
- package/components/table/src/components/command/pipes/command.pipe.d.ts +1 -12
- package/components/table/src/components/command/pipes/filter.pipe.d.ts +1 -8
- package/components/table/src/components/filter/column-filter/column-filter.component.d.ts +1 -1
- package/components/table/src/models/table-column.model.d.ts +3 -2
- package/components/table/src/pipes/selection-disabled.pipe.d.ts +1 -1
- package/components/table/src/services/config.service.d.ts +4 -5
- package/components/table/src/services/table-filter/table-filter.service.d.ts +1 -0
- package/components/table/src/services/table-local/table-local.util.d.ts +19 -0
- package/components/table/src/services/table-reorder/table-reorder.util.d.ts +29 -0
- package/components/table/src/services/table-selection/table-selection.util.d.ts +8 -0
- package/components/table/src/services/tree/tree.util.d.ts +10 -1
- package/components/table/src/table.component.d.ts +6 -10
- package/fesm2022/sd-angular-core-components-anchor.mjs +14 -14
- package/fesm2022/sd-angular-core-components-anchor.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-autoid-inspector.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-avatar.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-badge.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-button.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-ckeditor-styles.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-code-editor.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-document-builder.mjs +0 -1
- package/fesm2022/sd-angular-core-components-document-builder.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-form-generic.mjs +37 -66
- package/fesm2022/sd-angular-core-components-form-generic.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-import-excel.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-inform.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-mini-editor.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-modal-resizable.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-modal.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-operator.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-org-chart.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-query-builder.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-quick-action.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-section.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-side-drawer.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-splitter.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-stepper.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-tab-router.mjs +31 -26
- package/fesm2022/sd-angular-core-components-tab-router.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-tab.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-table.mjs +785 -833
- package/fesm2022/sd-angular-core-components-table.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-tree.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-upload-file.mjs.map +1 -1
- package/fesm2022/sd-angular-core-directives.mjs +0 -1
- package/fesm2022/sd-angular-core-directives.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-autocomplete.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-chip-calendar.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-chip.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-date-range.mjs +10 -2
- package/fesm2022/sd-angular-core-forms-date-range.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-date.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-datetime.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-input-color.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-input-number.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-input.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-radio.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-select.mjs +45 -12
- package/fesm2022/sd-angular-core-forms-select.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-textarea.mjs.map +1 -1
- package/fesm2022/sd-angular-core-interceptors.mjs +0 -2
- package/fesm2022/sd-angular-core-interceptors.mjs.map +1 -1
- package/fesm2022/sd-angular-core-modules-auth.mjs +14 -38
- package/fesm2022/sd-angular-core-modules-auth.mjs.map +1 -1
- package/fesm2022/sd-angular-core-modules-layout.mjs +5 -12
- package/fesm2022/sd-angular-core-modules-layout.mjs.map +1 -1
- package/fesm2022/sd-angular-core-modules-permission.mjs +5 -12
- package/fesm2022/sd-angular-core-modules-permission.mjs.map +1 -1
- package/fesm2022/sd-angular-core-pipes.mjs +4 -12
- package/fesm2022/sd-angular-core-pipes.mjs.map +1 -1
- package/fesm2022/sd-angular-core-services-confirm.mjs +16 -21
- package/fesm2022/sd-angular-core-services-confirm.mjs.map +1 -1
- package/fesm2022/sd-angular-core-services-docx.mjs +1 -8
- package/fesm2022/sd-angular-core-services-docx.mjs.map +1 -1
- package/fesm2022/sd-angular-core-services-license.mjs +5 -12
- package/fesm2022/sd-angular-core-services-license.mjs.map +1 -1
- package/fesm2022/sd-angular-core-services-notify.mjs +70 -87
- package/fesm2022/sd-angular-core-services-notify.mjs.map +1 -1
- package/fesm2022/sd-angular-core-services-storage.mjs +4 -12
- package/fesm2022/sd-angular-core-services-storage.mjs.map +1 -1
- package/fesm2022/sd-angular-core-utilities-extensions.mjs +43 -1
- package/fesm2022/sd-angular-core-utilities-extensions.mjs.map +1 -1
- package/forms/date-range/src/date-range.component.d.ts +2 -0
- package/forms/select/src/select-footer-action.directive.d.ts +5 -1
- package/forms/select/src/select.component.d.ts +4 -0
- package/modules/auth/guards/auth.guard.d.ts +2 -4
- package/modules/auth/guards/portal.guard.d.ts +2 -4
- package/modules/auth/services/auth.service.d.ts +3 -4
- package/modules/layout/modules/home/guards/home-redirect.guard.d.ts +3 -5
- package/modules/permission/src/guards/permission.guard.d.ts +2 -5
- package/package.json +31 -31
- package/pipes/src/format-number.pipe.d.ts +1 -3
- package/sd-angular-core-19.0.10.tgz +0 -0
- package/services/confirm/src/lib/components/dialog-confirm/dialog-confirm.component.d.ts +3 -3
- package/services/license/src/license.service.d.ts +2 -3
- package/services/notify/src/components/toast/toast.component.d.ts +9 -13
- package/services/notify/src/notify.service.d.ts +4 -5
- package/services/storage/src/storage.service.d.ts +3 -4
- package/utilities/extensions/index.d.ts +1 -0
- package/utilities/extensions/src/object.extension.d.ts +8 -0
- package/sd-angular-core-19.0.8.tgz +0 -0
package/README.md
CHANGED
|
@@ -667,7 +667,7 @@ import { Color } from '@sd-angular/core/utilities';
|
|
|
667
667
|
@Component({
|
|
668
668
|
selector: 'sd-my-component',
|
|
669
669
|
templateUrl: './my-component.component.html',
|
|
670
|
-
|
|
670
|
+
styleUrl: './my-component.component.scss',
|
|
671
671
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
672
672
|
standalone: true,
|
|
673
673
|
imports: [],
|
|
@@ -1,143 +1,149 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
//
|
|
6
|
-
|
|
7
|
-
// --------------------------------------------------------------------------
|
|
8
|
-
|
|
9
|
-
// --------------------------------------------------------------------------
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
//
|
|
71
|
-
//
|
|
72
|
-
//
|
|
73
|
-
//
|
|
74
|
-
//
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
@for $i from 1 through 12 {
|
|
125
|
-
|
|
126
|
-
grid-
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
}
|
|
1
|
+
@use "sass:math";
|
|
2
|
+
|
|
3
|
+
// --------------------------------------------------------------------------
|
|
4
|
+
// Grid - row/col 12-column flexbox + native CSS Grid container
|
|
5
|
+
// Pure CSS Flexbox / CSS Grid, with no external framework dependency.
|
|
6
|
+
// Breakpoint convention (sm/md/lg/xl) matches Bootstrap to ease host migration.
|
|
7
|
+
// --------------------------------------------------------------------------
|
|
8
|
+
|
|
9
|
+
// --------------------------------------------------------------------------
|
|
10
|
+
// 1. Flexbox row/col (.row, .col-{1-12})
|
|
11
|
+
// --------------------------------------------------------------------------
|
|
12
|
+
$grid-columns: 12;
|
|
13
|
+
$grid-gutter: 16px;
|
|
14
|
+
|
|
15
|
+
.row {
|
|
16
|
+
display: flex;
|
|
17
|
+
flex-wrap: wrap;
|
|
18
|
+
margin-left: calc(-1 * $grid-gutter / 2);
|
|
19
|
+
margin-right: calc(-1 * $grid-gutter / 2);
|
|
20
|
+
|
|
21
|
+
> * {
|
|
22
|
+
box-sizing: border-box;
|
|
23
|
+
padding-left: calc($grid-gutter / 2);
|
|
24
|
+
padding-right: calc($grid-gutter / 2);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// Gutter variants
|
|
29
|
+
.row-md {
|
|
30
|
+
@extend .row;
|
|
31
|
+
margin-left: -8px;
|
|
32
|
+
margin-right: -8px;
|
|
33
|
+
> * { padding-left: 8px; padding-right: 8px; }
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.row-sm {
|
|
37
|
+
@extend .row;
|
|
38
|
+
margin-left: -4px;
|
|
39
|
+
margin-right: -4px;
|
|
40
|
+
> * { padding-left: 4px; padding-right: 4px; }
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.row-xs {
|
|
44
|
+
@extend .row;
|
|
45
|
+
margin-left: -2px;
|
|
46
|
+
margin-right: -2px;
|
|
47
|
+
> * { padding-left: 2px; padding-right: 2px; }
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// .col-1 ... .col-12
|
|
51
|
+
@for $i from 1 through $grid-columns {
|
|
52
|
+
$col-size: math.percentage(math.div($i, $grid-columns));
|
|
53
|
+
|
|
54
|
+
.col-#{$i} {
|
|
55
|
+
box-sizing: border-box;
|
|
56
|
+
width: $col-size;
|
|
57
|
+
flex: 0 0 $col-size;
|
|
58
|
+
max-width: $col-size;
|
|
59
|
+
padding-left: calc($grid-gutter / 2);
|
|
60
|
+
padding-right: calc($grid-gutter / 2);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.col {
|
|
65
|
+
flex: 1 1 0%;
|
|
66
|
+
padding-left: calc($grid-gutter / 2);
|
|
67
|
+
padding-right: calc($grid-gutter / 2);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// --------------------------------------------------------------------------
|
|
71
|
+
// 1b. Responsive columns
|
|
72
|
+
// col-sm-{1-12}: >= 576px
|
|
73
|
+
// col-md-{1-12}: >= 768px
|
|
74
|
+
// col-lg-{1-12}: >= 992px
|
|
75
|
+
// col-xl-{1-12}: >= 1200px
|
|
76
|
+
//
|
|
77
|
+
// Mobile-first: default width is 100%; column size applies from breakpoint up.
|
|
78
|
+
// --------------------------------------------------------------------------
|
|
79
|
+
$grid-breakpoints: (
|
|
80
|
+
'sm': 576px,
|
|
81
|
+
'md': 768px,
|
|
82
|
+
'lg': 992px,
|
|
83
|
+
'xl': 1200px,
|
|
84
|
+
);
|
|
85
|
+
|
|
86
|
+
// col-{bp} - full-width flexible column at the breakpoint
|
|
87
|
+
@each $bp, $min-width in $grid-breakpoints {
|
|
88
|
+
@media (min-width: $min-width) {
|
|
89
|
+
.col-#{$bp} {
|
|
90
|
+
flex: 1 1 0%;
|
|
91
|
+
padding-left: calc($grid-gutter / 2);
|
|
92
|
+
padding-right: calc($grid-gutter / 2);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
// col-{bp}-{1-12} - n/12 column width at the breakpoint
|
|
98
|
+
@each $bp, $min-width in $grid-breakpoints {
|
|
99
|
+
@media (min-width: $min-width) {
|
|
100
|
+
@for $i from 1 through $grid-columns {
|
|
101
|
+
$col-size: math.percentage(math.div($i, $grid-columns));
|
|
102
|
+
|
|
103
|
+
.col-#{$bp}-#{$i} {
|
|
104
|
+
box-sizing: border-box;
|
|
105
|
+
width: $col-size;
|
|
106
|
+
flex: 0 0 $col-size;
|
|
107
|
+
max-width: $col-size;
|
|
108
|
+
padding-left: calc($grid-gutter / 2);
|
|
109
|
+
padding-right: calc($grid-gutter / 2);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// --------------------------------------------------------------------------
|
|
116
|
+
// 2. CSS Grid container (.grid-container)
|
|
117
|
+
// grid-container + grid-cols-{1-12} + col-span-{1-12}
|
|
118
|
+
// --------------------------------------------------------------------------
|
|
119
|
+
.grid-container {
|
|
120
|
+
display: grid;
|
|
121
|
+
column-gap: 8px;
|
|
122
|
+
row-gap: 0;
|
|
123
|
+
|
|
124
|
+
@for $i from 1 through 12 {
|
|
125
|
+
&.grid-cols-#{$i} {
|
|
126
|
+
grid-template-columns: repeat($i, minmax(0, 1fr));
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
@for $i from 1 through 12 {
|
|
131
|
+
.col-span-#{$i} {
|
|
132
|
+
grid-column: span #{$i} / span #{$i};
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.col-span-full {
|
|
137
|
+
grid-column: 1 / -1;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
@for $i from 1 through 12 {
|
|
141
|
+
.row-span-#{$i} {
|
|
142
|
+
grid-row: span #{$i} / span #{$i};
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.row-span-full {
|
|
147
|
+
grid-row: 1 / -1;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { EventEmitter } from '@angular/core';
|
|
2
2
|
import { FormGroup } from '@angular/forms';
|
|
3
3
|
import { SdModal } from '@sd-angular/core/components/modal';
|
|
4
|
-
import { ISdFormGenericConfiguration } from '../../../../configurations';
|
|
5
4
|
import { SdFormGenericComponent, SdFormGenericDefinitionTable, SdFormGenericGroup, SdFormGenericTableColumn, SdFormGenericVariable } from '../../../../models';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
export declare class AttributeTable {
|
|
8
|
-
private formGenericConfiguration;
|
|
9
7
|
modal?: SdModal;
|
|
10
8
|
form: FormGroup<{}>;
|
|
11
9
|
components: (SdFormGenericComponent | SdFormGenericGroup)[];
|
|
@@ -13,6 +11,7 @@ export declare class AttributeTable {
|
|
|
13
11
|
columnsKey?: string;
|
|
14
12
|
set _columnsKey(columnsKey: string | undefined | null);
|
|
15
13
|
columnsKeyChange: EventEmitter<string>;
|
|
14
|
+
private readonly formGenericConfiguration;
|
|
16
15
|
tables: SdFormGenericDefinitionTable[];
|
|
17
16
|
types: {
|
|
18
17
|
value: string;
|
|
@@ -22,7 +21,6 @@ export declare class AttributeTable {
|
|
|
22
21
|
set _columns(columns: SdFormGenericTableColumn[] | undefined | null);
|
|
23
22
|
columnsChange: EventEmitter<SdFormGenericTableColumn[]>;
|
|
24
23
|
column?: SdFormGenericTableColumn;
|
|
25
|
-
constructor(formGenericConfiguration: ISdFormGenericConfiguration | null);
|
|
26
24
|
onChangeColumnsKey: (value: any) => void;
|
|
27
25
|
addColumn: () => void;
|
|
28
26
|
readonly columnTypeIcons: Record<string, string>;
|
|
@@ -31,6 +29,6 @@ export declare class AttributeTable {
|
|
|
31
29
|
editColumn: (idx: number) => void;
|
|
32
30
|
removeColumn: (idx: number) => void;
|
|
33
31
|
onConfirm: () => void;
|
|
34
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AttributeTable,
|
|
32
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AttributeTable, never>;
|
|
35
33
|
static ɵcmp: i0.ɵɵComponentDeclaration<AttributeTable, "attribute-table", never, { "components": { "alias": "components"; "required": true; }; "variables": { "alias": "variables"; "required": true; }; "_columnsKey": { "alias": "columnsKey"; "required": true; }; "_columns": { "alias": "columns"; "required": true; }; }, { "columnsKeyChange": "columnsKeyChange"; "columnsChange": "columnsChange"; }, never, never, true, never>;
|
|
36
34
|
}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import { EventEmitter } from '@angular/core';
|
|
2
|
-
import { ISdFormGenericConfiguration } from '../../../../configurations';
|
|
3
2
|
import { SdFormGenericComponent, SdFormGenericTemplate } from '../../../../models';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
export declare class AttributeTemplate {
|
|
6
|
-
private formGenericConfiguration;
|
|
7
5
|
templates: SdFormGenericTemplate[];
|
|
8
6
|
component: SdFormGenericComponent;
|
|
9
7
|
set _component(component: SdFormGenericComponent);
|
|
10
8
|
sdChange: EventEmitter<SdFormGenericComponent>;
|
|
11
|
-
|
|
9
|
+
private readonly formGenericConfiguration;
|
|
12
10
|
onChange: (value: string | number | null) => void;
|
|
13
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AttributeTemplate,
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AttributeTemplate, never>;
|
|
14
12
|
static ɵcmp: i0.ɵɵComponentDeclaration<AttributeTemplate, "attribute-template", never, { "_component": { "alias": "component"; "required": true; }; }, { "sdChange": "sdChange"; }, never, never, true, never>;
|
|
15
13
|
}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
2
|
import { FormGroup } from '@angular/forms';
|
|
3
3
|
import { SdModal } from '@sd-angular/core/components/modal';
|
|
4
|
-
import { ISdFormGenericConfiguration } from '../../../../configurations';
|
|
5
4
|
import { Attribute } from '../../../../models';
|
|
6
5
|
import { SdFormGenericValidation, SdFormGenericValidationFunction } from '../../../../models/form-generic-validation.model';
|
|
7
6
|
import { SdFormGeneric } from '../../../../models/form-generic.model';
|
|
8
7
|
import * as i0 from "@angular/core";
|
|
9
8
|
export declare class ConfigureValidationComponent {
|
|
10
|
-
private ref;
|
|
11
|
-
private formGenericConfiguration;
|
|
12
9
|
modal?: SdModal;
|
|
13
10
|
form: FormGroup<{}>;
|
|
14
11
|
attributes: Attribute[];
|
|
@@ -19,13 +16,15 @@ export declare class ConfigureValidationComponent {
|
|
|
19
16
|
display: string;
|
|
20
17
|
}[];
|
|
21
18
|
accept: EventEmitter<SdFormGenericValidation[]>;
|
|
22
|
-
|
|
19
|
+
private readonly ref;
|
|
20
|
+
private readonly formGenericConfiguration;
|
|
21
|
+
constructor();
|
|
23
22
|
ngAfterViewInit(): void;
|
|
24
23
|
ngOnDestroy(): void;
|
|
25
24
|
open: (formGeneric: SdFormGeneric) => void;
|
|
26
25
|
addValidation: (type: SdFormGenericValidation["type"]) => void;
|
|
27
26
|
removaValidation: (index: number) => void;
|
|
28
27
|
updateValidations: () => void;
|
|
29
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ConfigureValidationComponent,
|
|
28
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ConfigureValidationComponent, never>;
|
|
30
29
|
static ɵcmp: i0.ɵɵComponentDeclaration<ConfigureValidationComponent, "configure-validation", never, {}, { "accept": "accept"; }, never, never, true, never>;
|
|
31
30
|
}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
import { AfterViewInit,
|
|
1
|
+
import { AfterViewInit, OnDestroy, QueryList } from '@angular/core';
|
|
2
2
|
import { FormGroup } from '@angular/forms';
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
|
-
import { ISdFormGenericConfiguration } from '../../configurations';
|
|
5
4
|
import { SdFormRenderConfiguration } from '../../models';
|
|
6
5
|
import { SdFormGenericValidation } from '../../models/form-generic-validation.model';
|
|
7
6
|
import { LibItemComponent } from './components';
|
|
8
7
|
import * as i0 from "@angular/core";
|
|
9
8
|
export declare class SdFormRender implements OnDestroy, AfterViewInit {
|
|
10
9
|
#private;
|
|
11
|
-
private ref;
|
|
12
|
-
private formGenericConfiguration;
|
|
13
10
|
formRenderItems: QueryList<LibItemComponent>;
|
|
14
11
|
form: FormGroup;
|
|
15
12
|
configuration: SdFormRenderConfiguration;
|
|
@@ -28,11 +25,12 @@ export declare class SdFormRender implements OnDestroy, AfterViewInit {
|
|
|
28
25
|
key: string;
|
|
29
26
|
value: any;
|
|
30
27
|
}>;
|
|
31
|
-
|
|
28
|
+
private readonly ref;
|
|
29
|
+
private readonly formGenericConfiguration;
|
|
32
30
|
ngAfterViewInit(): void;
|
|
33
31
|
ngOnDestroy(): void;
|
|
34
32
|
upload: () => Promise<void>;
|
|
35
33
|
getValidationMessages: (alert: SdFormGenericValidation["alert"]) => Promise<string[] | undefined>;
|
|
36
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SdFormRender,
|
|
34
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SdFormRender, never>;
|
|
37
35
|
static ɵcmp: i0.ɵɵComponentDeclaration<SdFormRender, "sd-form-render", never, { "form": { "alias": "form"; "required": false; }; "_configuration": { "alias": "configuration"; "required": true; }; "_default": { "alias": "defaultEntity"; "required": false; }; "_entity": { "alias": "entity"; "required": false; }; "_properties": { "alias": "properties"; "required": false; }; "_viewed": { "alias": "viewed"; "required": false; }; }, {}, never, never, true, never>;
|
|
38
36
|
}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { SdSearch } from '@sd-angular/core/forms';
|
|
2
|
-
import { ISdFormGenericConfiguration } from '../configurations';
|
|
3
2
|
import { SdFormGenericArgs, SdFormGenericDefinitionHtml, SdFormGenericDefinitionSelection, SdFormGenericSelectionItem } from '../models';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
export declare class FormGenericService {
|
|
6
5
|
#private;
|
|
7
6
|
private readonly configuration;
|
|
8
|
-
constructor(configuration: ISdFormGenericConfiguration);
|
|
9
7
|
get selections(): (() => Promise<SdFormGenericDefinitionSelection[]>) | SdFormGenericDefinitionSelection<any, any>[] | (() => SdFormGenericDefinitionSelection<any, any>[]);
|
|
10
8
|
get tables(): import("@sd-angular/core/components/form-generic").SdFormGenericDefinitionTable<any>[];
|
|
11
9
|
getSelection: (valuesKey: string | undefined | null) => Promise<SdFormGenericDefinitionSelection | undefined>;
|
|
@@ -21,6 +19,6 @@ export declare class FormGenericService {
|
|
|
21
19
|
definitions: () => Promise<SdFormGenericDefinitionHtml[]>;
|
|
22
20
|
getContent: (template: string, query?: Record<string, any>) => Promise<string>;
|
|
23
21
|
};
|
|
24
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FormGenericService,
|
|
22
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormGenericService, never>;
|
|
25
23
|
static ɵprov: i0.ɵɵInjectableDeclaration<FormGenericService>;
|
|
26
24
|
}
|
|
@@ -15,7 +15,7 @@ export declare class SdModal {
|
|
|
15
15
|
width: import("@angular/core").InputSignalWithTransform<string, string | null | undefined>;
|
|
16
16
|
height: import("@angular/core").InputSignalWithTransform<string, string | null | undefined>;
|
|
17
17
|
view: import("@angular/core").InputSignalWithTransform<"dialog" | "bottom-sheet" | undefined, "dialog" | "bottom-sheet" | null | undefined>;
|
|
18
|
-
modalClass: import("@angular/core").InputSignalWithTransform<string |
|
|
18
|
+
modalClass: import("@angular/core").InputSignalWithTransform<string | Record<string, boolean> | string[], string | Record<string, boolean> | string[] | null | undefined>;
|
|
19
19
|
lazyLoadContent: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
20
20
|
hideClose: import("@angular/core").InputSignalWithTransform<boolean, boolean | "">;
|
|
21
21
|
disableBackdropClose: import("@angular/core").InputSignalWithTransform<boolean, boolean | "">;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Type } from '@angular/core';
|
|
1
|
+
import { InjectionToken, Type } from '@angular/core';
|
|
2
2
|
import { Color } from '@sdcorejs/utils/models';
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
4
|
export interface SdTabInfo {
|
|
@@ -19,3 +19,4 @@ export interface SdTab {
|
|
|
19
19
|
tabInfoChanges: Subject<SdTabInfo>;
|
|
20
20
|
beforeClose?: () => boolean | Promise<boolean>;
|
|
21
21
|
}
|
|
22
|
+
export declare const SD_TAB: InjectionToken<SdTab>;
|
|
@@ -13,7 +13,6 @@ export declare class SdTabRouterService {
|
|
|
13
13
|
currentTabChanges: BehaviorSubject<SdTab | undefined>;
|
|
14
14
|
newTabs: BehaviorSubject<SdTab | undefined>;
|
|
15
15
|
updateTabs: BehaviorSubject<SdTab | undefined>;
|
|
16
|
-
constructor();
|
|
17
16
|
addBuilder: (builder: SdTabComponentBuilder) => void;
|
|
18
17
|
get currentTab(): SdTab | undefined;
|
|
19
18
|
get currentKey(): string | null;
|
|
@@ -2,13 +2,13 @@ import { SdTableCommand } from '../../models/table-command.model';
|
|
|
2
2
|
import { SdTableItem } from '../../models/table-item.model';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class DesktopCommand {
|
|
5
|
-
autoIdInput: import("@angular/core").InputSignal<string | null | undefined>;
|
|
6
|
-
item: import("@angular/core").InputSignal<SdTableItem<any>>;
|
|
7
|
-
itemIndex: import("@angular/core").InputSignal<number>;
|
|
8
|
-
commands: import("@angular/core").InputSignal<SdTableCommand[] | null | undefined>;
|
|
9
|
-
itemKey: import("@angular/core").Signal<string>;
|
|
10
|
-
autoId: import("@angular/core").Signal<string>;
|
|
11
|
-
_commands: import("@angular/core").Signal<SdTableCommand[]>;
|
|
5
|
+
readonly autoIdInput: import("@angular/core").InputSignal<string | null | undefined>;
|
|
6
|
+
readonly item: import("@angular/core").InputSignal<SdTableItem<any>>;
|
|
7
|
+
readonly itemIndex: import("@angular/core").InputSignal<number>;
|
|
8
|
+
readonly commands: import("@angular/core").InputSignal<SdTableCommand[] | null | undefined>;
|
|
9
|
+
readonly itemKey: import("@angular/core").Signal<string>;
|
|
10
|
+
readonly autoId: import("@angular/core").Signal<string>;
|
|
11
|
+
readonly _commands: import("@angular/core").Signal<SdTableCommand[]>;
|
|
12
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<DesktopCommand, never>;
|
|
13
13
|
static ɵcmp: i0.ɵɵComponentDeclaration<DesktopCommand, "desktop-command", never, { "autoIdInput": { "alias": "autoId"; "required": false; "isSignal": true; }; "item": { "alias": "item"; "required": true; "isSignal": true; }; "itemIndex": { "alias": "itemIndex"; "required": true; "isSignal": true; }; "commands": { "alias": "commands"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
14
14
|
}
|
|
@@ -3,18 +3,7 @@ import { SdTableCommand } from '../../../models/table-command.model';
|
|
|
3
3
|
import { SdTableItem } from '../../../models/table-item.model';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
7
|
-
* chứa `disabled`, `title`, `icon`, và `htmlTemplate` (khi command là child có
|
|
8
|
-
* htmlTemplate). Một lần gọi cho cả 4 truy vấn, template dùng `@let` để alias.
|
|
9
|
-
*
|
|
10
|
-
* Trước đây tách thành 3 pipe `commandDisable` / `commandTitle` / `commandIcon`.
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* @let meta = item | command:cmd;
|
|
14
|
-
* <button [disabled]="meta.disabled" [matTooltip]="meta.title">
|
|
15
|
-
* <mat-icon>{{ meta.icon }}</mat-icon>
|
|
16
|
-
* <div [innerHTML]="meta.htmlTemplate"></div>
|
|
17
|
-
* </button>
|
|
6
|
+
* Resolves command metadata for the current row once, then lets the template reuse it with `@let`.
|
|
18
7
|
*/
|
|
19
8
|
export declare class CommandPipe implements PipeTransform {
|
|
20
9
|
#private;
|
|
@@ -3,14 +3,7 @@ import { SdTableCommand, SdTableCommandChildren, SdTableCommandNormal } from '..
|
|
|
3
3
|
import { SdTableItem } from '../../../models/table-item.model';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
7
|
-
* cho từng row. Output dùng trực tiếp trong template không cần thêm pipe phụ.
|
|
8
|
-
*
|
|
9
|
-
* Đã rename từ `commandFilter` → `filter` sau khi gom toàn bộ pipe command vào
|
|
10
|
-
* `components/command/pipes/`.
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* @let filteredCommands = item | filter:commands | async;
|
|
6
|
+
* Filters visible commands and pre-resolves icon, title, and stable key for the current row.
|
|
14
7
|
*/
|
|
15
8
|
export declare class CommandFilterPipe implements PipeTransform {
|
|
16
9
|
#private;
|
|
@@ -4,6 +4,7 @@ import { Operator } from '@sdcorejs/utils/models';
|
|
|
4
4
|
import { SdTableColumn } from '../../../models/table-column.model';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare class ColumnFilterComponent {
|
|
7
|
+
#private;
|
|
7
8
|
autoIdInput: import("@angular/core").InputSignal<string | null | undefined>;
|
|
8
9
|
column: import("@angular/core").InputSignal<SdTableColumn>;
|
|
9
10
|
columnFilter: import("@angular/core").InputSignal<Record<string, any>>;
|
|
@@ -22,7 +23,6 @@ export declare class ColumnFilterComponent {
|
|
|
22
23
|
display: string;
|
|
23
24
|
}[]>;
|
|
24
25
|
operatorValues: Signal<Operator[]>;
|
|
25
|
-
operatorWrapperClass: Signal<"mb-4 mr-2" | "mr-2">;
|
|
26
26
|
items: Signal<any[] | SdSearch | Signal<any[]>>;
|
|
27
27
|
constructor();
|
|
28
28
|
onFilterChange: () => void;
|
|
@@ -45,6 +45,7 @@ interface SdTableColumnBase<T = any> {
|
|
|
45
45
|
filter?: {
|
|
46
46
|
disabled?: boolean;
|
|
47
47
|
default?: any;
|
|
48
|
+
onChange?: (value: any, column?: SdTableColumn<T>, columnFilter?: Record<string, any>) => void;
|
|
48
49
|
operator?: {
|
|
49
50
|
default?: Operator;
|
|
50
51
|
enable?: boolean;
|
|
@@ -66,7 +67,7 @@ interface SdTableColumnNumber<T = any> extends SdTableColumnBase<T> {
|
|
|
66
67
|
field: NestedKeyOf<T>;
|
|
67
68
|
type: 'number';
|
|
68
69
|
useBadge?: UseBadgeFunc<T>;
|
|
69
|
-
filter?: SdTableColumnBase['filter'] & {
|
|
70
|
+
filter?: SdTableColumnBase<T>['filter'] & {
|
|
70
71
|
type?: 'split-number';
|
|
71
72
|
};
|
|
72
73
|
}
|
|
@@ -83,7 +84,7 @@ interface SdTableColumnDate<T = any> extends SdTableColumnBase<T> {
|
|
|
83
84
|
field: NestedKeyOf<T>;
|
|
84
85
|
type: 'date' | 'datetime' | 'time';
|
|
85
86
|
useBadge?: UseBadgeFunc<T>;
|
|
86
|
-
filter?: SdTableColumnBase['filter'] & {
|
|
87
|
+
filter?: SdTableColumnBase<T>['filter'] & {
|
|
87
88
|
type?: 'daterange' | 'date' | 'split-date';
|
|
88
89
|
};
|
|
89
90
|
}
|
|
@@ -3,7 +3,7 @@ import { SdTableOptionSelector } from '../models/table-option-selector.model';
|
|
|
3
3
|
import { SdTableItem } from '../models/table-item.model';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class SdSelectionDisabledPipe implements PipeTransform {
|
|
6
|
-
transform: (selectedItems: SdTableItem[], rowData: SdTableItem
|
|
6
|
+
transform: <T>(selectedItems: SdTableItem<T>[], rowData: SdTableItem<T>, selection: SdTableOptionSelector<T>) => boolean;
|
|
7
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdSelectionDisabledPipe, never>;
|
|
8
8
|
static ɵpipe: i0.ɵɵPipeDeclaration<SdSelectionDisabledPipe, "selectionDisabled", true>;
|
|
9
9
|
}
|
|
@@ -1,21 +1,20 @@
|
|
|
1
|
-
import { SdStorage
|
|
1
|
+
import { SdStorage } from '@sd-angular/core/services';
|
|
2
2
|
import { ConfiguredTable, ConfiguredTableResult } from '../models/table-option-config.model';
|
|
3
3
|
import { SdTableOption } from '../models/table-option.model';
|
|
4
4
|
import { ISdTableConfiguration } from '../configurations';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare class ConfigService {
|
|
7
7
|
#private;
|
|
8
|
-
private storageService;
|
|
9
|
-
tableConfiguration: ISdTableConfiguration;
|
|
10
8
|
widthChange$: import("rxjs").Observable<{
|
|
11
9
|
field: string;
|
|
12
10
|
width: string;
|
|
13
11
|
}>;
|
|
14
|
-
|
|
12
|
+
private readonly storageService;
|
|
13
|
+
readonly tableConfiguration: ISdTableConfiguration | null;
|
|
15
14
|
loadConfiguredTable: (option: SdTableOption) => ConfiguredTable;
|
|
16
15
|
loadConfigurationResult: (option: SdTableOption, configuration: ConfiguredTable) => ConfiguredTableResult;
|
|
17
16
|
init: (tableOption: SdTableOption) => SdStorage<ConfiguredTable>;
|
|
18
17
|
persistColumnWidth: (field: string, width: string) => void;
|
|
19
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ConfigService,
|
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ConfigService, never>;
|
|
20
19
|
static ɵprov: i0.ɵɵInjectableDeclaration<ConfigService>;
|
|
21
20
|
}
|
|
@@ -14,6 +14,7 @@ export declare class SdTableFilterService {
|
|
|
14
14
|
externalFilters: SdTableExternalFilter[] | undefined;
|
|
15
15
|
filterDefs: SdTableFilterDefDirective[] | undefined;
|
|
16
16
|
columnOperator?: Record<string, Operator>;
|
|
17
|
+
force?: boolean;
|
|
17
18
|
}) => TableFilterRegister;
|
|
18
19
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdTableFilterService, never>;
|
|
19
20
|
static ɵprov: i0.ɵɵInjectableDeclaration<SdTableFilterService>;
|