@akcelik/strct 4.7.0 → 4.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/akcelik-strct.mjs +214 -45
- package/fesm2022/akcelik-strct.mjs.map +1 -1
- package/package.json +1 -1
- package/types/akcelik-strct.d.ts +42 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@akcelik/strct",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.8.0",
|
|
4
4
|
"description": "UIStruct — a standalone Angular component library with a tokenised, multi-palette theme system, built for datacenter / infrastructure management UIs.",
|
|
5
5
|
"author": "Serkan Akcelik <serkan.akcelik@gmail.com>",
|
|
6
6
|
"license": "MIT",
|
package/types/akcelik-strct.d.ts
CHANGED
|
@@ -3413,6 +3413,8 @@ interface StrctDatagridLabels {
|
|
|
3413
3413
|
/** Row-checkbox label factory: receives the row's id (`rowId`) or its
|
|
3414
3414
|
* 1-based index, so every row's checkbox gets a distinct name. */
|
|
3415
3415
|
selectRowFor: (id: string) => string;
|
|
3416
|
+
/** Label of a group header's select-all checkbox (`groupSelect`). */
|
|
3417
|
+
selectAllInGroup: (group: string) => string;
|
|
3416
3418
|
openDetail: string;
|
|
3417
3419
|
toggleDetail: string;
|
|
3418
3420
|
closeDetail: string;
|
|
@@ -3555,6 +3557,23 @@ declare class StrctDatagrid {
|
|
|
3555
3557
|
* that replace the row objects. Defaults to object identity.
|
|
3556
3558
|
*/
|
|
3557
3559
|
readonly rowId: _angular_core.InputSignal<StrctRowId | null>;
|
|
3560
|
+
/**
|
|
3561
|
+
* How many rows a user may pick. `selectable` remains the boolean for
|
|
3562
|
+
* `multiple`, so nothing changes for a grid that already uses it; picking
|
|
3563
|
+
* exactly one row is grid behaviour rather than a column of radios the
|
|
3564
|
+
* consumer builds and wires by hand.
|
|
3565
|
+
*/
|
|
3566
|
+
readonly selectionMode: _angular_core.InputSignal<"none" | "multiple" | "single">;
|
|
3567
|
+
/** Two-way single selection: the row id (per `rowId`), or null. */
|
|
3568
|
+
readonly selectedId: _angular_core.ModelSignal<unknown>;
|
|
3569
|
+
/**
|
|
3570
|
+
* Whether a row may be picked. Return `false` to lock it, or a string to lock
|
|
3571
|
+
* it AND say why — shown as the row's tooltip and given to assistive tech as
|
|
3572
|
+
* the control's description, following the `hint` convention.
|
|
3573
|
+
*/
|
|
3574
|
+
readonly rowSelectable: _angular_core.InputSignal<((row: StrctRow) => boolean | string) | null>;
|
|
3575
|
+
/** With `groupBy` and multiple selection: a tri-state checkbox per group. */
|
|
3576
|
+
readonly groupSelect: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3558
3577
|
/**
|
|
3559
3578
|
* Per-row action menu resolver. When set, each row gets a trailing actions
|
|
3560
3579
|
* column with a vertical-dots (kebab) button that opens this row's menu.
|
|
@@ -3578,6 +3597,7 @@ declare class StrctDatagrid {
|
|
|
3578
3597
|
selectAll: string;
|
|
3579
3598
|
selectRow: string;
|
|
3580
3599
|
selectRowFor: (id: string) => string;
|
|
3600
|
+
selectAllInGroup: (group: string) => string;
|
|
3581
3601
|
openDetail: string;
|
|
3582
3602
|
toggleDetail: string;
|
|
3583
3603
|
closeDetail: string;
|
|
@@ -3825,6 +3845,27 @@ declare class StrctDatagrid {
|
|
|
3825
3845
|
protected readonly somePageSelected: _angular_core.Signal<boolean>;
|
|
3826
3846
|
/** Dev-mode check that row identities can do their job (see util/dev-warn). */
|
|
3827
3847
|
private diagnoseIdentity;
|
|
3848
|
+
/** `selectionMode` wins; `selectable` is the pre-4.8 spelling of 'multiple'. */
|
|
3849
|
+
protected readonly mode: _angular_core.Signal<"none" | "multiple" | "single">;
|
|
3850
|
+
protected readonly hasSelectionColumn: _angular_core.Signal<boolean>;
|
|
3851
|
+
/** One radio group per grid instance. */
|
|
3852
|
+
protected readonly radioName: string;
|
|
3853
|
+
/**
|
|
3854
|
+
* Why a row cannot be picked: `null` when it can, `''` when it cannot with no
|
|
3855
|
+
* reason given, or the reason. A locked row keeps its normal colours — a
|
|
3856
|
+
* locked candidate is still worth reading — and stays reachable, so the
|
|
3857
|
+
* reason can be read.
|
|
3858
|
+
*/
|
|
3859
|
+
lockedReason(row: StrctRow): string | null;
|
|
3860
|
+
/** Click anywhere on the row picks it, in single mode only. */
|
|
3861
|
+
protected onRowPick(row: StrctRow): void;
|
|
3862
|
+
/** Pick exactly this row. `selectionChange` still fires, with one element. */
|
|
3863
|
+
selectSingle(row: StrctRow): void;
|
|
3864
|
+
/** Rows of one group that are actually pickable. */
|
|
3865
|
+
private groupRows;
|
|
3866
|
+
protected groupAllSelected(key: unknown): boolean;
|
|
3867
|
+
protected groupSomeSelected(key: unknown): boolean;
|
|
3868
|
+
protected toggleGroupSelection(key: unknown): void;
|
|
3828
3869
|
/** Resolve a row's stable identity: its `rowId` value, or the row object
|
|
3829
3870
|
* itself when there is no `rowId` or it resolves to null/undefined. */
|
|
3830
3871
|
private idOf;
|
|
@@ -3900,7 +3941,7 @@ declare class StrctDatagrid {
|
|
|
3900
3941
|
private commitSelection;
|
|
3901
3942
|
private compare;
|
|
3902
3943
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctDatagrid, never>;
|
|
3903
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctDatagrid, "strct-datagrid", never, { "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "rows": { "alias": "rows"; "required": true; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "expandable": { "alias": "expandable"; "required": false; "isSignal": true; }; "detailPane": { "alias": "detailPane"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "singleLine": { "alias": "singleLine"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "columnChooser": { "alias": "columnChooser"; "required": false; "isSignal": true; }; "sync": { "alias": "sync"; "required": false; "isSignal": true; }; "footerActionsDisabled": { "alias": "footerActionsDisabled"; "required": false; "isSignal": true; }; "rowId": { "alias": "rowId"; "required": false; "isSignal": true; }; "rowActions": { "alias": "rowActions"; "required": false; "isSignal": true; }; "initialSelection": { "alias": "initialSelection"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "virtual": { "alias": "virtual"; "required": false; "isSignal": true; }; "viewportHeight": { "alias": "viewportHeight"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "lazy": { "alias": "lazy"; "required": false; "isSignal": true; }; "total": { "alias": "total"; "required": false; "isSignal": true; }; "stateKey": { "alias": "stateKey"; "required": false; "isSignal": true; }; "columnState": { "alias": "columnState"; "required": false; "isSignal": true; }; "reorderable": { "alias": "reorderable"; "required": false; "isSignal": true; }; "groupBy": { "alias": "groupBy"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "quickFilter": { "alias": "quickFilter"; "required": false; "isSignal": true; }; "quickFilterFields": { "alias": "quickFilterFields"; "required": false; "isSignal": true; }; "quickFilterable": { "alias": "quickFilterable"; "required": false; "isSignal": true; }; "quickFilterAlign": { "alias": "quickFilterAlign"; "required": false; "isSignal": true; }; "childrenKey": { "alias": "childrenKey"; "required": false; "isSignal": true; }; }, { "columnState": "columnStateChange"; "filters": "filtersChange"; "quickFilter": "quickFilterChange"; "selectionChange": "selectionChange"; "syncChange": "syncChange"; "rowAction": "rowAction"; "lazyLoad": "lazyLoad"; "cellEdit": "cellEdit"; }, ["detailDef", "actionBarDef", "cellDefs"], ["[strctDatagridActionBarCaption]", "[strctDatagridActionBar]"], true, never>;
|
|
3944
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctDatagrid, "strct-datagrid", never, { "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "rows": { "alias": "rows"; "required": true; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "expandable": { "alias": "expandable"; "required": false; "isSignal": true; }; "detailPane": { "alias": "detailPane"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "singleLine": { "alias": "singleLine"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "columnChooser": { "alias": "columnChooser"; "required": false; "isSignal": true; }; "sync": { "alias": "sync"; "required": false; "isSignal": true; }; "footerActionsDisabled": { "alias": "footerActionsDisabled"; "required": false; "isSignal": true; }; "rowId": { "alias": "rowId"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "selectedId": { "alias": "selectedId"; "required": false; "isSignal": true; }; "rowSelectable": { "alias": "rowSelectable"; "required": false; "isSignal": true; }; "groupSelect": { "alias": "groupSelect"; "required": false; "isSignal": true; }; "rowActions": { "alias": "rowActions"; "required": false; "isSignal": true; }; "initialSelection": { "alias": "initialSelection"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "virtual": { "alias": "virtual"; "required": false; "isSignal": true; }; "viewportHeight": { "alias": "viewportHeight"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "lazy": { "alias": "lazy"; "required": false; "isSignal": true; }; "total": { "alias": "total"; "required": false; "isSignal": true; }; "stateKey": { "alias": "stateKey"; "required": false; "isSignal": true; }; "columnState": { "alias": "columnState"; "required": false; "isSignal": true; }; "reorderable": { "alias": "reorderable"; "required": false; "isSignal": true; }; "groupBy": { "alias": "groupBy"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "quickFilter": { "alias": "quickFilter"; "required": false; "isSignal": true; }; "quickFilterFields": { "alias": "quickFilterFields"; "required": false; "isSignal": true; }; "quickFilterable": { "alias": "quickFilterable"; "required": false; "isSignal": true; }; "quickFilterAlign": { "alias": "quickFilterAlign"; "required": false; "isSignal": true; }; "childrenKey": { "alias": "childrenKey"; "required": false; "isSignal": true; }; }, { "selectedId": "selectedIdChange"; "columnState": "columnStateChange"; "filters": "filtersChange"; "quickFilter": "quickFilterChange"; "selectionChange": "selectionChange"; "syncChange": "syncChange"; "rowAction": "rowAction"; "lazyLoad": "lazyLoad"; "cellEdit": "cellEdit"; }, ["detailDef", "actionBarDef", "cellDefs"], ["[strctDatagridActionBarCaption]", "[strctDatagridActionBar]"], true, never>;
|
|
3904
3945
|
}
|
|
3905
3946
|
|
|
3906
3947
|
/** Timeline node state colors. */
|