@sheetwrite/vue 0.4.0 → 0.5.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/README.md CHANGED
@@ -57,6 +57,12 @@ replacement/unmount. Reset-bound inputs are `workbook`, `data`, `datasource`,
57
57
  `renderers`; `theme`, `readOnly`, `config`, `overscan`, and `minColumns` update
58
58
  live.
59
59
 
60
+ Readiness observes the latest committed live options. A throwing ready callback
61
+ retires the new Grid; consumer errors are not initialization failures.
62
+ Omitted `renderer` and `"canvas"` are equivalent. Changing an explicit
63
+ `wasmSource` after readiness preserves the Grid and retains the loader's
64
+ first-source warning.
65
+
60
66
  Events are `grid-change`, `viewport-change`, `selection-change`, `edit-begin`, `edit-commit`, `search`, `command-state-change`, `active-sheet-change`, `mutation-rejected`, `renderer-fallback`, `datasource-error`, `export-error`, `ready`, and `initialization-error`. Native DOM change/scroll listeners remain available on the host.
61
67
 
62
68
  For vanilla/preload control, use `initSheetwrite()` and `createGrid()` from `@sheetwrite/core`. See [installation](https://sheetwrite.vercel.app/docs/start/installation/), [Vue integration](https://sheetwrite.vercel.app/docs/frameworks/vue/), and [collaboration](https://sheetwrite.vercel.app/docs/guides/collaboration/).
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type CellRenderer, type CellScalar, type ChangeEvent, type ColumnarData, type DataSource, type DataSourceStorageOptions, type Grid, type GridEvents, type GridOptions, type Selection, type SheetwriteError, type Theme, type Workbook } from "@sheetwrite/core";
1
+ import type { CellRenderer, CellScalar, ChangeEvent, ColumnarData, DataSource, DataSourceStorageOptions, Grid, GridEvents, GridOptions, Selection, SheetwriteError, Theme, Workbook } from "@sheetwrite/core";
2
2
  import { createSimpleRowBridge, type GridReadyEvent, type RowBridge, type RowBridgeHandler, type RowBridgeId, type SheetwriteInitializationProps, type SimpleColumn } from "@sheetwrite/core/adapter";
3
3
  import { type AllowedComponentProps, type ComponentPublicInstance, type VNodeProps } from "vue";
4
4
  /** Imperative Grid handle exposed by the Vue advanced component. */
