intable 0.0.30 → 0.0.31

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
@@ -330,7 +330,7 @@ import { DiffPlugin } from 'intable/plugins/DiffPlugin'
330
330
  added: true, // 高亮新增行,默认 true
331
331
  removed: true, // 高亮删除行,默认 true
332
332
  changed: true, // 高亮修改行,默认 true
333
- onCommit: (data, { added, removed, changed }) => save(data),
333
+ onCommit: ({ added, removed, changed }) => save(data),
334
334
  }}
335
335
  />
336
336
  ```
package/dist/index.d.ts CHANGED
@@ -147,7 +147,7 @@ export interface TableStore extends Obj {
147
147
  height: number;
148
148
  }>[];
149
149
  internal: symbol;
150
- raw: symbol;
150
+ raw: any;
151
151
  props: TableProps2;
152
152
  rawProps: TableProps;
153
153
  ID: string;
package/dist/index.js CHANGED
@@ -213,7 +213,10 @@ function BasePlugin() {
213
213
  rewriteProps: {
214
214
  data: ({ data: _ = [] }) => _,
215
215
  columns: ({ columns: _ = [] }) => _,
216
- newRow: ({ newRow: _ = () => ({}) }) => _,
216
+ newRow: ({ newRow: _ }, { store: K }) => function() {
217
+ let q = _?.(...arguments) || {};
218
+ return q[K.props.rowKey] ??= Symbol(), q;
219
+ },
217
220
  Scroll: ({ Scroll: _ = K }, { store: q }) => (K) => {
218
221
  let J = createScrollPosition(() => q.scroll_el), Y = createElementSize(() => q.scroll_el), X = createMemo(() => {
219
222
  let _ = q.scroll_el;
@@ -262,7 +265,7 @@ function BasePlugin() {
262
265
  return q = combineProps({ ref: Y }, q), createEffect(() => {
263
266
  let { y: _ } = q;
264
267
  _ != null && (K.trs[_] = J(), K.trObs.observe(J()), onCleanup(() => {
265
- K.trSizes[_] = K.trs[_] = void 0, K.trObs.unobserve(J());
268
+ K.trObs.unobserve(J()), K.trs[_] = void 0, !(K.props.data.length > _) && (K.trSizes[_] = void 0);
266
269
  }));
267
270
  }), createComponent(_, q);
268
271
  },
@@ -282,13 +285,13 @@ function BasePlugin() {
282
285
  return J.col.style;
283
286
  }
284
287
  }, { get style() {
285
- return J.col.width ? `width: ${J.col.width}px` : "";
288
+ return J.col.width ? `width: ${J.col.width}px; max-width: ${J.col.width}px` : "";
286
289
  } });
287
290
  return createEffect(() => {
288
291
  if (J.covered || (J.colspan ?? 1) != 1) return;
289
292
  let { x: _ } = J;
290
293
  K.ths[_] = Y(), K.thObs.observe(Y()), onCleanup(() => {
291
- K.thSizes[_] = K.ths[_] = void 0, K.thObs.unobserve(Y());
294
+ K.thObs.unobserve(Y()), K.ths[_] = void 0, !(K.props.columns.length > _) && (K.thSizes[_] = void 0);
292
295
  });
293
296
  }), createComponent(_, mergeProps(Q, { get children() {
294
297
  return J.children;
@@ -310,7 +313,7 @@ function BasePlugin() {
310
313
  return K.col.style;
311
314
  }
312
315
  }, { get style() {
313
- return K.col.width ? `width: ${K.col.width}px` : "";
316
+ return K.col.width ? `width: ${K.col.width}px; max-width: ${K.col.width}px` : "";
314
317
  } });
315
318
  return createComponent(_, mergeProps(Y, { get children() {
316
319
  return K.children;
@@ -10,7 +10,7 @@ declare module '../index' {
10
10
  removed?: boolean;
11
11
  /** @default true */
12
12
  changed?: boolean;
13
- onCommit?: (data: any, opt: {
13
+ onCommit?: (opt: {
14
14
  added: any[];
15
15
  removed: any[];
16
16
  changed: any[];
@@ -22,7 +22,7 @@ declare module '../index' {
22
22
  diffDataKeyed: () => any;
23
23
  }
24
24
  interface Commands {
25
- diffCommit(data?: any[]): Promise<void>;
25
+ diffCommit(): Promise<void>;
26
26
  }
27
27
  }
28
28
  export declare const DiffPlugin: Plugin;
@@ -11,14 +11,14 @@ const DiffPlugin = {
11
11
  diffData: () => e.props.diff?.data ?? [],
12
12
  diffDataKeyed: createLazyMemo(() => keyBy(e.diffData(), (o) => o[e.props.rowKey]))
13
13
  }),
14
- commands: (e) => ({ async diffCommit(o = e.rawProps.data || []) {
15
- let { rowKey: s } = e.props || {}, c = [], l = [], u = [], d = keyBy(o, (e) => e[s]);
14
+ commands: (e) => ({ async diffCommit() {
15
+ let o = e.rawProps.data || [], { rowKey: s } = e.props || {}, c = [], l = [], u = [], d = keyBy(o, (e) => e[s]);
16
16
  for (let l of o) {
17
17
  let o = e.diffDataKeyed()[l[s]];
18
18
  o ? isEqual(l, o) || u.push(l) : c.push(l);
19
19
  }
20
20
  for (let o of e.diffData()) !d[o[s]] && l.push(o);
21
- await e.props.diff?.onCommit?.(o, {
21
+ await e.props.diff?.onCommit?.({
22
22
  added: c,
23
23
  removed: l,
24
24
  changed: u
@@ -26,7 +26,6 @@ const DiffPlugin = {
26
26
  } }),
27
27
  rewriteProps: {
28
28
  diff: ({ diff: e }) => ({
29
- enable: !1,
30
29
  added: !0,
31
30
  removed: !0,
32
31
  changed: !0,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "intable",
3
- "version": "0.0.30",
3
+ "version": "0.0.31",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "files": [