Skip to content

Commit d7ba69f

Browse files
authored
Merge pull request #1165 from mathuo/rename/tab-group-color
refactor: rename TabGroupColor to DockviewTabGroupColor and convert T…
2 parents 4a34dbd + 9a10016 commit d7ba69f

15 files changed

Lines changed: 77 additions & 56 deletions

File tree

.github/workflows/main.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,13 +83,23 @@ jobs:
8383
fi
8484
echo "Generated files are up to date."
8585
86+
- name: Remove stale gen comment
87+
if: always() && github.event_name == 'pull_request'
88+
env:
89+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
90+
run: |
91+
gh api "repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/comments" \
92+
--paginate --jq '.[] | select(.body | contains("<!-- gen-check -->")) | .id' \
93+
| xargs -I{} gh api -X DELETE "repos/${{ github.repository }}/issues/comments/{}"
94+
8695
- name: Comment diff on PR
8796
if: failure() && github.event_name == 'pull_request'
8897
env:
8998
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
9099
run: |
91100
DIFF=$(cat /tmp/gen-diff.txt)
92101
gh pr comment ${{ github.event.pull_request.number }} --body "$(cat <<EOF
102+
<!-- gen-check -->
93103
## ⚠️ Generated files are out of date
94104
95105
Run \`npm run gen\` and commit the result.

__generated__/dockview-core-exports.txt

Lines changed: 2 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/dockview-core/src/__tests__/dockview/components/titlebar/tabGroupChip.spec.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
import { fireEvent } from '@testing-library/dom';
22
import { TabGroupChip } from '../../../../dockview/components/titlebar/tabGroupChip';
3-
import { TabGroup, TAB_GROUP_COLORS } from '../../../../dockview/tabGroup';
3+
import {
4+
TabGroup,
5+
DockviewTabGroupColors,
6+
} from '../../../../dockview/tabGroup';
47
import { fromPartial } from '@total-typescript/shoehorn';
58
import { DockviewApi } from '../../../../api/component.api';
69

@@ -208,10 +211,10 @@ describe('TabGroupChip', () => {
208211
api: fromPartial<DockviewApi>({}),
209212
});
210213

211-
for (const color of TAB_GROUP_COLORS) {
214+
for (const color of Object.values(DockviewTabGroupColors)) {
212215
tabGroup.setColor(color);
213216

214-
for (const c of TAB_GROUP_COLORS) {
217+
for (const c of Object.values(DockviewTabGroupColors)) {
215218
expect(
216219
chip.element.classList.contains(`dv-tab-group-chip--${c}`)
217220
).toBe(c === color);

packages/dockview-core/src/__tests__/dockview/tabGroup.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {
22
TabGroup,
3-
TabGroupColor,
3+
DockviewTabGroupColor,
44
isValidTabGroupColor,
55
} from '../../dockview/tabGroup';
66

@@ -26,7 +26,7 @@ describe('TabGroup', () => {
2626

2727
test('should default invalid color to grey', () => {
2828
const group = new TabGroup('g3', {
29-
color: 'invalid' as TabGroupColor,
29+
color: 'invalid' as DockviewTabGroupColor,
3030
});
3131
expect(group.color).toBe('grey');
3232
group.dispose();
@@ -160,7 +160,7 @@ describe('TabGroup', () => {
160160

161161
test('should default to grey on invalid color set', () => {
162162
const group = new TabGroup('g1', { color: 'blue' });
163-
group.setColor('invalid' as TabGroupColor);
163+
group.setColor('invalid' as DockviewTabGroupColor);
164164
expect(group.color).toBe('grey');
165165
group.dispose();
166166
});

packages/dockview-core/src/api/component.api.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ import {
5858
DockviewTabGroupCollapsedChangeEvent,
5959
DockviewTabGroupPanelChangeEvent,
6060
} from '../dockview/events';
61-
import { ITabGroup, TabGroupColor } from '../dockview/tabGroup';
61+
import { ITabGroup, DockviewTabGroupColor } from '../dockview/tabGroup';
6262
import {
6363
PaneviewComponentOptions,
6464
PaneviewDndOverlayEvent,
@@ -1041,7 +1041,7 @@ export class DockviewApi implements CommonApi<SerializedDockview> {
10411041
createTabGroup(options: {
10421042
groupId: string;
10431043
label?: string;
1044-
color?: TabGroupColor;
1044+
color?: DockviewTabGroupColor;
10451045
}): ITabGroup {
10461046
const model = this._getGroupModel(options.groupId);
10471047
return model.createTabGroup({

packages/dockview-core/src/dockview/components/titlebar/tabGroupChip.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
import { addDisposableListener, Emitter, Event } from '../../../events';
22
import { CompositeDisposable } from '../../../lifecycle';
33
import { toggleClass } from '../../../dom';
4-
import { ITabGroup, TabGroupColor, TAB_GROUP_COLORS } from '../../tabGroup';
4+
import {
5+
ITabGroup,
6+
DockviewTabGroupColor,
7+
DockviewTabGroupColors,
8+
} from '../../tabGroup';
59
import { ITabGroupChipRenderer } from '../../framework';
610
import { DockviewApi } from '../../../api/component.api';
711

@@ -83,8 +87,8 @@ export class TabGroupChip
8387
this.updateCollapsed(params.tabGroup.collapsed);
8488
}
8589

86-
private updateColor(color: TabGroupColor): void {
87-
for (const c of TAB_GROUP_COLORS) {
90+
private updateColor(color: DockviewTabGroupColor): void {
91+
for (const c of Object.values(DockviewTabGroupColors)) {
8892
toggleClass(this._element, `dv-tab-group-chip--${c}`, c === color);
8993
}
9094
}

packages/dockview-core/src/dockview/contextMenu.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
ContextMenuItemConfig,
77
ContextMenuItem,
88
} from './options';
9-
import { TAB_GROUP_COLORS, ITabGroup } from './tabGroup';
9+
import { DockviewTabGroupColors, ITabGroup } from './tabGroup';
1010

1111
let _nextId = 0;
1212
const nextContextMenuItemId = () => `dv-ctx-menu-item-${_nextId++}`;
@@ -51,7 +51,7 @@ function buildColorPicker(tabGroup: ITabGroup, close: () => void): HTMLElement {
5151
const wrapper = document.createElement('div');
5252
wrapper.className = 'dv-context-menu-color-picker';
5353

54-
for (const color of TAB_GROUP_COLORS) {
54+
for (const color of Object.values(DockviewTabGroupColors)) {
5555
const swatch = document.createElement('div');
5656
swatch.className = `dv-context-menu-color-swatch dv-tab-group-chip--${color}`;
5757
if (tabGroup.color === color) {

packages/dockview-core/src/dockview/dockviewComponent.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ export interface FloatingGroupOptions {
203203
position?: AnchorPosition;
204204
}
205205

206-
export interface FloatingGroupOptionsInternal extends FloatingGroupOptions {
206+
interface FloatingGroupOptionsInternal extends FloatingGroupOptions {
207207
skipRemoveGroup?: boolean;
208208
inDragMode?: boolean;
209209
skipActiveGroup?: boolean;

packages/dockview-core/src/dockview/dockviewGroupPanelModel.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ import { DropTargetAnchorContainer } from '../dnd/dropTargetAnchorContainer';
5454
import {
5555
TabGroup,
5656
ITabGroup,
57-
TabGroupColor,
57+
DockviewTabGroupColor,
5858
SerializedTabGroup,
5959
} from './tabGroup';
6060
import { EdgeGroupPosition } from './dockviewShell';
@@ -660,7 +660,7 @@ export class DockviewGroupPanelModel
660660

661661
createTabGroup(options?: {
662662
label?: string;
663-
color?: TabGroupColor;
663+
color?: DockviewTabGroupColor;
664664
id?: string;
665665
}): ITabGroup {
666666
const id = options?.id ?? `tg-${this.id}-${this._tabGroupIdCounter++}`;

packages/dockview-core/src/dockview/options.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ export interface DockviewOptions {
179179
}
180180

181181
export type TabAnimation = 'smooth' | 'default';
182-
export const DEFAULT_TAB_ANIMATION: TabAnimation = 'default';
182+
const DEFAULT_TAB_ANIMATION: TabAnimation = 'default';
183183

184184
export interface DockviewDndOverlayEvent extends IAcceptableEvent {
185185
nativeEvent: DragEvent;

0 commit comments

Comments
 (0)