package/dist/index.js CHANGED
@@ -1,6 +1,5 @@
1
- import { initSheetwrite, isSheetwriteReady, } from "@sheetwrite/core";
2
- import { createGridController, createSimpleGridInput, createSimpleRowBridge, getGridResetReason, gridSizeStyle, } from "@sheetwrite/core/adapter";
3
- import { defineComponent, h, nextTick, onBeforeUnmount, onMounted, ref, shallowRef, watch, } from "vue";
1
+ import { createAdapterGridController, createSimpleGridInput, createSimpleRowBridge, extractGridOptions, gridSizeStyle, } from "@sheetwrite/core/adapter";
2
+ import { defineComponent, getCurrentInstance, h, nextTick, onBeforeUnmount, onMounted, ref, shallowRef, watch, } from "vue";
4
3
  const gridProps = {
5
4
  workbook: { type: Object, required: true },
6
5
  data: { type: Object, default: undefined },
@@ -71,11 +70,11 @@ const SheetwriteGridComponent = defineComponent({
71
70
  setup(props, { attrs, emit, expose, slots }) {
72
71
  const host = ref(null);
73
72
  const exposedGrid = shallowRef(null);
74
- let controller = null;
75
- let generation = 0;
76
- let previousOptions = null;
77
- let mounted = false;
78
- let initializationToken = 0;
73
+ const instance = getCurrentInstance();
74
+ let readyOnceDelivered = false;
75
+ const forwardCommandStateChange = (event) => {
76
+ emit("command-state-change", event);
77
+ };
79
78
  const handlers = {
80
79
  onGridChange: (event) => emit("grid-change", event),
81
80
  onRowDelta: (projection) => emit("row-delta", projection),
@@ -84,112 +83,65 @@ const SheetwriteGridComponent = defineComponent({
84
83
  onEditBegin: (event) => emit("edit-begin", event),
85
84
  onEditCommit: (event) => emit("edit-commit", event),
86
85
  onSearch: (result) => emit("search", result),
87
- onCommandStateChange: (event) => emit("command-state-change", event),
86
+ get onCommandStateChange() {
87
+ const listenerProps = instance?.vnode.props;
88
+ if (!listenerProps)
89
+ return forwardCommandStateChange;
90
+ return listenerProps.onCommandStateChange === undefined &&
91
+ listenerProps["onCommand-state-change"] === undefined
92
+ ? undefined
93
+ : forwardCommandStateChange;
94
+ },
88
95
  onActiveSheetChange: (event) => emit("active-sheet-change", event),
89
96
  onMutationRejected: (event) => emit("mutation-rejected", event),
90
97
  onRendererFallback: (event) => emit("renderer-fallback", event),
91
98
  onDatasourceError: (event) => emit("datasource-error", event),
92
99
  onExportError: (event) => emit("export-error", event),
93
- };
94
- function currentOptions() {
95
- return {
96
- workbook: props.workbook,
97
- data: props.data,
98
- datasource: props.datasource,
99
- datasourceStorage: props.datasourceStorage,
100
- renderer: props.renderer,
101
- workerUrl: props.workerUrl,
102
- presentation: props.presentation,
103
- theme: props.theme,
104
- readOnly: props.readOnly,
105
- protectionResolver: props.protectionResolver,
106
- mutationPolicy: props.mutationPolicy,
107
- transactionResourceLimits: props.transactionResourceLimits,
108
- hyperlinkActivation: props.hyperlinkActivation,
109
- renderers: props.renderers,
110
- editors: props.editors,
111
- overscan: props.overscan,
112
- minColumns: props.minColumns,
113
- config: props.config,
114
- };
115
- }
116
- function teardownGrid() {
117
- exposedGrid.value = null;
118
- controller?.destroy();
119
- controller = null;
120
- }
121
- async function createCurrentGrid() {
122
- if (!mounted || !host.value)
123
- return;
124
- const options = currentOptions();
125
- const reason = generation === 0
126
- ? "initial"
127
- : ((previousOptions && getGridResetReason(previousOptions, options)) ?? "input-reset");
128
- teardownGrid();
129
- const created = createGridController(host.value, options, handlers, props.rowBridge);
130
- controller = created;
131
- generation += 1;
132
- previousOptions = options;
133
- exposedGrid.value = created.grid;
134
- await nextTick();
135
- if (controller !== created)
136
- return;
137
- emit("ready", { grid: created.grid, generation, reason });
138
- }
139
- async function initialize() {
140
- const token = ++initializationToken;
141
- const alreadyReady = isSheetwriteReady();
142
- try {
143
- const initialization = initSheetwrite(props.wasmSource);
144
- if (alreadyReady && mounted && !controller)
145
- await createCurrentGrid();
146
- await initialization;
147
- if (!alreadyReady && mounted && isSheetwriteReady() && !controller) {
148
- await createCurrentGrid();
100
+ onReady(event) {
101
+ const listeners = instance?.vnode.props;
102
+ const readyListeners = listeners?.onReady;
103
+ for (const listener of Array.isArray(readyListeners) ? readyListeners : [readyListeners]) {
104
+ if (typeof listener === "function")
105
+ listener(event);
149
106
  }
150
- }
151
- catch (error) {
152
- if (mounted && token === initializationToken) {
153
- emit("initialization-error", error);
107
+ if (!readyOnceDelivered) {
108
+ readyOnceDelivered = true;
109
+ const onceListeners = listeners?.onReadyOnce;
110
+ for (const listener of Array.isArray(onceListeners) ? onceListeners : [onceListeners]) {
111
+ if (typeof listener === "function")
112
+ listener(event);
113
+ }
154
114
  }
155
- }
156
- }
157
- onMounted(() => {
158
- mounted = true;
159
- void initialize();
160
- });
161
- onBeforeUnmount(() => {
162
- mounted = false;
163
- initializationToken += 1;
164
- teardownGrid();
165
- });
166
- watch(() => props.wasmSource, () => {
167
- void initialize();
115
+ },
116
+ onInitializationError: (error) => emit("initialization-error", error),
117
+ };
118
+ const lifetime = createAdapterGridController(handlers, {
119
+ publish(grid) {
120
+ exposedGrid.value = grid;
121
+ if (grid)
122
+ return nextTick();
123
+ },
124
+ setInitializationState() {
125
+ },
126
+ reportConsumerFailure(thrown) {
127
+ reportError(thrown);
128
+ },
168
129
  });
169
- watch(() => [
170
- props.workbook,
171
- props.data,
172
- props.datasource,
173
- props.datasourceStorage,
174
- props.rowBridge,
175
- props.renderer,
176
- props.workerUrl,
177
- props.presentation,
178
- props.protectionResolver,
179
- props.mutationPolicy,
180
- props.transactionResourceLimits,
181
- props.hyperlinkActivation,
182
- props.renderers,
183
- props.editors,
184
- ], () => {
185
- if (isSheetwriteReady())
186
- void createCurrentGrid();
130
+ onMounted(() => {
131
+ if (host.value) {
132
+ lifetime.mount(host.value, {
133
+ options: extractGridOptions({ ...props }),
134
+ rowBridge: props.rowBridge,
135
+ wasmSource: props.wasmSource,
136
+ });
137
+ }
187
138
  });
188
- watch(() => props.readOnly, (value) => controller?.setReadOnly(value ?? false));
189
- watch(() => props.config, (value) => controller?.setConfig(value));
190
- watch(() => props.theme, (value) => controller?.setTheme(value));
191
- watch(() => props.overscan, (value) => controller?.setOverscan(value));
192
- watch(() => props.minColumns, (value) => controller?.setMinColumns(value));
139
+ onBeforeUnmount(() => lifetime.unmount());
140
+ watch(() => ({
141
+ options: extractGridOptions({ ...props }),
142
+ rowBridge: props.rowBridge,
143
+ wasmSource: props.wasmSource,
144
+ }), (input) => lifetime.update(input));
193
145
  expose({ grid: exposedGrid });
194
146
  return () => {
195
147
  const style = [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sheetwrite/vue",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "type": "module",
5
5
  "description": "Vue adapter for Sheetwrite.",
6
6
  "license": "MIT",
@@ -19,6 +19,9 @@
19
19
  "vue",
20
20
  "canvas"
21
21
  ],
22
+ "sideEffects": [
23
+ "**/*.css"
24
+ ],
22
25
  "main": "./dist/index.js",
23
26
  "module": "./dist/index.js",
24
27
  "types": "./dist/index.d.ts",
@@ -30,7 +33,8 @@
30
33
  "./styles.css": "./styles.css"
31
34
  },
32
35
  "files": [
33
- "dist",
36
+ "dist/**/*.js",
37
+ "dist/**/*.d.ts",
34
38
  "styles.css"
35
39
  ],
36
40
  "publishConfig": {
@@ -45,6 +49,6 @@
45
49
  "vue": ">=3.4"
46
50
  },
47
51
  "dependencies": {
48
- "@sheetwrite/core": "0.4.0"
52
+ "@sheetwrite/core": "0.5.0"
49
53
  }
50
54
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}