@cqa-lib/cqa-ui 1.1.549 → 1.1.551

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.
@@ -20,6 +20,7 @@ export declare class DialogComponent<TResult = unknown> {
20
20
  get panelStyles(): Record<string, string | undefined>;
21
21
  buttonVariant(button: DialogButtonConfig<TResult>): ButtonVariant;
22
22
  isButtonDisabled(button: DialogButtonConfig<TResult>): boolean;
23
+ isButtonLoading(button: DialogButtonConfig<TResult>): boolean;
23
24
  buttonHostClasses(button: DialogButtonConfig<TResult>): string[];
24
25
  private mapAlignmentToClass;
25
26
  private markContentAttached;
@@ -11,6 +11,10 @@ export interface DialogButtonConfig<TResult = unknown> {
11
11
  * (so consumers can read the rendered component instance via `getComponentInstance`)
12
12
  * and is re-evaluated on every change-detection pass. */
13
13
  disabled?: boolean | ((dialogRef: DialogRef<TResult>) => boolean);
14
+ /** Static or dynamic loading state. Drives the cqa-button spinner so consumers
15
+ * can keep the dialog open while an async submit is in flight. Same evaluation
16
+ * contract as `disabled`. */
17
+ loading?: boolean | ((dialogRef: DialogRef<TResult>) => boolean);
14
18
  }
15
19
  export declare type DialogButtonAlignment = 'left' | 'right' | 'center';
16
20
  export interface TemplateDialogContent<TContext = any> {
@@ -18,6 +18,7 @@ export declare class DeleteFolderDialogComponent implements OnInit, OnChanges {
18
18
  private cdr;
19
19
  folderName: string;
20
20
  testCount: number;
21
+ stepGroupCount: number;
21
22
  hasParent: boolean;
22
23
  labels: ModularLabels;
23
24
  strategy: FolderDeleteStrategy;
@@ -30,5 +31,5 @@ export declare class DeleteFolderDialogComponent implements OnInit, OnChanges {
30
31
  get bodyText(): string;
31
32
  setStrategy(value: FolderDeleteStrategy): void;
32
33
  static ɵfac: i0.ɵɵFactoryDeclaration<DeleteFolderDialogComponent, never>;
33
- static ɵcmp: i0.ɵɵComponentDeclaration<DeleteFolderDialogComponent, "cqa-delete-folder-dialog", never, { "folderName": "folderName"; "testCount": "testCount"; "hasParent": "hasParent"; "labels": "labels"; "strategy": "strategy"; }, { "strategyChange": "strategyChange"; }, never, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<DeleteFolderDialogComponent, "cqa-delete-folder-dialog", never, { "folderName": "folderName"; "testCount": "testCount"; "stepGroupCount": "stepGroupCount"; "hasParent": "hasParent"; "labels": "labels"; "strategy": "strategy"; }, { "strategyChange": "strategyChange"; }, never, never>;
34
35
  }
@@ -26,6 +26,7 @@ export declare class FolderSidebarComponent implements OnDestroy {
26
26
  allowDrop: boolean;
27
27
  showCounts: boolean;
28
28
  collapsed: boolean;
29
+ foldersAccordionExpanded: boolean;
29
30
  labels: ModularLabels;
30
31
  /** When true, the sidebar emits `searchChange` and skips its local name filter
31
32
  * — the host is expected to swap `folders` with server-side search results.
@@ -44,6 +45,16 @@ export declare class FolderSidebarComponent implements OnDestroy {
44
45
  * spinner; when set during pagination, a small spinner appears at the
45
46
  * bottom of the tree. */
46
47
  rootFoldersLoading: boolean;
48
+ /** Folder ids currently being saved (rename / move / etc). The sidebar renders
49
+ * a small spinner in place of the count so the user gets feedback while the
50
+ * host's API call is in flight. The host is responsible for adding/removing
51
+ * ids around its async call. */
52
+ savingFolderIds: Array<number>;
53
+ isFolderSaving(id: number): boolean;
54
+ folderRowTooltip(node: FolderNode): string | null;
55
+ /** Visual depth indent: linear up to a cap, then quarter-rate beyond, so deep
56
+ * trees don't push the row content off the right edge of the panel. */
57
+ rowIndent(depth: number): number;
47
58
  folderSelected: EventEmitter<number>;
48
59
  folderExpansionToggled: EventEmitter<{
49
60
  id: number;
@@ -96,6 +107,7 @@ export declare class FolderSidebarComponent implements OnDestroy {
96
107
  newParentId: number | null;
97
108
  }>;
98
109
  collapsedChange: EventEmitter<boolean>;
110
+ foldersAccordionExpandedChange: EventEmitter<boolean>;
99
111
  /** Bound to the search input. Exposed as an Input so hosts can seed/restore
100
112
  * the visible search term across destroy/re-create cycles (e.g., when the
101
113
  * sidebar is `*ngIf`'d out by a view-mode toggle and re-mounted later). */
@@ -202,6 +214,11 @@ export declare class FolderSidebarComponent implements OnDestroy {
202
214
  private parentIdOf;
203
215
  requestCreate(parentId?: number | null): void;
204
216
  togglePanel(): void;
217
+ toggleFoldersAccordion(): void;
218
+ /** Toggles the inline folder-search input. When closing while a query is active,
219
+ * also clear the search so the tree reverts to its full state. */
220
+ searchVisible: boolean;
221
+ toggleSearchVisible(): void;
205
222
  rowDropped(targetId: number | null, event: {
206
223
  testIds: Array<string | number>;
207
224
  targetFolderId: number | null;
@@ -236,6 +253,6 @@ export declare class FolderSidebarComponent implements OnDestroy {
236
253
  */
237
254
  private focusRenameInput;
238
255
  static ɵfac: i0.ɵɵFactoryDeclaration<FolderSidebarComponent, never>;
239
- static ɵcmp: i0.ɵɵComponentDeclaration<FolderSidebarComponent, "cqa-folder-sidebar", never, { "folders": "folders"; "selectedFolderId": "selectedFolderId"; "expandedFolderIds": "expandedFolderIds"; "unorganizedCount": "unorganizedCount"; "allowCreate": "allowCreate"; "allowRename": "allowRename"; "allowDelete": "allowDelete"; "allowMove": "allowMove"; "allowDuplicate": "allowDuplicate"; "allowDrop": "allowDrop"; "showCounts": "showCounts"; "collapsed": "collapsed"; "labels": "labels"; "serverSideSearch": "serverSideSearch"; "rootTotal": "rootTotal"; "folderSearchLoading": "folderSearchLoading"; "rootFoldersLoading": "rootFoldersLoading"; "searchValue": "searchValue"; }, { "folderSelected": "folderSelected"; "folderExpansionToggled": "folderExpansionToggled"; "folderChildrenRequested": "folderChildrenRequested"; "folderLoadMoreRequested": "folderLoadMoreRequested"; "searchChange": "searchChange"; "rootLoadMoreRequested": "rootLoadMoreRequested"; "folderCreated": "folderCreated"; "folderCreateRequested": "folderCreateRequested"; "folderRenamed": "folderRenamed"; "folderDeleted": "folderDeleted"; "folderMoveRequested": "folderMoveRequested"; "folderDuplicateRequested": "folderDuplicateRequested"; "testsDropped": "testsDropped"; "folderDropped": "folderDropped"; "collapsedChange": "collapsedChange"; }, never, never>;
256
+ static ɵcmp: i0.ɵɵComponentDeclaration<FolderSidebarComponent, "cqa-folder-sidebar", never, { "folders": "folders"; "selectedFolderId": "selectedFolderId"; "expandedFolderIds": "expandedFolderIds"; "unorganizedCount": "unorganizedCount"; "allowCreate": "allowCreate"; "allowRename": "allowRename"; "allowDelete": "allowDelete"; "allowMove": "allowMove"; "allowDuplicate": "allowDuplicate"; "allowDrop": "allowDrop"; "showCounts": "showCounts"; "collapsed": "collapsed"; "foldersAccordionExpanded": "foldersAccordionExpanded"; "labels": "labels"; "serverSideSearch": "serverSideSearch"; "rootTotal": "rootTotal"; "folderSearchLoading": "folderSearchLoading"; "rootFoldersLoading": "rootFoldersLoading"; "savingFolderIds": "savingFolderIds"; "searchValue": "searchValue"; }, { "folderSelected": "folderSelected"; "folderExpansionToggled": "folderExpansionToggled"; "folderChildrenRequested": "folderChildrenRequested"; "folderLoadMoreRequested": "folderLoadMoreRequested"; "searchChange": "searchChange"; "rootLoadMoreRequested": "rootLoadMoreRequested"; "folderCreated": "folderCreated"; "folderCreateRequested": "folderCreateRequested"; "folderRenamed": "folderRenamed"; "folderDeleted": "folderDeleted"; "folderMoveRequested": "folderMoveRequested"; "folderDuplicateRequested": "folderDuplicateRequested"; "testsDropped": "testsDropped"; "folderDropped": "folderDropped"; "collapsedChange": "collapsedChange"; "foldersAccordionExpandedChange": "foldersAccordionExpandedChange"; }, never, never>;
240
257
  }
241
258
  export {};
@@ -130,6 +130,12 @@ export declare class ModularTableTemplateComponent implements OnInit, OnChanges,
130
130
  modularLabels: ModularLabels;
131
131
  bulkActions: TableAction[];
132
132
  sidebarCollapsed: boolean;
133
+ /** Controls whether the "Subfolders in {parent}" section is expanded.
134
+ * Two-way bindable as `[(subfolderSectionExpanded)]`. Defaults to true. */
135
+ subfolderSectionExpanded: boolean;
136
+ /** Controls whether the root-view "Organized" folder grid is expanded.
137
+ * Two-way bindable as `[(organizedSectionExpanded)]`. Defaults to true. */
138
+ organizedSectionExpanded: boolean;
133
139
  /** Lazy-load: when true, the sidebar emits `searchChange` and skips its
134
140
  * local name filter so the host can serve search results from the backend. */
135
141
  serverSideSearch: boolean;
@@ -148,6 +154,9 @@ export declare class ModularTableTemplateComponent implements OnInit, OnChanges,
148
154
  * the modular grid renders at the right edge of the Organized row, and is
149
155
  * forwarded to the sidebar for its own loading affordance. */
150
156
  rootFoldersLoading: boolean;
157
+ /** Folder ids whose host-side save (rename / move / etc.) is in flight.
158
+ * Forwarded to the sidebar for loading state. */
159
+ savingFolderIds: Array<number>;
151
160
  /** Override for the currently-selected folder node. Used as a fallback when
152
161
  * `findFolder(folders, selectedFolderId)` misses — e.g., during sidebar
153
162
  * search when `folders` holds only the matched results, the selected
@@ -216,6 +225,10 @@ export declare class ModularTableTemplateComponent implements OnInit, OnChanges,
216
225
  */
217
226
  bulkActionInvoked: EventEmitter<BulkActionInvokedPayload>;
218
227
  sidebarCollapsedChange: EventEmitter<boolean>;
228
+ subfolderSectionExpandedChange: EventEmitter<boolean>;
229
+ organizedSectionExpandedChange: EventEmitter<boolean>;
230
+ toggleSubfolderSection(): void;
231
+ toggleOrganizedSection(): void;
219
232
  /** When true, renders a "Reorder" button in the toolbar. Host-driven. */
220
233
  showReorderButton: boolean;
221
234
  /**
@@ -537,5 +550,5 @@ export declare class ModularTableTemplateComponent implements OnInit, OnChanges,
537
550
  */
538
551
  buildRowDragPayload: (row: any) => Array<string | number>;
539
552
  static ɵfac: i0.ɵɵFactoryDeclaration<ModularTableTemplateComponent, never>;
540
- static ɵcmp: i0.ɵɵComponentDeclaration<ModularTableTemplateComponent, "cqa-modular-table-template", never, { "searchPlaceholder": "searchPlaceholder"; "searchValue": "searchValue"; "showClear": "showClear"; "showSearchBar": "showSearchBar"; "showExportButton": "showExportButton"; "isExporting": "isExporting"; "filterConfig": "filterConfig"; "filterModel": "filterModel"; "showFilterPanel": "showFilterPanel"; "showFilterButton": "showFilterButton"; "otherButtons": "otherButtons"; "otherDropDownButtons": "otherDropDownButtons"; "otherSelectDropDownButtons": "otherSelectDropDownButtons"; "otherButtonLabel": "otherButtonLabel"; "otherButtonVariant": "otherButtonVariant"; "showOtherButton": "showOtherButton"; "showActionButton": "showActionButton"; "showSettingsButton": "showSettingsButton"; "showAutoRefreshButton": "showAutoRefreshButton"; "showViewModeToggle": "showViewModeToggle"; "viewMode": "viewMode"; "viewModeLabels": "viewModeLabels"; "data": "data"; "isEmptyState": "isEmptyState"; "emptyStateConfig": "emptyStateConfig"; "actions": "actions"; "chips": "chips"; "filterApplied": "filterApplied"; "columns": "columns"; "rowSelectable": "rowSelectable"; "selectedAutoRefreshInterval": "selectedAutoRefreshInterval"; "pageIndex": "pageIndex"; "pageSize": "pageSize"; "pageSizeOptions": "pageSizeOptions"; "pageSizeMenuDirection": "pageSizeMenuDirection"; "serverSidePagination": "serverSidePagination"; "totalElements": "totalElements"; "enableLocalSort": "enableLocalSort"; "isTableLoading": "isTableLoading"; "isTableDataLoading": "isTableDataLoading"; "cellJsonPathGetter": "cellJsonPathGetter"; "onJsonPathCopiedHandler": "onJsonPathCopiedHandler"; "selectedItems": "selectedItems"; "showSelectAllInToolbar": "showSelectAllInToolbar"; "showDismissInToolbar": "showDismissInToolbar"; "allSelectedInToolbar": "allSelectedInToolbar"; "folders": "folders"; "rootFolders": "rootFolders"; "selectedFolderId": "selectedFolderId"; "expandedFolderIds": "expandedFolderIds"; "unorganizedCount": "unorganizedCount"; "folderIdAccessor": "folderIdAccessor"; "modularConfig": "modularConfig"; "modularLabels": "modularLabels"; "bulkActions": "bulkActions"; "sidebarCollapsed": "sidebarCollapsed"; "serverSideSearch": "serverSideSearch"; "rootTotal": "rootTotal"; "folderSearchLoading": "folderSearchLoading"; "folderSearchValue": "folderSearchValue"; "rootFoldersLoading": "rootFoldersLoading"; "selectedFolderNode": "selectedFolderNode"; "selectedFolderTrail": "selectedFolderTrail"; "useInternalDialogs": "useInternalDialogs"; "showReorderButton": "showReorderButton"; "reorderSaving": "reorderSaving"; "reorderLabels": "reorderLabels"; "columnVisibility": "columnVisibility"; }, { "onSearchChange": "onSearchChange"; "onExportClick": "onExportClick"; "onApplyFilterClick": "onApplyFilterClick"; "onResetFilterClick": "onResetFilterClick"; "onClearAll": "onClearAll"; "removeChip": "removeChip"; "viewModeChange": "viewModeChange"; "pageChange": "pageChange"; "sortChange": "sortChange"; "folderSelected": "folderSelected"; "folderExpansionToggled": "folderExpansionToggled"; "folderChildrenRequested": "folderChildrenRequested"; "folderLoadMoreRequested": "folderLoadMoreRequested"; "rootLoadMoreRequested": "rootLoadMoreRequested"; "folderSearchChange": "folderSearchChange"; "folderCreated": "folderCreated"; "folderCreateRequested": "folderCreateRequested"; "folderRenamed": "folderRenamed"; "folderDeleted": "folderDeleted"; "testsMoved": "testsMoved"; "bulkActionClick": "bulkActionClick"; "bulkSelectAllChange": "bulkSelectAllChange"; "bulkDismiss": "bulkDismiss"; "bulkActionInvoked": "bulkActionInvoked"; "sidebarCollapsedChange": "sidebarCollapsedChange"; "reorderStart": "reorderStart"; "reorderCancel": "reorderCancel"; "reorderSave": "reorderSave"; "moveRequested": "moveRequested"; "selectedItemsChange": "selectedItemsChange"; "folderDeleteRequested": "folderDeleteRequested"; "folderMoveRequested": "folderMoveRequested"; "folderMoved": "folderMoved"; "folderDuplicateRequested": "folderDuplicateRequested"; "onReload": "onReload"; "onAutoRefreshClick": "onAutoRefreshClick"; "columnVisibilityChange": "columnVisibilityChange"; "autoRefreshIntervalChange": "autoRefreshIntervalChange"; }, never, never>;
553
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModularTableTemplateComponent, "cqa-modular-table-template", never, { "searchPlaceholder": "searchPlaceholder"; "searchValue": "searchValue"; "showClear": "showClear"; "showSearchBar": "showSearchBar"; "showExportButton": "showExportButton"; "isExporting": "isExporting"; "filterConfig": "filterConfig"; "filterModel": "filterModel"; "showFilterPanel": "showFilterPanel"; "showFilterButton": "showFilterButton"; "otherButtons": "otherButtons"; "otherDropDownButtons": "otherDropDownButtons"; "otherSelectDropDownButtons": "otherSelectDropDownButtons"; "otherButtonLabel": "otherButtonLabel"; "otherButtonVariant": "otherButtonVariant"; "showOtherButton": "showOtherButton"; "showActionButton": "showActionButton"; "showSettingsButton": "showSettingsButton"; "showAutoRefreshButton": "showAutoRefreshButton"; "showViewModeToggle": "showViewModeToggle"; "viewMode": "viewMode"; "viewModeLabels": "viewModeLabels"; "data": "data"; "isEmptyState": "isEmptyState"; "emptyStateConfig": "emptyStateConfig"; "actions": "actions"; "chips": "chips"; "filterApplied": "filterApplied"; "columns": "columns"; "rowSelectable": "rowSelectable"; "selectedAutoRefreshInterval": "selectedAutoRefreshInterval"; "pageIndex": "pageIndex"; "pageSize": "pageSize"; "pageSizeOptions": "pageSizeOptions"; "pageSizeMenuDirection": "pageSizeMenuDirection"; "serverSidePagination": "serverSidePagination"; "totalElements": "totalElements"; "enableLocalSort": "enableLocalSort"; "isTableLoading": "isTableLoading"; "isTableDataLoading": "isTableDataLoading"; "cellJsonPathGetter": "cellJsonPathGetter"; "onJsonPathCopiedHandler": "onJsonPathCopiedHandler"; "selectedItems": "selectedItems"; "showSelectAllInToolbar": "showSelectAllInToolbar"; "showDismissInToolbar": "showDismissInToolbar"; "allSelectedInToolbar": "allSelectedInToolbar"; "folders": "folders"; "rootFolders": "rootFolders"; "selectedFolderId": "selectedFolderId"; "expandedFolderIds": "expandedFolderIds"; "unorganizedCount": "unorganizedCount"; "folderIdAccessor": "folderIdAccessor"; "modularConfig": "modularConfig"; "modularLabels": "modularLabels"; "bulkActions": "bulkActions"; "sidebarCollapsed": "sidebarCollapsed"; "subfolderSectionExpanded": "subfolderSectionExpanded"; "organizedSectionExpanded": "organizedSectionExpanded"; "serverSideSearch": "serverSideSearch"; "rootTotal": "rootTotal"; "folderSearchLoading": "folderSearchLoading"; "folderSearchValue": "folderSearchValue"; "rootFoldersLoading": "rootFoldersLoading"; "savingFolderIds": "savingFolderIds"; "selectedFolderNode": "selectedFolderNode"; "selectedFolderTrail": "selectedFolderTrail"; "useInternalDialogs": "useInternalDialogs"; "showReorderButton": "showReorderButton"; "reorderSaving": "reorderSaving"; "reorderLabels": "reorderLabels"; "columnVisibility": "columnVisibility"; }, { "onSearchChange": "onSearchChange"; "onExportClick": "onExportClick"; "onApplyFilterClick": "onApplyFilterClick"; "onResetFilterClick": "onResetFilterClick"; "onClearAll": "onClearAll"; "removeChip": "removeChip"; "viewModeChange": "viewModeChange"; "pageChange": "pageChange"; "sortChange": "sortChange"; "folderSelected": "folderSelected"; "folderExpansionToggled": "folderExpansionToggled"; "folderChildrenRequested": "folderChildrenRequested"; "folderLoadMoreRequested": "folderLoadMoreRequested"; "rootLoadMoreRequested": "rootLoadMoreRequested"; "folderSearchChange": "folderSearchChange"; "folderCreated": "folderCreated"; "folderCreateRequested": "folderCreateRequested"; "folderRenamed": "folderRenamed"; "folderDeleted": "folderDeleted"; "testsMoved": "testsMoved"; "bulkActionClick": "bulkActionClick"; "bulkSelectAllChange": "bulkSelectAllChange"; "bulkDismiss": "bulkDismiss"; "bulkActionInvoked": "bulkActionInvoked"; "sidebarCollapsedChange": "sidebarCollapsedChange"; "subfolderSectionExpandedChange": "subfolderSectionExpandedChange"; "organizedSectionExpandedChange": "organizedSectionExpandedChange"; "reorderStart": "reorderStart"; "reorderCancel": "reorderCancel"; "reorderSave": "reorderSave"; "moveRequested": "moveRequested"; "selectedItemsChange": "selectedItemsChange"; "folderDeleteRequested": "folderDeleteRequested"; "folderMoveRequested": "folderMoveRequested"; "folderMoved": "folderMoved"; "folderDuplicateRequested": "folderDuplicateRequested"; "onReload": "onReload"; "onAutoRefreshClick": "onAutoRefreshClick"; "columnVisibilityChange": "columnVisibilityChange"; "autoRefreshIntervalChange": "autoRefreshIntervalChange"; }, never, never>;
541
554
  }
@@ -92,8 +92,12 @@ export interface ModularLabels {
92
92
  folderMenuDuplicate: string;
93
93
  folderMenuDelete: string;
94
94
  deleteFolderDialogTitle: string;
95
- deleteFolderDialogBodySingular: string;
96
- deleteFolderDialogBodyPlural: string;
95
+ deleteFolderDialogBodyTemplate: string;
96
+ deleteFolderDialogBodyTestCaseSingular: string;
97
+ deleteFolderDialogBodyTestCasePlural: string;
98
+ deleteFolderDialogBodyStepGroupSingular: string;
99
+ deleteFolderDialogBodyStepGroupPlural: string;
100
+ deleteFolderDialogBodyJoin: string;
97
101
  deleteFolderDialogMoveToParentTitle: string;
98
102
  deleteFolderDialogMoveToParentDescription: string;
99
103
  deleteFolderDialogMoveToUnorganizedTitle: string;
@@ -108,6 +112,12 @@ export interface ModularLabels {
108
112
  unorganizedRowLabel: string;
109
113
  /** Shown in the folder sidebar when the search input filters out every folder. */
110
114
  noFoldersFound: string;
115
+ /** Sidebar folder-row hover tooltip count line. `{n}` is the descendant total
116
+ * (FolderNode.totalCount). The host swaps the noun for "step group" when in
117
+ * step-group mode by overriding these two keys. The full tooltip is composed
118
+ * as `${node.name}\n${tpl.replace('{n}', total)}`. */
119
+ folderTooltipTotalSingular: string;
120
+ folderTooltipTotalPlural: string;
111
121
  }
112
122
  export declare const DEFAULT_MODULAR_LABELS: ModularLabels;
113
123
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cqa-lib/cqa-ui",
3
- "version": "1.1.549",
3
+ "version": "1.1.551",
4
4
  "description": "UI Kit library for Angular 13.4",
5
5
  "keywords": [
6
6
  "angular",