Skip to content

Commit 39f512b

Browse files
authored
Refactor configurable table columns store (#2723)
* Remove pre-namespace specific logic * Remove unused pin logic * Remove old Parent Workflow ID check * Remove additional filter
1 parent 0a3f932 commit 39f512b

10 files changed

Lines changed: 48 additions & 348 deletions

File tree

src/lib/components/workflow/configurable-table-headers-drawer/orderable-list.svelte

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,6 @@
5353
moveDownButtonLabel={translate('workflows.move-column-down-label', {
5454
column: label,
5555
})}
56-
pinButtonLabel={translate('workflows.pin-column-label', {
57-
column: label,
58-
})}
59-
unpinButtonLabel={translate('workflows.unpin-column-label', {
60-
column: label,
61-
})}
6256
/>
6357
{:else}
6458
<OrderableListItem

src/lib/holocene/holocene-components.json

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -890,14 +890,6 @@
890890
"required": true,
891891
"type": "string"
892892
},
893-
{
894-
"name": "maxPinnedItems",
895-
"type": "number"
896-
},
897-
{
898-
"name": "pinned",
899-
"type": "boolean"
900-
},
901893
{
902894
"name": "readonly",
903895
"type": "boolean"

src/lib/holocene/orderable-list/orderable-list-item.svelte

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
const dispatch = createEventDispatcher<{
77
addItem: undefined;
88
moveItem: { from: number; to: number };
9-
pinItem: undefined;
109
removeItem: undefined;
1110
}>();
1211
@@ -18,8 +17,6 @@
1817
label: string;
1918
index?: number;
2019
totalItems?: number;
21-
pinned?: boolean;
22-
maxPinnedItems?: number;
2320
};
2421
2522
type ReadonlyProps = BaseProps & {
@@ -33,8 +30,6 @@
3330
type I18nProps = {
3431
moveUpButtonLabel: string;
3532
moveDownButtonLabel: string;
36-
pinButtonLabel: string;
37-
unpinButtonLabel: string;
3833
addButtonLabel: string;
3934
removeButtonLabel: string;
4035
};
@@ -44,15 +39,11 @@
4439
let isStatic = false;
4540
export { isStatic as static };
4641
export let label: string;
47-
export let maxPinnedItems: number = undefined;
48-
export let pinned = false;
4942
export let readonly = false;
5043
export let index = 0;
5144
export let totalItems = 0;
5245
export let moveUpButtonLabel = '';
5346
export let moveDownButtonLabel = '';
54-
export let pinButtonLabel = '';
55-
export let unpinButtonLabel = '';
5647
export let addButtonLabel = '';
5748
export let removeButtonLabel = '';
5849
@@ -105,23 +96,6 @@
10596
</div>
10697
{/if}
10798
{label}
108-
{#if !isStatic && !readonly && index <= maxPinnedItems - 1}
109-
{#if pinned}
110-
<IconButton
111-
icon="pin-filled"
112-
data-testid="orderable-list-item-{label}-unpin-button"
113-
label={unpinButtonLabel}
114-
on:click={() => dispatch('pinItem')}
115-
/>
116-
{:else}
117-
<IconButton
118-
icon="pin"
119-
data-testid="orderable-list-item-{label}-pin-button"
120-
label={pinButtonLabel}
121-
on:click={() => dispatch('pinItem')}
122-
/>
123-
{/if}
124-
{/if}
12599
</div>
126100
{#if !readonly}
127101
{#if isStatic}

src/lib/holocene/orderable-list/orderable-list.stories.svelte

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
import OrderableList from './orderable-list.svelte';
66
77
const items = [
8-
{ label: 'Item A', pinned: true },
9-
{ label: 'Item B', pinned: true },
8+
{ label: 'Item A' },
9+
{ label: 'Item B' },
1010
{ label: 'Item C' },
1111
{ label: 'Item D' },
1212
{ label: 'Item E' },
@@ -51,7 +51,6 @@
5151
addButtonLabel="Add"
5252
static={false}
5353
label={item.label}
54-
pinned={item.pinned}
5554
moveUpButtonLabel="Move Up"
5655
moveDownButtonLabel="Move Down"
5756
removeButtonLabel="Remove"

src/lib/holocene/orderable-list/orderable-list.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
</h5>
99
<ol class="orderable-list">
1010
<slot>
11-
<OrderableListItem readonly label="No Items" pinned={false} />
11+
<OrderableListItem readonly label="No Items" />
1212
</slot>
1313
</ol>
1414
</div>

src/lib/i18n/locales/en/workflows.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -231,8 +231,6 @@ export const Strings = {
231231
'move-column-down-label': 'Move {{column}} column down',
232232
'add-column-label': 'Add {{column}} column',
233233
'remove-column-label': 'Remove {{column}} column',
234-
'pin-column-label': 'Pin {{column}} column',
235-
'unpin-column-label': 'Unpin {{column}} column',
236234
'all-headings-in-view': 'All available columns are in view',
237235
'no-headings-in-view': 'No columns in view',
238236
'archived-workflows': 'Archived Workflows',

src/lib/pages/deployment.svelte

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,12 @@
2424
$: deploymentFetch = fetchDeployment(parameters);
2525
2626
const columns = [
27-
{ label: translate('deployments.version'), pinned: true },
27+
{ label: translate('deployments.version') },
2828
{
2929
label: translate('deployments.deployed'),
30-
pinned: true,
3130
},
3231
{
3332
label: translate('deployments.workflows'),
34-
pinned: true,
3533
},
3634
];
3735
</script>

src/lib/pages/deployments.svelte

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,13 @@
2626
};
2727
2828
const columns = [
29-
{ label: translate('deployments.name'), pinned: true },
29+
{ label: translate('deployments.name') },
3030
{
3131
label: translate('deployments.deployment-version'),
32-
pinned: true,
3332
},
34-
{ label: translate('deployments.deployed'), pinned: true },
33+
{ label: translate('deployments.deployed') },
3534
{
3635
label: translate('deployments.workflows'),
37-
pinned: true,
3836
},
3937
];
4038
</script>

src/lib/stores/configurable-table-columns.test.ts

Lines changed: 8 additions & 153 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import {
66
addColumn,
77
moveColumn,
88
persistedWorkflowTableColumns,
9-
pinColumn,
109
removeColumn,
1110
TABLE_TYPE,
1211
} from './configurable-table-columns';
@@ -17,183 +16,39 @@ describe('Workflow Table Columns store', () => {
1716
persistedWorkflowTableColumns.set({ default: [] });
1817
addColumn('Workflow ID', 'default', TABLE_TYPE.WORKFLOWS);
1918
expect(get(persistedWorkflowTableColumns)).toEqual({
20-
default: [{ label: 'Workflow ID', pinned: false }],
19+
default: [{ label: 'Workflow ID' }],
2120
});
2221
});
2322
});
2423

2524
describe('removeColumn', () => {
2625
test('moves a column from the columns array to the availableColumns array and unpins it', () => {
2726
persistedWorkflowTableColumns.set({
28-
default: [{ label: 'Workflow ID', pinned: true }],
27+
default: [{ label: 'Workflow ID' }],
2928
});
3029
removeColumn('Workflow ID', 'default', TABLE_TYPE.WORKFLOWS);
3130
expect(get(persistedWorkflowTableColumns)).toEqual({ default: [] });
3231
});
3332
});
3433

3534
describe('moveColumn', () => {
36-
test('moves an unpinned column up', () => {
35+
test('moves a column up', () => {
3736
persistedWorkflowTableColumns.set({
38-
default: [
39-
{ label: 'End', pinned: false },
40-
{ label: 'Start', pinned: false },
41-
],
37+
default: [{ label: 'End' }, { label: 'Start' }],
4238
});
4339
moveColumn(1, 0, 'default', TABLE_TYPE.WORKFLOWS);
4440
expect(get(persistedWorkflowTableColumns)).toEqual({
45-
default: [
46-
{ label: 'Start', pinned: true },
47-
{ label: 'End', pinned: false },
48-
],
41+
default: [{ label: 'Start' }, { label: 'End' }],
4942
});
5043
});
5144

52-
test('moves an unpinned column down', () => {
45+
test('moves a column down', () => {
5346
persistedWorkflowTableColumns.set({
54-
default: [
55-
{ label: 'End', pinned: false },
56-
{ label: 'Start', pinned: false },
57-
],
47+
default: [{ label: 'End' }, { label: 'Start' }],
5848
});
5949
moveColumn(0, 1, 'default', TABLE_TYPE.WORKFLOWS);
6050
expect(get(persistedWorkflowTableColumns)).toEqual({
61-
default: [
62-
{ label: 'Start', pinned: false },
63-
{ label: 'End', pinned: false },
64-
],
65-
});
66-
});
67-
68-
test('moves a pinned column up', () => {
69-
persistedWorkflowTableColumns.set({
70-
default: [
71-
{ label: 'End', pinned: true },
72-
{ label: 'Start', pinned: true },
73-
],
74-
});
75-
moveColumn(1, 0, 'default', TABLE_TYPE.WORKFLOWS);
76-
expect(get(persistedWorkflowTableColumns)).toEqual({
77-
default: [
78-
{ label: 'Start', pinned: true },
79-
{ label: 'End', pinned: true },
80-
],
81-
});
82-
});
83-
84-
test('moves a pinned column down', () => {
85-
persistedWorkflowTableColumns.set({
86-
default: [
87-
{ label: 'End', pinned: true },
88-
{ label: 'Start', pinned: true },
89-
],
90-
});
91-
moveColumn(0, 1, 'default', TABLE_TYPE.WORKFLOWS);
92-
expect(get(persistedWorkflowTableColumns)).toEqual({
93-
default: [
94-
{ label: 'Start', pinned: true },
95-
{ label: 'End', pinned: true },
96-
],
97-
});
98-
});
99-
100-
test('pins the moved column if its moved above a pinned column, and unpins columns greater than the max amount allowed', () => {
101-
persistedWorkflowTableColumns.set({
102-
default: [
103-
{ label: 'Start', pinned: true },
104-
{ label: 'End', pinned: true },
105-
{ label: 'Run ID', pinned: false },
106-
{ label: 'Workflow ID', pinned: false },
107-
{ label: 'History Length', pinned: false },
108-
],
109-
});
110-
moveColumn(4, 0, 'default', TABLE_TYPE.WORKFLOWS);
111-
expect(get(persistedWorkflowTableColumns)).toEqual({
112-
default: [
113-
{ label: 'History Length', pinned: true },
114-
{ label: 'Start', pinned: true },
115-
{ label: 'End', pinned: false },
116-
{ label: 'Run ID', pinned: false },
117-
{ label: 'Workflow ID', pinned: false },
118-
],
119-
});
120-
});
121-
122-
test('unpins the moved column if its moved below the last pinned column', () => {
123-
persistedWorkflowTableColumns.set({
124-
default: [
125-
{ label: 'Start', pinned: true },
126-
{ label: 'End', pinned: true },
127-
{ label: 'Run ID', pinned: false },
128-
{ label: 'Workflow ID', pinned: false },
129-
{ label: 'History Length', pinned: false },
130-
],
131-
});
132-
moveColumn(0, 4, 'default', TABLE_TYPE.WORKFLOWS);
133-
expect(get(persistedWorkflowTableColumns)).toEqual({
134-
default: [
135-
{ label: 'End', pinned: true },
136-
{ label: 'Run ID', pinned: false },
137-
{ label: 'Workflow ID', pinned: false },
138-
{ label: 'History Length', pinned: false },
139-
{ label: 'Start', pinned: false },
140-
],
141-
});
142-
});
143-
});
144-
145-
describe('pinColumn', () => {
146-
test('will pin a column without needing to move it', () => {
147-
persistedWorkflowTableColumns.set({
148-
default: [
149-
{ label: 'Start', pinned: true },
150-
{ label: 'End', pinned: false },
151-
{ label: 'Run ID', pinned: false },
152-
],
153-
});
154-
pinColumn('End', 'default', TABLE_TYPE.WORKFLOWS);
155-
expect(get(persistedWorkflowTableColumns)).toEqual({
156-
default: [
157-
{ label: 'Start', pinned: true },
158-
{ label: 'End', pinned: true },
159-
{ label: 'Run ID', pinned: false },
160-
],
161-
});
162-
});
163-
164-
test('will pin and move a column below the last pinned column', () => {
165-
persistedWorkflowTableColumns.set({
166-
default: [
167-
{ label: 'Start', pinned: true },
168-
{ label: 'Run ID', pinned: false },
169-
{ label: 'End', pinned: false },
170-
],
171-
});
172-
pinColumn('End', 'default', TABLE_TYPE.WORKFLOWS);
173-
expect(get(persistedWorkflowTableColumns)).toEqual({
174-
default: [
175-
{ label: 'Start', pinned: true },
176-
{ label: 'End', pinned: true },
177-
{ label: 'Run ID', pinned: false },
178-
],
179-
});
180-
});
181-
182-
test('will unpin and move a column below the last pinned column', () => {
183-
persistedWorkflowTableColumns.set({
184-
default: [
185-
{ label: 'Start', pinned: true },
186-
{ label: 'Run ID', pinned: true },
187-
{ label: 'End', pinned: true },
188-
],
189-
});
190-
pinColumn('Start', 'default', TABLE_TYPE.WORKFLOWS);
191-
expect(get(persistedWorkflowTableColumns)).toEqual({
192-
default: [
193-
{ label: 'Run ID', pinned: true },
194-
{ label: 'End', pinned: true },
195-
{ label: 'Start', pinned: false },
196-
],
51+
default: [{ label: 'Start' }, { label: 'End' }],
19752
});
19853
});
19954
});

0 commit comments

Comments
 (0)