@elasticias/ui 1.0.27 → 1.0.29
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/package.json
CHANGED
package/types/elasticias-ui.d.ts
CHANGED
|
@@ -4407,6 +4407,15 @@ type EfTableDensity = 'compact' | 'default' | 'comfortable';
|
|
|
4407
4407
|
* 2. **`tbl-head-info` / `tbl-head-actions` slots**: still projected
|
|
4408
4408
|
* so the consumer can render the count text + density / columns /
|
|
4409
4409
|
* view-toggle buttons next to the table header.
|
|
4410
|
+
* 3. **`[loading]` is not optional.** Bind the screen's own loading
|
|
4411
|
+
* signal: without it the card can't tell "still fetching" from
|
|
4412
|
+
* "nothing to fetch" and greets a waiting user with the empty
|
|
4413
|
+
* state. While loading with no rows yet it shimmers `ef-skeleton`
|
|
4414
|
+
* rows (table and mobile list alike) and flags `aria-busy`.
|
|
4415
|
+
* 4. **Bind `(retry)` wherever you bind `[errorMsg]`.** An empty result
|
|
4416
|
+
* set that came from a failed request renders the error state, not
|
|
4417
|
+
* the empty one, and its "try again" button is the way out. The card
|
|
4418
|
+
* doesn't know the query, so the screen re-runs it.
|
|
4410
4419
|
*
|
|
4411
4420
|
* ```html
|
|
4412
4421
|
* <ef-data-card
|
|
@@ -4499,10 +4508,48 @@ declare class EfDataCardComponent<TRow = any> implements AfterContentInit {
|
|
|
4499
4508
|
readonly hidePager: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4500
4509
|
/** Currently active sort. Header click toggles asc / desc. */
|
|
4501
4510
|
readonly sort: _angular_core.InputSignal<EfDataCardSort>;
|
|
4511
|
+
/**
|
|
4512
|
+
* First load and every refresh. While true with no rows yet, the body
|
|
4513
|
+
* shimmers `ef-skeleton` placeholders instead of the empty state — a
|
|
4514
|
+
* list that is still loading must never say "nothing here yet". A
|
|
4515
|
+
* refresh that already has rows (paging, sorting, filtering) keeps
|
|
4516
|
+
* them on screen rather than blanking the table; either way the row
|
|
4517
|
+
* container is flagged `aria-busy`, as `ef-card` does.
|
|
4518
|
+
*/
|
|
4502
4519
|
readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4503
|
-
/**
|
|
4520
|
+
/**
|
|
4521
|
+
* Empty string = no error. Non-empty triggers the error chip in
|
|
4522
|
+
* `tbl-head` and, when the request came back with nothing, the error
|
|
4523
|
+
* state in the body.
|
|
4524
|
+
*
|
|
4525
|
+
* It is the *trigger*, not the copy: screens set it from
|
|
4526
|
+
* `err?.message`, which is whatever the HTTP layer threw. The body
|
|
4527
|
+
* state words itself from translated keys instead, so a failed list
|
|
4528
|
+
* never shows an operator a status line or an exception string.
|
|
4529
|
+
*/
|
|
4504
4530
|
readonly errorMsg: _angular_core.InputSignal<string>;
|
|
4505
4531
|
readonly loadingKey: _angular_core.InputSignal<string>;
|
|
4532
|
+
/**
|
|
4533
|
+
* Placeholder rows drawn while the first load is in flight. The page
|
|
4534
|
+
* size is what the operator is about to get, so it sets the height —
|
|
4535
|
+
* clamped so a 100-per-page list doesn't shimmer a full screen of
|
|
4536
|
+
* bars, and a 5-per-page one still reads as a list.
|
|
4537
|
+
*/
|
|
4538
|
+
readonly skeletonLines: _angular_core.Signal<number[]>;
|
|
4539
|
+
/** First load: nothing to show yet, so the rows are placeholders. */
|
|
4540
|
+
readonly showSkeleton: _angular_core.Signal<boolean>;
|
|
4541
|
+
/**
|
|
4542
|
+
* The request failed and brought nothing back. Without this the body
|
|
4543
|
+
* falls through to the empty state and tells the operator, calmly and
|
|
4544
|
+
* in the product's own voice, that they have no clients — a false
|
|
4545
|
+
* statement about their data that they may go on to act on.
|
|
4546
|
+
*
|
|
4547
|
+
* Third in the chain, after the skeleton and before the empty state:
|
|
4548
|
+
* a retry that is already in flight shows progress, not the error it
|
|
4549
|
+
* is busy clearing. Rows already on screen stay there and keep the
|
|
4550
|
+
* head chip as the failure signal, the way a failed refresh should.
|
|
4551
|
+
*/
|
|
4552
|
+
readonly showError: _angular_core.Signal<boolean>;
|
|
4506
4553
|
/**
|
|
4507
4554
|
* When `true`, double-clicking anywhere on a `<tr>` emits the row
|
|
4508
4555
|
* via `rowDoubleClick` and the body rows render with
|
|
@@ -4580,6 +4627,13 @@ declare class EfDataCardComponent<TRow = any> implements AfterContentInit {
|
|
|
4580
4627
|
readonly exportRequest: _angular_core.OutputEmitterRef<EfDataCardExportRequest>;
|
|
4581
4628
|
/** Raised by the empty state's "clear search" action. */
|
|
4582
4629
|
readonly clearSearch: _angular_core.OutputEmitterRef<void>;
|
|
4630
|
+
/**
|
|
4631
|
+
* Raised by the error state's "try again" button. The card knows the
|
|
4632
|
+
* request failed but not what the request was, so the screen re-runs
|
|
4633
|
+
* it — typically `(retry)="search()"` on a list screen. Unbound, the
|
|
4634
|
+
* button is a dead control, so bind it wherever `[errorMsg]` is bound.
|
|
4635
|
+
*/
|
|
4636
|
+
readonly retry: _angular_core.OutputEmitterRef<void>;
|
|
4583
4637
|
private readonly bodyTemplates;
|
|
4584
4638
|
private readonly headerTemplates;
|
|
4585
4639
|
private readonly bodyTemplateMap;
|
|
@@ -4739,7 +4793,7 @@ declare class EfDataCardComponent<TRow = any> implements AfterContentInit {
|
|
|
4739
4793
|
trackByRow: (_: number, row: TRow) => unknown;
|
|
4740
4794
|
trackByColumn: (_: number, col: EfDataCardColumn) => string;
|
|
4741
4795
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EfDataCardComponent<any>, never>;
|
|
4742
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfDataCardComponent<any>, "ef-data-card", never, { "mobileLayout": { "alias": "mobileLayout"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "trackByField": { "alias": "trackByField"; "required": false; "isSignal": true; }; "pageNumber": { "alias": "pageNumber"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "totalCount": { "alias": "totalCount"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "hidePager": { "alias": "hidePager"; "required": false; "isSignal": true; }; "sort": { "alias": "sort"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "errorMsg": { "alias": "errorMsg"; "required": false; "isSignal": true; }; "loadingKey": { "alias": "loadingKey"; "required": false; "isSignal": true; }; "rowDoubleClickable": { "alias": "rowDoubleClickable"; "required": false; "isSignal": true; }; "hasActionsColumn": { "alias": "hasActionsColumn"; "required": false; "isSignal": true; }; "rowActionsContext": { "alias": "rowActionsContext"; "required": false; "isSignal": true; }; "showViewAction": { "alias": "showViewAction"; "required": false; "isSignal": true; }; "showEditAction": { "alias": "showEditAction"; "required": false; "isSignal": true; }; "showDuplicateAction": { "alias": "showDuplicateAction"; "required": false; "isSignal": true; }; "showDeleteAction": { "alias": "showDeleteAction"; "required": false; "isSignal": true; }; "showDensityControl": { "alias": "showDensityControl"; "required": false; "isSignal": true; }; "showColumnPicker": { "alias": "showColumnPicker"; "required": false; "isSignal": true; }; "showExportControl": { "alias": "showExportControl"; "required": false; "isSignal": true; }; "exporting": { "alias": "exporting"; "required": false; "isSignal": true; }; "screenContext": { "alias": "screenContext"; "required": false; "isSignal": true; }; "searchTerm": { "alias": "searchTerm"; "required": false; "isSignal": true; }; "tableKey": { "alias": "tableKey"; "required": false; "isSignal": true; }; "defaultDensity": { "alias": "defaultDensity"; "required": false; "isSignal": true; }; "reorderable": { "alias": "reorderable"; "required": false; "isSignal": true; }; "fixedLayout": { "alias": "fixedLayout"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; "pageSizeChange": "pageSizeChange"; "sortChange": "sortChange"; "rowDoubleClick": "rowDoubleClick"; "rowAction": "rowAction"; "exportRequest": "exportRequest"; "clearSearch": "clearSearch"; "rowReorder": "rowReorder"; }, ["bodyTemplates", "headerTemplates"], ["[tbl-head-info]", "[tbl-head-actions]", "[empty-state-mobile]", "[empty-state]"], true, never>;
|
|
4796
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfDataCardComponent<any>, "ef-data-card", never, { "mobileLayout": { "alias": "mobileLayout"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "trackByField": { "alias": "trackByField"; "required": false; "isSignal": true; }; "pageNumber": { "alias": "pageNumber"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "totalCount": { "alias": "totalCount"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "hidePager": { "alias": "hidePager"; "required": false; "isSignal": true; }; "sort": { "alias": "sort"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "errorMsg": { "alias": "errorMsg"; "required": false; "isSignal": true; }; "loadingKey": { "alias": "loadingKey"; "required": false; "isSignal": true; }; "rowDoubleClickable": { "alias": "rowDoubleClickable"; "required": false; "isSignal": true; }; "hasActionsColumn": { "alias": "hasActionsColumn"; "required": false; "isSignal": true; }; "rowActionsContext": { "alias": "rowActionsContext"; "required": false; "isSignal": true; }; "showViewAction": { "alias": "showViewAction"; "required": false; "isSignal": true; }; "showEditAction": { "alias": "showEditAction"; "required": false; "isSignal": true; }; "showDuplicateAction": { "alias": "showDuplicateAction"; "required": false; "isSignal": true; }; "showDeleteAction": { "alias": "showDeleteAction"; "required": false; "isSignal": true; }; "showDensityControl": { "alias": "showDensityControl"; "required": false; "isSignal": true; }; "showColumnPicker": { "alias": "showColumnPicker"; "required": false; "isSignal": true; }; "showExportControl": { "alias": "showExportControl"; "required": false; "isSignal": true; }; "exporting": { "alias": "exporting"; "required": false; "isSignal": true; }; "screenContext": { "alias": "screenContext"; "required": false; "isSignal": true; }; "searchTerm": { "alias": "searchTerm"; "required": false; "isSignal": true; }; "tableKey": { "alias": "tableKey"; "required": false; "isSignal": true; }; "defaultDensity": { "alias": "defaultDensity"; "required": false; "isSignal": true; }; "reorderable": { "alias": "reorderable"; "required": false; "isSignal": true; }; "fixedLayout": { "alias": "fixedLayout"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; "pageSizeChange": "pageSizeChange"; "sortChange": "sortChange"; "rowDoubleClick": "rowDoubleClick"; "rowAction": "rowAction"; "exportRequest": "exportRequest"; "clearSearch": "clearSearch"; "retry": "retry"; "rowReorder": "rowReorder"; }, ["bodyTemplates", "headerTemplates"], ["[tbl-head-info]", "[tbl-head-actions]", "[empty-state-mobile]", "[empty-state]"], true, never>;
|
|
4743
4797
|
}
|
|
4744
4798
|
|
|
4745
4799
|
/**
|