@gtkx/react 0.18.9 → 0.19.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/dist/generated/internal.d.ts +6 -0
- package/dist/generated/internal.d.ts.map +1 -1
- package/dist/generated/internal.js +331 -44
- package/dist/generated/internal.js.map +1 -1
- package/dist/generated/jsx.d.ts +178 -2
- package/dist/generated/jsx.d.ts.map +1 -1
- package/dist/generated/jsx.js.map +1 -1
- package/dist/host-config.d.ts.map +1 -1
- package/dist/host-config.js +46 -10
- package/dist/host-config.js.map +1 -1
- package/dist/jsx.d.ts +133 -13
- package/dist/jsx.d.ts.map +1 -1
- package/dist/jsx.js +41 -2
- package/dist/jsx.js.map +1 -1
- package/dist/metadata.d.ts +1 -0
- package/dist/metadata.d.ts.map +1 -1
- package/dist/metadata.js +3 -1
- package/dist/metadata.js.map +1 -1
- package/dist/node.d.ts +2 -0
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +22 -6
- package/dist/node.js.map +1 -1
- package/dist/nodes/column-view-column.d.ts +4 -1
- package/dist/nodes/column-view-column.d.ts.map +1 -1
- package/dist/nodes/column-view-column.js +29 -8
- package/dist/nodes/column-view-column.js.map +1 -1
- package/dist/nodes/column-view.d.ts +4 -3
- package/dist/nodes/column-view.d.ts.map +1 -1
- package/dist/nodes/column-view.js +44 -14
- package/dist/nodes/column-view.js.map +1 -1
- package/dist/nodes/drop-down.d.ts +12 -2
- package/dist/nodes/drop-down.d.ts.map +1 -1
- package/dist/nodes/drop-down.js +151 -5
- package/dist/nodes/drop-down.js.map +1 -1
- package/dist/nodes/event-controller.d.ts +1 -0
- package/dist/nodes/event-controller.d.ts.map +1 -1
- package/dist/nodes/event-controller.js +11 -3
- package/dist/nodes/event-controller.js.map +1 -1
- package/dist/nodes/fixed-child.d.ts +1 -2
- package/dist/nodes/fixed-child.d.ts.map +1 -1
- package/dist/nodes/fixed-child.js +21 -21
- package/dist/nodes/fixed-child.js.map +1 -1
- package/dist/nodes/font-dialog-button.d.ts +1 -1
- package/dist/nodes/font-dialog-button.d.ts.map +1 -1
- package/dist/nodes/font-dialog-button.js +8 -0
- package/dist/nodes/font-dialog-button.js.map +1 -1
- package/dist/nodes/grid-view.d.ts +6 -5
- package/dist/nodes/grid-view.d.ts.map +1 -1
- package/dist/nodes/grid-view.js +23 -18
- package/dist/nodes/grid-view.js.map +1 -1
- package/dist/nodes/internal/accessible.d.ts +5 -0
- package/dist/nodes/internal/accessible.d.ts.map +1 -0
- package/dist/nodes/internal/accessible.js +119 -0
- package/dist/nodes/internal/accessible.js.map +1 -0
- package/dist/nodes/internal/base-item-renderer.d.ts.map +1 -1
- package/dist/nodes/internal/base-item-renderer.js +0 -1
- package/dist/nodes/internal/base-item-renderer.js.map +1 -1
- package/dist/nodes/internal/construct.d.ts +10 -0
- package/dist/nodes/internal/construct.d.ts.map +1 -0
- package/dist/nodes/internal/construct.js +68 -0
- package/dist/nodes/internal/construct.js.map +1 -0
- package/dist/nodes/internal/header-item-renderer.d.ts +23 -0
- package/dist/nodes/internal/header-item-renderer.d.ts.map +1 -0
- package/dist/nodes/internal/header-item-renderer.js +87 -0
- package/dist/nodes/internal/header-item-renderer.js.map +1 -0
- package/dist/nodes/internal/header-renderer-manager.d.ts +13 -0
- package/dist/nodes/internal/header-renderer-manager.d.ts.map +1 -0
- package/dist/nodes/internal/header-renderer-manager.js +20 -0
- package/dist/nodes/internal/header-renderer-manager.js.map +1 -0
- package/dist/nodes/internal/list-store.d.ts +10 -11
- package/dist/nodes/internal/list-store.d.ts.map +1 -1
- package/dist/nodes/internal/list-store.js +28 -29
- package/dist/nodes/internal/list-store.js.map +1 -1
- package/dist/nodes/internal/sectioned-list-store.d.ts +50 -0
- package/dist/nodes/internal/sectioned-list-store.d.ts.map +1 -0
- package/dist/nodes/internal/sectioned-list-store.js +250 -0
- package/dist/nodes/internal/sectioned-list-store.js.map +1 -0
- package/dist/nodes/internal/selection-helpers.d.ts +12 -0
- package/dist/nodes/internal/selection-helpers.d.ts.map +1 -0
- package/dist/nodes/internal/selection-helpers.js +25 -0
- package/dist/nodes/internal/selection-helpers.js.map +1 -0
- package/dist/nodes/internal/selection-model-controller.d.ts.map +1 -1
- package/dist/nodes/internal/selection-model-controller.js +3 -0
- package/dist/nodes/internal/selection-model-controller.js.map +1 -1
- package/dist/nodes/internal/simple-list-store.d.ts +7 -12
- package/dist/nodes/internal/simple-list-store.d.ts.map +1 -1
- package/dist/nodes/internal/simple-list-store.js +58 -35
- package/dist/nodes/internal/simple-list-store.js.map +1 -1
- package/dist/nodes/internal/text-buffer-controller.d.ts +4 -0
- package/dist/nodes/internal/text-buffer-controller.d.ts.map +1 -1
- package/dist/nodes/internal/text-buffer-controller.js +49 -9
- package/dist/nodes/internal/text-buffer-controller.js.map +1 -1
- package/dist/nodes/internal/tree-store.d.ts +3 -0
- package/dist/nodes/internal/tree-store.d.ts.map +1 -1
- package/dist/nodes/internal/tree-store.js +55 -10
- package/dist/nodes/internal/tree-store.js.map +1 -1
- package/dist/nodes/list-section.d.ts +27 -0
- package/dist/nodes/list-section.d.ts.map +1 -0
- package/dist/nodes/list-section.js +43 -0
- package/dist/nodes/list-section.js.map +1 -0
- package/dist/nodes/list-view.d.ts +6 -3
- package/dist/nodes/list-view.d.ts.map +1 -1
- package/dist/nodes/list-view.js +54 -14
- package/dist/nodes/list-view.js.map +1 -1
- package/dist/nodes/models/list.d.ts +13 -5
- package/dist/nodes/models/list.d.ts.map +1 -1
- package/dist/nodes/models/list.js +135 -21
- package/dist/nodes/models/list.js.map +1 -1
- package/dist/nodes/shortcut.d.ts +3 -2
- package/dist/nodes/shortcut.d.ts.map +1 -1
- package/dist/nodes/shortcut.js +19 -4
- package/dist/nodes/shortcut.js.map +1 -1
- package/dist/nodes/text-anchor.d.ts.map +1 -1
- package/dist/nodes/text-anchor.js +7 -1
- package/dist/nodes/text-anchor.js.map +1 -1
- package/dist/nodes/text-tag.d.ts.map +1 -1
- package/dist/nodes/text-tag.js +5 -1
- package/dist/nodes/text-tag.js.map +1 -1
- package/dist/nodes/text-view.d.ts +1 -0
- package/dist/nodes/text-view.d.ts.map +1 -1
- package/dist/nodes/text-view.js +4 -0
- package/dist/nodes/text-view.js.map +1 -1
- package/dist/nodes/widget.d.ts +0 -2
- package/dist/nodes/widget.d.ts.map +1 -1
- package/dist/nodes/widget.js +44 -61
- package/dist/nodes/widget.js.map +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +2 -2
- package/dist/registry.js.map +1 -1
- package/package.json +3 -3
- package/src/generated/internal.ts +333 -44
- package/src/generated/jsx.ts +178 -2
- package/src/host-config.ts +41 -10
- package/src/jsx.ts +166 -15
- package/src/metadata.ts +5 -1
- package/src/node.ts +20 -6
- package/src/nodes/column-view-column.ts +32 -8
- package/src/nodes/column-view.ts +59 -14
- package/src/nodes/drop-down.ts +182 -6
- package/src/nodes/event-controller.ts +11 -3
- package/src/nodes/fixed-child.ts +24 -23
- package/src/nodes/font-dialog-button.ts +10 -0
- package/src/nodes/grid-view.ts +29 -19
- package/src/nodes/internal/accessible.ts +156 -0
- package/src/nodes/internal/base-item-renderer.ts +0 -1
- package/src/nodes/internal/construct.ts +90 -0
- package/src/nodes/internal/header-item-renderer.ts +105 -0
- package/src/nodes/internal/header-renderer-manager.ts +33 -0
- package/src/nodes/internal/list-store.ts +32 -30
- package/src/nodes/internal/sectioned-list-store.ts +287 -0
- package/src/nodes/internal/selection-helpers.ts +35 -0
- package/src/nodes/internal/selection-model-controller.ts +4 -0
- package/src/nodes/internal/simple-list-store.ts +60 -43
- package/src/nodes/internal/text-buffer-controller.ts +51 -8
- package/src/nodes/internal/tree-store.ts +61 -9
- package/src/nodes/list-section.ts +64 -0
- package/src/nodes/list-view.ts +65 -14
- package/src/nodes/models/list.ts +147 -37
- package/src/nodes/shortcut.ts +22 -5
- package/src/nodes/text-anchor.ts +6 -1
- package/src/nodes/text-tag.ts +7 -1
- package/src/nodes/text-view.ts +5 -0
- package/src/nodes/widget.ts +45 -62
- package/src/registry.ts +4 -2
- package/dist/nodes/models/grid.d.ts +0 -28
- package/dist/nodes/models/grid.d.ts.map +0 -1
- package/dist/nodes/models/grid.js +0 -69
- package/dist/nodes/models/grid.js.map +0 -1
- package/dist/nodes/shortcut-controller.d.ts +0 -10
- package/dist/nodes/shortcut-controller.d.ts.map +0 -1
- package/dist/nodes/shortcut-controller.js +0 -23
- package/dist/nodes/shortcut-controller.js.map +0 -1
- package/src/nodes/models/grid.ts +0 -105
- package/src/nodes/shortcut-controller.ts +0 -27
package/dist/nodes/drop-down.js
CHANGED
|
@@ -1,16 +1,27 @@
|
|
|
1
|
+
import * as Gtk from "@gtkx/ffi/gtk";
|
|
2
|
+
import { createFiberRoot } from "../fiber-root.js";
|
|
3
|
+
import { reconciler } from "../reconciler.js";
|
|
1
4
|
import { ContainerSlotNode } from "./container-slot.js";
|
|
2
5
|
import { EventControllerNode } from "./event-controller.js";
|
|
6
|
+
import { updateHeaderRenderer } from "./internal/header-renderer-manager.js";
|
|
3
7
|
import { filterProps, hasChanged } from "./internal/props.js";
|
|
4
8
|
import { SimpleListStore } from "./internal/simple-list-store.js";
|
|
5
9
|
import { ListItemNode } from "./list-item.js";
|
|
10
|
+
import { ListSectionNode } from "./list-section.js";
|
|
6
11
|
import { SlotNode } from "./slot.js";
|
|
7
12
|
import { WidgetNode } from "./widget.js";
|
|
8
|
-
const OWN_PROPS = ["selectedId", "onSelectionChanged"];
|
|
13
|
+
const OWN_PROPS = ["selectedId", "onSelectionChanged", "renderItem", "renderListItem", "renderHeader"];
|
|
9
14
|
export class DropDownNode extends WidgetNode {
|
|
10
15
|
store = new SimpleListStore();
|
|
11
16
|
initialSelectedId;
|
|
17
|
+
itemState = null;
|
|
18
|
+
renderItemFn = null;
|
|
19
|
+
listItemState = null;
|
|
20
|
+
renderListItemFn = null;
|
|
21
|
+
headerRenderer = null;
|
|
12
22
|
isValidChild(child) {
|
|
13
23
|
return (child instanceof ListItemNode ||
|
|
24
|
+
child instanceof ListSectionNode ||
|
|
14
25
|
child instanceof EventControllerNode ||
|
|
15
26
|
child instanceof SlotNode ||
|
|
16
27
|
child instanceof ContainerSlotNode);
|
|
@@ -19,11 +30,11 @@ export class DropDownNode extends WidgetNode {
|
|
|
19
30
|
super(typeName, props, container, rootContainer);
|
|
20
31
|
this.store.beginBatch();
|
|
21
32
|
this.initialSelectedId = props.selectedId;
|
|
22
|
-
this.container.setModel(this.store.getModel());
|
|
23
33
|
}
|
|
24
34
|
finalizeInitialChildren(props) {
|
|
25
35
|
super.finalizeInitialChildren(props);
|
|
26
36
|
this.store.flushBatch();
|
|
37
|
+
this.container.setModel(this.store.getModel());
|
|
27
38
|
this.reapplyInitialSelectedId();
|
|
28
39
|
return false;
|
|
29
40
|
}
|
|
@@ -38,21 +49,38 @@ export class DropDownNode extends WidgetNode {
|
|
|
38
49
|
}
|
|
39
50
|
appendChild(child) {
|
|
40
51
|
super.appendChild(child);
|
|
41
|
-
if (child instanceof
|
|
52
|
+
if (child instanceof ListSectionNode) {
|
|
53
|
+
this.store.addSection(child.props.id, child.props.value);
|
|
54
|
+
child.setStore(this.store);
|
|
55
|
+
}
|
|
56
|
+
else if (child instanceof ListItemNode) {
|
|
42
57
|
child.setStore(this.store);
|
|
43
58
|
this.store.addItem(child.props.id, child.props.value);
|
|
44
59
|
}
|
|
45
60
|
}
|
|
46
61
|
insertBefore(child, before) {
|
|
47
62
|
super.insertBefore(child, before);
|
|
48
|
-
if (child instanceof
|
|
63
|
+
if (child instanceof ListSectionNode) {
|
|
64
|
+
this.store.addSection(child.props.id, child.props.value);
|
|
65
|
+
child.setStore(this.store);
|
|
66
|
+
}
|
|
67
|
+
else if (child instanceof ListItemNode && before instanceof ListItemNode) {
|
|
49
68
|
child.setStore(this.store);
|
|
50
69
|
this.store.insertItemBefore(child.props.id, before.props.id, child.props.value);
|
|
51
70
|
}
|
|
71
|
+
else if (child instanceof ListItemNode) {
|
|
72
|
+
child.setStore(this.store);
|
|
73
|
+
this.store.addItem(child.props.id, child.props.value);
|
|
74
|
+
}
|
|
52
75
|
}
|
|
53
76
|
removeChild(child) {
|
|
54
|
-
if (child instanceof
|
|
77
|
+
if (child instanceof ListSectionNode) {
|
|
78
|
+
this.store.removeSection(child.props.id);
|
|
79
|
+
child.setStore(null);
|
|
80
|
+
}
|
|
81
|
+
else if (child instanceof ListItemNode) {
|
|
55
82
|
this.store.removeItem(child.props.id);
|
|
83
|
+
child.setStore(null);
|
|
56
84
|
}
|
|
57
85
|
super.removeChild(child);
|
|
58
86
|
}
|
|
@@ -60,6 +88,14 @@ export class DropDownNode extends WidgetNode {
|
|
|
60
88
|
super.commitUpdate(oldProps ? filterProps(oldProps, OWN_PROPS) : null, filterProps(newProps, OWN_PROPS));
|
|
61
89
|
this.applyOwnProps(oldProps, newProps);
|
|
62
90
|
}
|
|
91
|
+
detachDeletedInstance() {
|
|
92
|
+
this.disposeFactory(this.itemState);
|
|
93
|
+
this.itemState = null;
|
|
94
|
+
this.disposeFactory(this.listItemState);
|
|
95
|
+
this.listItemState = null;
|
|
96
|
+
this.headerRenderer?.dispose();
|
|
97
|
+
super.detachDeletedInstance();
|
|
98
|
+
}
|
|
63
99
|
applyOwnProps(oldProps, newProps) {
|
|
64
100
|
if (hasChanged(oldProps, newProps, "onSelectionChanged")) {
|
|
65
101
|
const onSelectionChanged = newProps.onSelectionChanged;
|
|
@@ -80,6 +116,116 @@ export class DropDownNode extends WidgetNode {
|
|
|
80
116
|
this.container.setSelected(index);
|
|
81
117
|
}
|
|
82
118
|
}
|
|
119
|
+
if (hasChanged(oldProps, newProps, "renderItem")) {
|
|
120
|
+
if (newProps.renderItem) {
|
|
121
|
+
if (!this.itemState) {
|
|
122
|
+
this.itemState = this.createFactory(() => this.renderItemFn, (f) => this.container.setFactory(f));
|
|
123
|
+
}
|
|
124
|
+
this.renderItemFn = newProps.renderItem;
|
|
125
|
+
this.rebindAll(this.itemState, this.renderItemFn);
|
|
126
|
+
}
|
|
127
|
+
else if (this.itemState) {
|
|
128
|
+
this.disposeFactory(this.itemState);
|
|
129
|
+
this.itemState = null;
|
|
130
|
+
this.container.setFactory(null);
|
|
131
|
+
this.renderItemFn = null;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
if (hasChanged(oldProps, newProps, "renderListItem")) {
|
|
135
|
+
if (newProps.renderListItem) {
|
|
136
|
+
if (!this.listItemState) {
|
|
137
|
+
this.listItemState = this.createFactory(() => this.renderListItemFn, (f) => this.container.setListFactory(f));
|
|
138
|
+
}
|
|
139
|
+
this.renderListItemFn = newProps.renderListItem;
|
|
140
|
+
this.rebindAll(this.listItemState, this.renderListItemFn);
|
|
141
|
+
}
|
|
142
|
+
else if (this.listItemState) {
|
|
143
|
+
this.disposeFactory(this.listItemState);
|
|
144
|
+
this.listItemState = null;
|
|
145
|
+
this.container.setListFactory(null);
|
|
146
|
+
this.renderListItemFn = null;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
if (hasChanged(oldProps, newProps, "renderHeader")) {
|
|
150
|
+
this.headerRenderer = updateHeaderRenderer(this.headerRenderer, {
|
|
151
|
+
signalStore: this.signalStore,
|
|
152
|
+
isEnabled: () => this.store.isSectioned(),
|
|
153
|
+
resolveItem: (label) => this.store.getHeaderValueByLabel(label),
|
|
154
|
+
setFactory: (factory) => this.container.setHeaderFactory(factory),
|
|
155
|
+
}, newProps.renderHeader);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
createFactory(getRenderFn, applyFactory) {
|
|
159
|
+
const state = {
|
|
160
|
+
factory: new Gtk.SignalListItemFactory(),
|
|
161
|
+
fiberRoots: new Map(),
|
|
162
|
+
tornDown: new Set(),
|
|
163
|
+
boundLabels: new Map(),
|
|
164
|
+
};
|
|
165
|
+
this.signalStore.set(this, state.factory, "setup", (listItem) => {
|
|
166
|
+
const box = new Gtk.Box(Gtk.Orientation.HORIZONTAL);
|
|
167
|
+
box.setValign(Gtk.Align.CENTER);
|
|
168
|
+
listItem.setChild(box);
|
|
169
|
+
const fiberRoot = createFiberRoot(box);
|
|
170
|
+
state.fiberRoots.set(listItem, fiberRoot);
|
|
171
|
+
const element = getRenderFn()?.(null);
|
|
172
|
+
reconciler.getInstance().updateContainer(element, fiberRoot, null, () => { });
|
|
173
|
+
});
|
|
174
|
+
this.signalStore.set(this, state.factory, "bind", (listItem) => {
|
|
175
|
+
const fiberRoot = state.fiberRoots.get(listItem);
|
|
176
|
+
if (!fiberRoot)
|
|
177
|
+
return;
|
|
178
|
+
const stringObject = listItem.getItem();
|
|
179
|
+
const label = stringObject instanceof Gtk.StringObject ? stringObject.getString() : null;
|
|
180
|
+
if (label !== null)
|
|
181
|
+
state.boundLabels.set(label, listItem);
|
|
182
|
+
const element = getRenderFn()?.(label);
|
|
183
|
+
reconciler.getInstance().updateContainer(element, fiberRoot, null, () => { });
|
|
184
|
+
});
|
|
185
|
+
this.signalStore.set(this, state.factory, "unbind", (listItem) => {
|
|
186
|
+
const stringObject = listItem.getItem();
|
|
187
|
+
if (stringObject instanceof Gtk.StringObject) {
|
|
188
|
+
state.boundLabels.delete(stringObject.getString());
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
this.signalStore.set(this, state.factory, "teardown", (listItem) => {
|
|
192
|
+
const fiberRoot = state.fiberRoots.get(listItem);
|
|
193
|
+
if (fiberRoot) {
|
|
194
|
+
state.tornDown.add(listItem);
|
|
195
|
+
reconciler.getInstance().updateContainer(null, fiberRoot, null, () => { });
|
|
196
|
+
queueMicrotask(() => {
|
|
197
|
+
state.fiberRoots.delete(listItem);
|
|
198
|
+
state.tornDown.delete(listItem);
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
applyFactory(state.factory);
|
|
203
|
+
return state;
|
|
204
|
+
}
|
|
205
|
+
rebindAll(state, renderFn) {
|
|
206
|
+
for (const [label, listItem] of state.boundLabels) {
|
|
207
|
+
const fiberRoot = state.fiberRoots.get(listItem);
|
|
208
|
+
if (!fiberRoot)
|
|
209
|
+
continue;
|
|
210
|
+
const element = renderFn(label);
|
|
211
|
+
reconciler.getInstance().updateContainer(element, fiberRoot, null, () => { });
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
disposeFactory(state) {
|
|
215
|
+
if (!state)
|
|
216
|
+
return;
|
|
217
|
+
this.signalStore.set(this, state.factory, "setup", undefined);
|
|
218
|
+
this.signalStore.set(this, state.factory, "bind", undefined);
|
|
219
|
+
this.signalStore.set(this, state.factory, "unbind", undefined);
|
|
220
|
+
this.signalStore.set(this, state.factory, "teardown", undefined);
|
|
221
|
+
for (const [listItem, fiberRoot] of state.fiberRoots) {
|
|
222
|
+
if (!state.tornDown.has(listItem)) {
|
|
223
|
+
reconciler.getInstance().updateContainer(null, fiberRoot, null, () => { });
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
state.fiberRoots.clear();
|
|
227
|
+
state.tornDown.clear();
|
|
228
|
+
state.boundLabels.clear();
|
|
83
229
|
}
|
|
84
230
|
}
|
|
85
231
|
//# sourceMappingURL=drop-down.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drop-down.js","sourceRoot":"","sources":["../../src/nodes/drop-down.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"drop-down.js","sourceRoot":"","sources":["../../src/nodes/drop-down.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import type { Props } from "../types.js";
|
|
|
4
4
|
import { WidgetNode } from "./widget.js";
|
|
5
5
|
export declare class EventControllerNode<T extends Gtk.EventController = Gtk.EventController, TChild extends Node = any> extends Node<T, Props, WidgetNode, TChild> {
|
|
6
6
|
static createContainer(props: Props, containerClass: typeof Gtk.EventController): Gtk.EventController;
|
|
7
|
+
isValidChild(child: Node): boolean;
|
|
7
8
|
isValidParent(parent: Node): boolean;
|
|
8
9
|
setParent(parent: WidgetNode | null): void;
|
|
9
10
|
commitUpdate(oldProps: Props | null, newProps: Props): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-controller.d.ts","sourceRoot":"","sources":["../../src/nodes/event-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AAGrC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"event-controller.d.ts","sourceRoot":"","sources":["../../src/nodes/event-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AAGrC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,qBAAa,mBAAmB,CAC5B,CAAC,SAAS,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,EAEnD,MAAM,SAAS,IAAI,GAAG,GAAG,CAC3B,SAAQ,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC;WACjB,eAAe,CAClC,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,OAAO,GAAG,CAAC,eAAe,GAC3C,GAAG,CAAC,eAAe;IAgBN,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAIlC,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO;IAIpC,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI;IAY1C,YAAY,CAAC,QAAQ,EAAE,KAAK,GAAG,IAAI,EAAE,QAAQ,EAAE,KAAK,GAAG,IAAI;IAK3D,qBAAqB,IAAI,IAAI;IAO7C,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,WAAW;CAiBtB"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as Gtk from "@gtkx/ffi/gtk";
|
|
2
2
|
import { CONSTRUCTOR_PROPS } from "../generated/internal.js";
|
|
3
|
-
import { resolvePropMeta, resolveSignal } from "../metadata.js";
|
|
3
|
+
import { isConstructOnlyProp, resolvePropMeta, resolveSignal } from "../metadata.js";
|
|
4
4
|
import { Node } from "../node.js";
|
|
5
|
+
import { createContainerWithConstructOnly } from "./internal/construct.js";
|
|
5
6
|
import { WidgetNode } from "./widget.js";
|
|
6
7
|
const G_TYPE_INVALID = 0;
|
|
7
8
|
export class EventControllerNode extends Node {
|
|
@@ -12,8 +13,13 @@ export class EventControllerNode extends Node {
|
|
|
12
13
|
return new Gtk.DropTarget(G_TYPE_INVALID, actions);
|
|
13
14
|
}
|
|
14
15
|
const args = (CONSTRUCTOR_PROPS[typeName] ?? []).map((name) => props[name]);
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
return createContainerWithConstructOnly(containerClass, props, () => {
|
|
17
|
+
// biome-ignore lint/suspicious/noExplicitAny: Dynamic constructor invocation
|
|
18
|
+
return new containerClass(...args);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
isValidChild(child) {
|
|
22
|
+
return this.container instanceof Gtk.ShortcutController && child.typeName === "Shortcut";
|
|
17
23
|
}
|
|
18
24
|
isValidParent(parent) {
|
|
19
25
|
return parent instanceof WidgetNode;
|
|
@@ -42,6 +48,8 @@ export class EventControllerNode extends Node {
|
|
|
42
48
|
for (const name of propNames) {
|
|
43
49
|
if (name === "children")
|
|
44
50
|
continue;
|
|
51
|
+
if (isConstructOnlyProp(this.container, name))
|
|
52
|
+
continue;
|
|
45
53
|
const oldValue = oldProps?.[name];
|
|
46
54
|
const newValue = newProps[name];
|
|
47
55
|
if (oldValue === newValue)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-controller.js","sourceRoot":"","sources":["../../src/nodes/event-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"event-controller.js","sourceRoot":"","sources":["../../src/nodes/event-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,6 @@ export declare class FixedChildNode extends VirtualNode<FixedChildProps, WidgetN
|
|
|
13
13
|
detachDeletedInstance(): void;
|
|
14
14
|
private attachToParent;
|
|
15
15
|
private detachFromParent;
|
|
16
|
-
private
|
|
17
|
-
private applyTransform;
|
|
16
|
+
private applyLayoutTransform;
|
|
18
17
|
}
|
|
19
18
|
//# sourceMappingURL=fixed-child.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixed-child.d.ts","sourceRoot":"","sources":["../../src/nodes/fixed-child.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fixed-child.d.ts","sourceRoot":"","sources":["../../src/nodes/fixed-child.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,qBAAa,cAAe,SAAQ,WAAW,CAAC,eAAe,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC/E,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAIlC,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO;IAIpC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI;IAarD,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IASpC,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAQpC,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI;IAgB/E,qBAAqB,IAAI,IAAI;IAO7C,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,oBAAoB;CAwB/B"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import * as Graphene from "@gtkx/ffi/graphene";
|
|
2
|
+
import * as Gsk from "@gtkx/ffi/gsk";
|
|
1
3
|
import * as Gtk from "@gtkx/ffi/gtk";
|
|
2
4
|
import { hasChanged } from "./internal/props.js";
|
|
3
5
|
import { VirtualNode } from "./virtual.js";
|
|
@@ -16,14 +18,14 @@ export class FixedChildNode extends VirtualNode {
|
|
|
16
18
|
super.setParent(parent);
|
|
17
19
|
if (parent && this.children[0]) {
|
|
18
20
|
this.attachToParent(parent.container, this.children[0].container);
|
|
19
|
-
this.
|
|
21
|
+
this.applyLayoutTransform();
|
|
20
22
|
}
|
|
21
23
|
}
|
|
22
24
|
appendChild(child) {
|
|
23
25
|
super.appendChild(child);
|
|
24
26
|
if (this.parent) {
|
|
25
27
|
this.attachToParent(this.parent.container, child.container);
|
|
26
|
-
this.
|
|
28
|
+
this.applyLayoutTransform();
|
|
27
29
|
}
|
|
28
30
|
}
|
|
29
31
|
removeChild(child) {
|
|
@@ -37,12 +39,10 @@ export class FixedChildNode extends VirtualNode {
|
|
|
37
39
|
if (!this.parent || !this.children[0]) {
|
|
38
40
|
return;
|
|
39
41
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
else if (hasChanged(oldProps, newProps, "transform")) {
|
|
45
|
-
this.applyTransform();
|
|
42
|
+
if (hasChanged(oldProps, newProps, "x") ||
|
|
43
|
+
hasChanged(oldProps, newProps, "y") ||
|
|
44
|
+
hasChanged(oldProps, newProps, "transform")) {
|
|
45
|
+
this.applyLayoutTransform();
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
detachDeletedInstance() {
|
|
@@ -62,25 +62,25 @@ export class FixedChildNode extends VirtualNode {
|
|
|
62
62
|
parent.remove(child);
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
|
|
65
|
+
applyLayoutTransform() {
|
|
66
66
|
if (!this.parent || !this.children[0])
|
|
67
67
|
return;
|
|
68
|
+
const layoutManager = this.parent.container.getLayoutManager();
|
|
69
|
+
if (!layoutManager)
|
|
70
|
+
return;
|
|
71
|
+
const layoutChild = layoutManager.getLayoutChild(this.children[0].container);
|
|
68
72
|
const x = this.props.x ?? 0;
|
|
69
73
|
const y = this.props.y ?? 0;
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
return;
|
|
74
|
+
const position = new Graphene.Point();
|
|
75
|
+
position.init(x, y);
|
|
76
|
+
let transform = new Gsk.Transform();
|
|
77
|
+
transform = transform.translate(position);
|
|
78
|
+
if (this.props.transform && transform) {
|
|
79
|
+
transform = transform.transform(this.props.transform);
|
|
77
80
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
return;
|
|
81
|
+
if (transform) {
|
|
82
|
+
layoutChild.setTransform(transform);
|
|
81
83
|
}
|
|
82
|
-
const layoutChild = layoutManager.getLayoutChild(this.children[0].container);
|
|
83
|
-
layoutChild.setTransform(this.props.transform);
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
//# sourceMappingURL=fixed-child.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixed-child.js","sourceRoot":"","sources":["../../src/nodes/fixed-child.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AAGrC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,OAAO,cAAe,SAAQ,WAA+D;IAC/E,YAAY,CAAC,KAAW;QACpC,OAAO,KAAK,YAAY,UAAU,CAAC;IACvC,CAAC;IAEe,aAAa,CAAC,MAAY;QACtC,OAAO,MAAM,YAAY,UAAU,IAAI,MAAM,CAAC,SAAS,YAAY,GAAG,CAAC,KAAK,CAAC;IACjF,CAAC;IAEe,SAAS,CAAC,MAAoC;QAC1D,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC7E,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAExB,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAClE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"fixed-child.js","sourceRoot":"","sources":["../../src/nodes/fixed-child.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import * as Gtk from "@gtkx/ffi/gtk";
|
|
|
2
2
|
import type { GtkFontDialogButtonProps } from "../jsx.js";
|
|
3
3
|
import type { Container } from "../types.js";
|
|
4
4
|
import { WidgetNode } from "./widget.js";
|
|
5
|
-
declare const OWN_PROPS: readonly ["fontDesc", "onFontDescChanged", "title", "modal", "language", "useFont", "useSize", "level"];
|
|
5
|
+
declare const OWN_PROPS: readonly ["fontDesc", "onFontDescChanged", "title", "modal", "language", "filter", "fontMap", "useFont", "useSize", "level"];
|
|
6
6
|
type FontDialogButtonProps = Pick<GtkFontDialogButtonProps, (typeof OWN_PROPS)[number]>;
|
|
7
7
|
export declare class FontDialogButtonNode extends WidgetNode<Gtk.FontDialogButton, FontDialogButtonProps> {
|
|
8
8
|
private dialog;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"font-dialog-button.d.ts","sourceRoot":"","sources":["../../src/nodes/font-dialog-button.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,QAAA,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"font-dialog-button.d.ts","sourceRoot":"","sources":["../../src/nodes/font-dialog-button.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,QAAA,MAAM,SAAS,8HAWL,CAAC;AAEX,KAAK,qBAAqB,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAExF,qBAAa,oBAAqB,SAAQ,UAAU,CAAC,GAAG,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;IAC7F,OAAO,CAAC,MAAM,CAAiB;WAER,eAAe,CAClC,MAAM,EAAE,qBAAqB,EAC7B,cAAc,EAAE,OAAO,GAAG,CAAC,MAAM,GAClC,SAAS,GAAG,IAAI;gBAOf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,qBAAqB,EAC5B,SAAS,EAAE,GAAG,CAAC,gBAAgB,EAC/B,aAAa,EAAE,SAAS;IAUZ,YAAY,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,EAAE,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAK3G,OAAO,CAAC,aAAa;CAsDxB"}
|
|
@@ -7,6 +7,8 @@ const OWN_PROPS = [
|
|
|
7
7
|
"title",
|
|
8
8
|
"modal",
|
|
9
9
|
"language",
|
|
10
|
+
"filter",
|
|
11
|
+
"fontMap",
|
|
10
12
|
"useFont",
|
|
11
13
|
"useSize",
|
|
12
14
|
"level",
|
|
@@ -40,6 +42,12 @@ export class FontDialogButtonNode extends WidgetNode {
|
|
|
40
42
|
if (hasChanged(oldProps, newProps, "language") && newProps.language) {
|
|
41
43
|
this.dialog.setLanguage(newProps.language);
|
|
42
44
|
}
|
|
45
|
+
if (hasChanged(oldProps, newProps, "filter")) {
|
|
46
|
+
this.dialog.setFilter(newProps.filter);
|
|
47
|
+
}
|
|
48
|
+
if (hasChanged(oldProps, newProps, "fontMap")) {
|
|
49
|
+
this.dialog.setFontMap(newProps.fontMap);
|
|
50
|
+
}
|
|
43
51
|
if (hasChanged(oldProps, newProps, "useFont")) {
|
|
44
52
|
this.container.setUseFont(newProps.useFont ?? false);
|
|
45
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"font-dialog-button.js","sourceRoot":"","sources":["../../src/nodes/font-dialog-button.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"font-dialog-button.js","sourceRoot":"","sources":["../../src/nodes/font-dialog-button.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,15 +5,16 @@ import type { Container } from "../types.js";
|
|
|
5
5
|
import { ContainerSlotNode } from "./container-slot.js";
|
|
6
6
|
import { EventControllerNode } from "./event-controller.js";
|
|
7
7
|
import { ListItemNode } from "./list-item.js";
|
|
8
|
-
import {
|
|
8
|
+
import { ListSectionNode } from "./list-section.js";
|
|
9
|
+
import { type ListModelProps } from "./models/list.js";
|
|
9
10
|
import { SlotNode } from "./slot.js";
|
|
10
11
|
import { WidgetNode } from "./widget.js";
|
|
11
|
-
declare const
|
|
12
|
-
type GridViewProps = Pick<GtkGridViewProps, (typeof
|
|
13
|
-
type GridViewChild = ListItemNode | EventControllerNode | SlotNode | ContainerSlotNode;
|
|
12
|
+
declare const RENDERER_PROPS: readonly ["renderItem", "estimatedItemHeight"];
|
|
13
|
+
type GridViewProps = Pick<GtkGridViewProps, (typeof RENDERER_PROPS)[number]> & ListModelProps;
|
|
14
|
+
type GridViewChild = ListItemNode | ListSectionNode | EventControllerNode | SlotNode | ContainerSlotNode;
|
|
14
15
|
export declare class GridViewNode extends WidgetNode<Gtk.GridView, GridViewProps, GridViewChild> {
|
|
15
16
|
private itemRenderer;
|
|
16
|
-
private
|
|
17
|
+
private list;
|
|
17
18
|
constructor(typeName: string, props: GridViewProps, container: Gtk.GridView, rootContainer: Container);
|
|
18
19
|
isValidChild(child: Node): boolean;
|
|
19
20
|
appendChild(child: GridViewChild): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid-view.d.ts","sourceRoot":"","sources":["../../src/nodes/grid-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,QAAA,MAAM,
|
|
1
|
+
{"version":3,"file":"grid-view.d.ts","sourceRoot":"","sources":["../../src/nodes/grid-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,QAAA,MAAM,cAAc,gDAAiD,CAAC;AAGtE,KAAK,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,cAAc,CAAC;AAE9F,KAAK,aAAa,GAAG,YAAY,GAAG,eAAe,GAAG,mBAAmB,GAAG,QAAQ,GAAG,iBAAiB,CAAC;AAEzG,qBAAa,YAAa,SAAQ,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,CAAC;IACpF,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,IAAI,CAAY;gBAEZ,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS;IAiBrF,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAWlC,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAOvC,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAU/D,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAOvC,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAKtD,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAK3E,WAAW,IAAI,IAAI;IAMnB,qBAAqB,IAAI,IAAI;IAK7C,OAAO,CAAC,aAAa;CAoBxB"}
|
package/dist/nodes/grid-view.js
CHANGED
|
@@ -3,28 +3,32 @@ import { EventControllerNode } from "./event-controller.js";
|
|
|
3
3
|
import { GridItemRenderer } from "./internal/grid-item-renderer.js";
|
|
4
4
|
import { filterProps, hasChanged } from "./internal/props.js";
|
|
5
5
|
import { ListItemNode } from "./list-item.js";
|
|
6
|
-
import {
|
|
6
|
+
import { ListSectionNode } from "./list-section.js";
|
|
7
|
+
import { ListModel } from "./models/list.js";
|
|
7
8
|
import { SlotNode } from "./slot.js";
|
|
8
9
|
import { WidgetNode } from "./widget.js";
|
|
9
|
-
const
|
|
10
|
+
const RENDERER_PROPS = ["renderItem", "estimatedItemHeight"];
|
|
11
|
+
const OWN_PROPS = [...RENDERER_PROPS, "selectionMode", "selected", "onSelectionChanged"];
|
|
10
12
|
export class GridViewNode extends WidgetNode {
|
|
11
13
|
itemRenderer;
|
|
12
|
-
|
|
14
|
+
list;
|
|
13
15
|
constructor(typeName, props, container, rootContainer) {
|
|
14
16
|
super(typeName, props, container, rootContainer);
|
|
15
|
-
this.
|
|
17
|
+
this.list = new ListModel({ owner: this, signalStore: this.signalStore }, {
|
|
16
18
|
selectionMode: props.selectionMode,
|
|
17
19
|
selected: props.selected,
|
|
18
20
|
onSelectionChanged: props.onSelectionChanged,
|
|
19
|
-
});
|
|
21
|
+
}, true);
|
|
20
22
|
this.itemRenderer = new GridItemRenderer(this.signalStore);
|
|
21
|
-
this.itemRenderer.setStore(this.
|
|
22
|
-
this.
|
|
23
|
+
this.itemRenderer.setStore(this.list.getFlatStore());
|
|
24
|
+
this.list.setOnItemUpdated((id) => this.itemRenderer.rebindItem(id));
|
|
23
25
|
this.container.setFactory(this.itemRenderer.getFactory());
|
|
24
26
|
}
|
|
25
27
|
isValidChild(child) {
|
|
26
28
|
if (child instanceof EventControllerNode || child instanceof SlotNode || child instanceof ContainerSlotNode)
|
|
27
29
|
return true;
|
|
30
|
+
if (child instanceof ListSectionNode)
|
|
31
|
+
return true;
|
|
28
32
|
if (!(child instanceof ListItemNode))
|
|
29
33
|
return false;
|
|
30
34
|
if (child.getChildNodes().length > 0) {
|
|
@@ -34,19 +38,20 @@ export class GridViewNode extends WidgetNode {
|
|
|
34
38
|
}
|
|
35
39
|
appendChild(child) {
|
|
36
40
|
super.appendChild(child);
|
|
37
|
-
if (child instanceof ListItemNode) {
|
|
38
|
-
this.
|
|
41
|
+
if (child instanceof ListItemNode || child instanceof ListSectionNode) {
|
|
42
|
+
this.list.appendChild(child);
|
|
39
43
|
}
|
|
40
44
|
}
|
|
41
45
|
insertBefore(child, before) {
|
|
42
46
|
super.insertBefore(child, before);
|
|
43
|
-
if (child instanceof ListItemNode
|
|
44
|
-
|
|
47
|
+
if ((child instanceof ListItemNode || child instanceof ListSectionNode) &&
|
|
48
|
+
(before instanceof ListItemNode || before instanceof ListSectionNode)) {
|
|
49
|
+
this.list.insertBefore(child, before);
|
|
45
50
|
}
|
|
46
51
|
}
|
|
47
52
|
removeChild(child) {
|
|
48
|
-
if (child instanceof ListItemNode) {
|
|
49
|
-
this.
|
|
53
|
+
if (child instanceof ListItemNode || child instanceof ListSectionNode) {
|
|
54
|
+
this.list.removeChild(child);
|
|
50
55
|
}
|
|
51
56
|
super.removeChild(child);
|
|
52
57
|
}
|
|
@@ -60,8 +65,8 @@ export class GridViewNode extends WidgetNode {
|
|
|
60
65
|
}
|
|
61
66
|
commitMount() {
|
|
62
67
|
super.commitMount();
|
|
63
|
-
this.
|
|
64
|
-
this.container.setModel(this.
|
|
68
|
+
this.list.flushBatch();
|
|
69
|
+
this.container.setModel(this.list.getSelectionModel());
|
|
65
70
|
}
|
|
66
71
|
detachDeletedInstance() {
|
|
67
72
|
this.itemRenderer.dispose();
|
|
@@ -74,9 +79,9 @@ export class GridViewNode extends WidgetNode {
|
|
|
74
79
|
if (hasChanged(oldProps, newProps, "estimatedItemHeight")) {
|
|
75
80
|
this.itemRenderer.setEstimatedItemHeight(newProps.estimatedItemHeight ?? null);
|
|
76
81
|
}
|
|
77
|
-
const previousModel = this.
|
|
78
|
-
this.
|
|
79
|
-
const currentModel = this.
|
|
82
|
+
const previousModel = this.list.getSelectionModel();
|
|
83
|
+
this.list.updateProps(oldProps ? filterProps(oldProps, RENDERER_PROPS) : null, filterProps(newProps, RENDERER_PROPS));
|
|
84
|
+
const currentModel = this.list.getSelectionModel();
|
|
80
85
|
if (previousModel !== currentModel) {
|
|
81
86
|
this.container.setModel(currentModel);
|
|
82
87
|
}
|