@gridsheet/react-core 1.4.0-alpha.8 → 1.4.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.
Files changed (99) hide show
  1. package/README.md +27 -0
  2. package/dist/_virtual/_commonjsHelpers.js +7 -0
  3. package/dist/_virtual/_commonjsHelpers.js.map +1 -0
  4. package/dist/_virtual/dayjs.min.js +8 -0
  5. package/dist/_virtual/dayjs.min.js.map +1 -0
  6. package/dist/_virtual/dayjs.min2.js +5 -0
  7. package/dist/_virtual/dayjs.min2.js.map +1 -0
  8. package/dist/_virtual/timezone.js +8 -0
  9. package/dist/_virtual/timezone.js.map +1 -0
  10. package/dist/_virtual/timezone2.js +5 -0
  11. package/dist/_virtual/timezone2.js.map +1 -0
  12. package/dist/_virtual/utc.js +8 -0
  13. package/dist/_virtual/utc.js.map +1 -0
  14. package/dist/_virtual/utc2.js +5 -0
  15. package/dist/_virtual/utc2.js.map +1 -0
  16. package/dist/components/Cell.d.ts.map +1 -1
  17. package/dist/components/Cell.js +3 -1
  18. package/dist/components/Cell.js.map +1 -1
  19. package/dist/components/Editor.d.ts +2 -1
  20. package/dist/components/Editor.d.ts.map +1 -1
  21. package/dist/components/Editor.js +13 -4
  22. package/dist/components/Editor.js.map +1 -1
  23. package/dist/components/FormulaBar.d.ts.map +1 -1
  24. package/dist/components/FormulaBar.js +4 -3
  25. package/dist/components/FormulaBar.js.map +1 -1
  26. package/dist/components/GridSheet.d.ts.map +1 -1
  27. package/dist/components/GridSheet.js +3 -2
  28. package/dist/components/GridSheet.js.map +1 -1
  29. package/dist/components/SheetProvider.d.ts +2 -0
  30. package/dist/components/SheetProvider.d.ts.map +1 -1
  31. package/dist/components/SheetProvider.js +3 -0
  32. package/dist/components/SheetProvider.js.map +1 -1
  33. package/dist/components/Tabular.d.ts.map +1 -1
  34. package/dist/components/Tabular.js +38 -29
  35. package/dist/components/Tabular.js.map +1 -1
  36. package/dist/formula/evaluator.d.ts +10 -3
  37. package/dist/formula/evaluator.d.ts.map +1 -1
  38. package/dist/formula/evaluator.js +11 -6
  39. package/dist/formula/evaluator.js.map +1 -1
  40. package/dist/formula/functions/__base.d.ts +4 -1
  41. package/dist/formula/functions/__base.d.ts.map +1 -1
  42. package/dist/formula/functions/__base.js +2 -1
  43. package/dist/formula/functions/__base.js.map +1 -1
  44. package/dist/formula/functions/__utils.js +1 -1
  45. package/dist/formula/functions/add.js +5 -5
  46. package/dist/formula/functions/add.js.map +1 -1
  47. package/dist/formula/functions/col.d.ts +1 -2
  48. package/dist/formula/functions/col.d.ts.map +1 -1
  49. package/dist/formula/functions/col.js +8 -5
  50. package/dist/formula/functions/col.js.map +1 -1
  51. package/dist/formula/functions/col.spec.d.ts +2 -0
  52. package/dist/formula/functions/col.spec.d.ts.map +1 -0
  53. package/dist/formula/functions/minus.js +5 -5
  54. package/dist/formula/functions/minus.js.map +1 -1
  55. package/dist/formula/functions/row.d.ts +1 -2
  56. package/dist/formula/functions/row.d.ts.map +1 -1
  57. package/dist/formula/functions/row.js +8 -5
  58. package/dist/formula/functions/row.js.map +1 -1
  59. package/dist/formula/functions/row.spec.d.ts +2 -0
  60. package/dist/formula/functions/row.spec.d.ts.map +1 -0
  61. package/dist/formula/mapping.d.ts.map +1 -1
  62. package/dist/formula/mapping.js +1 -0
  63. package/dist/formula/mapping.js.map +1 -1
  64. package/dist/formula/solver.d.ts +3 -2
  65. package/dist/formula/solver.d.ts.map +1 -1
  66. package/dist/formula/solver.js +3 -3
  67. package/dist/formula/solver.js.map +1 -1
  68. package/dist/index.d.ts +1 -1
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/lib/autofill.js +1 -1
  71. package/dist/lib/clipboard.d.ts.map +1 -1
  72. package/dist/lib/clipboard.js +28 -2
  73. package/dist/lib/clipboard.js.map +1 -1
  74. package/dist/lib/table.d.ts +2 -1
  75. package/dist/lib/table.d.ts.map +1 -1
  76. package/dist/lib/table.js +21 -10
  77. package/dist/lib/table.js.map +1 -1
  78. package/dist/lib/time.d.ts +7 -1
  79. package/dist/lib/time.d.ts.map +1 -1
  80. package/dist/lib/time.js +95 -4
  81. package/dist/lib/time.js.map +1 -1
  82. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.js +287 -0
  83. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.js.map +1 -0
  84. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/timezone.js +72 -0
  85. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/timezone.js.map +1 -0
  86. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/utc.js +85 -0
  87. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/utc.js.map +1 -0
  88. package/dist/parsers/core.d.ts.map +1 -1
  89. package/dist/parsers/core.js +4 -32
  90. package/dist/parsers/core.js.map +1 -1
  91. package/dist/renderers/core.d.ts +24 -21
  92. package/dist/renderers/core.d.ts.map +1 -1
  93. package/dist/renderers/core.js +35 -47
  94. package/dist/renderers/core.js.map +1 -1
  95. package/dist/store/actions.d.ts.map +1 -1
  96. package/dist/store/actions.js.map +1 -1
  97. package/dist/types.d.ts +5 -2
  98. package/dist/types.d.ts.map +1 -1
  99. package/package.json +1 -1
@@ -9,17 +9,20 @@ type Props = {
9
9
  mixins?: RendererMixinType[];
10
10
  };
11
11
  export interface RendererMixinType {
12
- render?(value: any, table: UserTable, writer?: WriterType): any;
12
+ datetimeFormat?: string;
13
+ dateFormat?: string;
14
+ timeDeltaFormat?: string;
15
+ render?(value: any, table: UserTable, writer?: WriterType, position?: PointType): any;
13
16
  stringify?(cell: CellType): string;
14
- string?(value: string, table: UserTable, writer?: WriterType): any;
15
- bool?(value: boolean, writer?: WriterType): any;
16
- number?(value: number, writer?: WriterType): any;
17
- date?(value: Date, writer?: WriterType): any;
18
- timedelta?(value: TimeDelta, writer?: WriterType): any;
19
- array?(value: any[], writer?: WriterType): any;
20
- object?(value: any, writer?: WriterType): any;
21
- null?(value: null, writer?: WriterType): any;
22
- undefined?(value: undefined, writer?: WriterType): any;
17
+ string?(value: string, table: UserTable, writer?: WriterType, position?: PointType): any;
18
+ bool?(value: boolean, writer?: WriterType, position?: PointType): any;
19
+ number?(value: number, writer?: WriterType, position?: PointType): any;
20
+ date?(value: Date, writer?: WriterType, position?: PointType): any;
21
+ timedelta?(value: TimeDelta, writer?: WriterType, position?: PointType): any;
22
+ array?(value: any[], writer?: WriterType, position?: PointType): any;
23
+ object?(value: any, writer?: WriterType, position?: PointType): any;
24
+ null?(value: null, writer?: WriterType, position?: PointType): any;
25
+ undefined?(value: undefined, writer?: WriterType, position?: PointType): any;
23
26
  }
24
27
  export declare class Renderer implements RendererMixinType {
25
28
  datetimeFormat: string;
@@ -30,17 +33,17 @@ export declare class Renderer implements RendererMixinType {
30
33
  constructor(props?: Props);
31
34
  private applyMixins;
32
35
  call(table: Table, point: PointType, writer?: WriterType): any;
33
- render(value: any, table: Table, writer?: WriterType): any;
34
- stringify(cell: CellType): string;
35
- string(value: string, table: Table, writer?: WriterType): any;
36
- bool(value: boolean, writer?: WriterType): any;
37
- number(value: number, writer?: WriterType): any;
38
- date(value: Date, writer?: WriterType): any;
39
- timedelta(value: TimeDelta, writer?: WriterType): any;
40
- array(value: any[], writer?: WriterType): any;
41
- object(value: any, writer?: WriterType): any;
42
- null(value: any, writer?: WriterType): any;
43
- undefined(value: undefined, writer?: WriterType): any;
36
+ render(value: any, table: Table, writer?: WriterType, position?: PointType): any;
37
+ stringify(cell: CellType, position?: PointType): string;
38
+ string(value: string, table: Table, writer?: WriterType, position?: PointType): any;
39
+ bool(value: boolean, writer?: WriterType, position?: PointType): any;
40
+ number(value: number, writer?: WriterType, position?: PointType): any;
41
+ date(value: Date, writer?: WriterType, position?: PointType): any;
42
+ timedelta(value: TimeDelta, writer?: WriterType, position?: PointType): any;
43
+ array(value: any[], writer?: WriterType, position?: PointType): any;
44
+ object(value: any, writer?: WriterType, position?: PointType): any;
45
+ null(value: any, writer?: WriterType, position?: PointType): any;
46
+ undefined(value: undefined, writer?: WriterType, position?: PointType): any;
44
47
  }
45
48
  export type RendererType = Renderer;
46
49
  export declare const defaultRenderer: Renderer;
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../renderers/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../renderers/core.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import dayjs from "dayjs";
1
+ import dayjs from "../_virtual/dayjs.min.js";
2
2
  import { Table } from "../lib/table.js";
3
3
  import { solveFormula } from "../formula/solver.js";
4
4
  import { FormulaError } from "../formula/evaluator.js";
@@ -28,13 +28,20 @@ class Renderer {
28
28
  }
29
29
  }
30
30
  call(table, point, writer) {
31
- var _a;
32
31
  const address = p2a(point);
33
32
  const cache = table.getSolvedCache(address);
34
- const value = cache || ((_a = table.getByPoint(point)) == null ? void 0 : _a.value);
35
- return this.render(value, table, writer);
33
+ const cell = table.getByPoint(point);
34
+ let value = cache || (cell == null ? void 0 : cell.value);
35
+ if (typeof value === "string" && !(cell == null ? void 0 : cell.disableFormula)) {
36
+ if (value[0] === "'") {
37
+ value = value.substring(1);
38
+ } else if (value[0] === "=") {
39
+ value = solveFormula({ value, table, raise: true, origin: point });
40
+ }
41
+ }
42
+ return this.render(value, table, writer, point);
36
43
  }
37
- render(value, table, writer) {
44
+ render(value, table, writer, position) {
38
45
  var _a;
39
46
  if (this.condition && !this.condition(value)) {
40
47
  return this.complement ? this.complement(value) : this.stringify({ value });
@@ -42,100 +49,81 @@ class Renderer {
42
49
  switch (typeof value) {
43
50
  case "object":
44
51
  if (value instanceof Date) {
45
- return this.date(value, writer);
52
+ return this.date(value, writer, position);
46
53
  }
47
- if (value instanceof TimeDelta) {
48
- return this.timedelta(value, writer);
54
+ if (TimeDelta.is(value)) {
55
+ return this.timedelta(TimeDelta.ensure(value), writer, position);
49
56
  }
50
57
  if (value == null) {
51
- return this.null(value, writer);
58
+ return this.null(value, writer, position);
52
59
  }
53
60
  if (value instanceof Table) {
54
- return this.render((_a = value.getByPoint({ y: value.top, x: value.left })) == null ? void 0 : _a.value, table, writer);
61
+ return this.render((_a = value.getByPoint({ y: value.top, x: value.left })) == null ? void 0 : _a.value, table, writer, position);
55
62
  }
56
63
  if (Array.isArray(value)) {
57
- return this.array(value, writer);
64
+ return this.array(value, writer, position);
58
65
  }
59
66
  if (value instanceof FormulaError) {
60
67
  throw value;
61
68
  }
62
- return this.object(value, writer);
69
+ return this.object(value, writer, position);
63
70
  case "string":
64
- return this.string(value, table, writer);
71
+ return this.string(value, table, writer, position);
65
72
  case "number":
66
- return this.number(value, writer);
73
+ return this.number(value, writer, position);
67
74
  case "boolean":
68
- return this.bool(value, writer);
75
+ return this.bool(value, writer, position);
69
76
  case "undefined":
70
- return this.undefined(value, writer);
77
+ return this.undefined(value, writer, position);
71
78
  case "function":
72
79
  return value();
73
80
  }
74
81
  return "";
75
82
  }
76
- stringify(cell) {
83
+ stringify(cell, position) {
77
84
  const { value } = cell;
78
85
  if (value instanceof Date) {
79
86
  return this.date(value);
80
87
  }
81
- if (value instanceof TimeDelta) {
82
- return this.timedelta(value);
88
+ if (TimeDelta.is(value)) {
89
+ return this.timedelta(TimeDelta.ensure(value));
83
90
  }
84
91
  if (value == null) {
85
92
  return "";
86
93
  }
87
94
  return value.toString();
88
95
  }
89
- string(value, table, writer) {
90
- if (value[0] === "'") {
91
- return value.substring(1);
92
- }
93
- if (value[0] === "=") {
94
- const result = solveFormula({ value, table, raise: true });
95
- if (result === null) {
96
- return this.null(null);
97
- }
98
- if (result === void 0) {
99
- return this.undefined(void 0);
100
- }
101
- if (result.constructor.name === "Boolean") {
102
- return String(result).toUpperCase();
103
- }
104
- if (result.constructor.name === "Date") {
105
- return this.date(result);
106
- }
107
- return this.render(result, table, writer);
108
- }
96
+ string(value, table, writer, position) {
109
97
  return value;
110
98
  }
111
- bool(value, writer) {
99
+ bool(value, writer, position) {
112
100
  return value ? "TRUE" : "FALSE";
113
101
  }
114
- number(value, writer) {
102
+ number(value, writer, position) {
115
103
  if (isNaN(value)) {
116
104
  return "NaN";
117
105
  }
118
106
  return value;
119
107
  }
120
- date(value, writer) {
108
+ date(value, writer, position) {
121
109
  if (value.getHours() + value.getMinutes() + value.getSeconds() === 0) {
122
110
  return dayjs(value).format(this.dateFormat);
123
111
  }
124
112
  return dayjs(value).format(this.datetimeFormat);
125
113
  }
126
- timedelta(value, writer) {
114
+ timedelta(value, writer, position) {
127
115
  return value.stringify(this.timeDeltaFormat);
128
116
  }
129
- array(value, writer) {
117
+ array(value, writer, position) {
130
118
  return value.map((v) => this.stringify({ value: v })).join(",");
131
119
  }
132
- object(value, writer) {
120
+ object(value, writer, position) {
133
121
  return JSON.stringify(value);
134
122
  }
135
- null(value, writer) {
123
+ null(value, writer, position) {
136
124
  return "";
137
125
  }
138
- undefined(value, writer) {
126
+ undefined(value, writer, position) {
139
127
  return "";
140
128
  }
141
129
  }
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sources":["../../renderers/core.ts"],"sourcesContent":["import dayjs from 'dayjs';\n\nimport { CellType, PointType, WriterType } from '../types';\nimport { Table, UserTable } from '../lib/table';\nimport { solveFormula } from '../formula/solver';\nimport { FormulaError } from '../formula/evaluator';\nimport { p2a } from '../lib/converters';\nimport { TimeDelta } from '../lib/time';\n\ntype Condition = (value: any) => boolean;\n\ntype Stringify = (value: any) => string;\n\ntype Props = {\n condition?: Condition;\n complement?: Stringify;\n mixins?: RendererMixinType[];\n};\n\nexport interface RendererMixinType {\n render?(value: any, table: UserTable, writer?: WriterType): any;\n stringify?(cell: CellType): string;\n string?(value: string, table: UserTable, writer?: WriterType): any;\n bool?(value: boolean, writer?: WriterType): any;\n number?(value: number, writer?: WriterType): any;\n date?(value: Date, writer?: WriterType): any;\n timedelta?(value: TimeDelta, writer?: WriterType): any;\n array?(value: any[], writer?: WriterType): any;\n object?(value: any, writer?: WriterType): any;\n null?(value: null, writer?: WriterType): any;\n undefined?(value: undefined, writer?: WriterType): any;\n}\n\nexport class Renderer implements RendererMixinType {\n public datetimeFormat: string = 'YYYY-MM-DD HH:mm:ss';\n public dateFormat: string = 'YYYY-MM-DD';\n public timeDeltaFormat: string = 'HH:mm:ss';\n private condition?: Condition;\n private complement?: Stringify;\n\n constructor(props?: Props) {\n this.applyMixins(props?.mixins);\n if (props == null) {\n return;\n }\n const { condition, complement } = props;\n this.condition = condition;\n this.complement = complement;\n }\n\n private applyMixins(mixins?: RendererMixinType[]) {\n if (mixins == null) {\n return;\n }\n for (const mixin of mixins) {\n for (const key in mixin) {\n // @ts-expect-error mixin has the same fields as this\n this[key] = mixin[key];\n }\n }\n }\n\n public call(table: Table, point: PointType, writer?: WriterType): any {\n const address = p2a(point);\n const cache = table.getSolvedCache(address);\n const value = cache || table.getByPoint(point)?.value;\n return this.render(value, table, writer);\n }\n\n public render(value: any, table: Table, writer?: WriterType): any {\n if (this.condition && !this.condition(value)) {\n return this.complement ? this.complement(value) : this.stringify({ value });\n }\n\n switch (typeof value) {\n case 'object':\n if (value instanceof Date) {\n return this.date(value, writer);\n }\n if (value instanceof TimeDelta) {\n return this.timedelta(value, writer);\n }\n if (value == null) {\n return this.null(value, writer);\n }\n if (value instanceof Table) {\n return this.render(value.getByPoint({ y: value.top, x: value.left })?.value, table, writer);\n }\n if (Array.isArray(value)) {\n return this.array(value, writer);\n }\n if (value instanceof FormulaError) {\n throw value;\n }\n return this.object(value, writer);\n case 'string':\n return this.string(value, table, writer);\n case 'number':\n return this.number(value, writer);\n case 'boolean':\n return this.bool(value, writer);\n case 'undefined':\n return this.undefined(value, writer);\n case 'function':\n return value() as string;\n }\n return '';\n }\n\n stringify(cell: CellType): string {\n const { value } = cell;\n if (value instanceof Date) {\n return this.date(value);\n }\n if (value instanceof TimeDelta) {\n return this.timedelta(value);\n }\n if (value == null) {\n return '';\n }\n\n return value.toString();\n }\n\n string(value: string, table: Table, writer?: WriterType): any {\n if (value[0] === \"'\") {\n return value.substring(1);\n }\n if (value[0] === '=') {\n const result = solveFormula({ value, table, raise: true });\n if (result === null) {\n return this.null(null);\n }\n if (result === undefined) {\n return this.undefined(undefined);\n }\n if (result.constructor.name === 'Boolean') {\n return String(result).toUpperCase();\n }\n if (result.constructor.name === 'Date') {\n return this.date(result as Date);\n }\n return this.render(result, table, writer);\n }\n return value;\n }\n\n bool(value: boolean, writer?: WriterType): any {\n return value ? 'TRUE' : 'FALSE';\n }\n\n number(value: number, writer?: WriterType): any {\n if (isNaN(value)) {\n return 'NaN';\n }\n return value;\n }\n\n date(value: Date, writer?: WriterType): any {\n if (value.getHours() + value.getMinutes() + value.getSeconds() === 0) {\n return dayjs(value).format(this.dateFormat);\n }\n return dayjs(value).format(this.datetimeFormat);\n }\n\n timedelta(value: TimeDelta, writer?: WriterType): any {\n return value.stringify(this.timeDeltaFormat);\n }\n\n array(value: any[], writer?: WriterType): any {\n return value.map((v) => this.stringify({ value: v })).join(',');\n }\n\n object(value: any, writer?: WriterType): any {\n return JSON.stringify(value);\n }\n\n null(value: any, writer?: WriterType): any {\n return '';\n }\n\n undefined(value: undefined, writer?: WriterType): any {\n return '';\n }\n}\n\nexport type RendererType = Renderer;\nexport const defaultRenderer = new Renderer();\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sources":["../../renderers/core.ts"],"sourcesContent":["import dayjs from 'dayjs';\n\nimport { CellType, PointType, WriterType } from '../types';\nimport { Table, UserTable } from '../lib/table';\nimport { solveFormula } from '../formula/solver';\nimport { FormulaError } from '../formula/evaluator';\nimport { p2a } from '../lib/converters';\nimport { TimeDelta } from '../lib/time';\n\ntype Condition = (value: any) => boolean;\n\ntype Stringify = (value: any) => string;\n\ntype Props = {\n condition?: Condition;\n complement?: Stringify;\n mixins?: RendererMixinType[];\n};\n\nexport interface RendererMixinType {\n datetimeFormat?: string;\n dateFormat?: string;\n timeDeltaFormat?: string;\n\n render?(value: any, table: UserTable, writer?: WriterType, position?: PointType): any;\n stringify?(cell: CellType): string;\n string?(value: string, table: UserTable, writer?: WriterType, position?: PointType): any;\n bool?(value: boolean, writer?: WriterType, position?: PointType): any;\n number?(value: number, writer?: WriterType, position?: PointType): any;\n date?(value: Date, writer?: WriterType, position?: PointType): any;\n timedelta?(value: TimeDelta, writer?: WriterType, position?: PointType): any;\n array?(value: any[], writer?: WriterType, position?: PointType): any;\n object?(value: any, writer?: WriterType, position?: PointType): any;\n null?(value: null, writer?: WriterType, position?: PointType): any;\n undefined?(value: undefined, writer?: WriterType, position?: PointType): any;\n}\n\nexport class Renderer implements RendererMixinType {\n public datetimeFormat: string = 'YYYY-MM-DD HH:mm:ss';\n public dateFormat: string = 'YYYY-MM-DD';\n public timeDeltaFormat: string = 'HH:mm:ss';\n private condition?: Condition;\n private complement?: Stringify;\n\n constructor(props?: Props) {\n this.applyMixins(props?.mixins);\n if (props == null) {\n return;\n }\n const { condition, complement } = props;\n this.condition = condition;\n this.complement = complement;\n }\n\n private applyMixins(mixins?: RendererMixinType[]) {\n if (mixins == null) {\n return;\n }\n for (const mixin of mixins) {\n for (const key in mixin) {\n // @ts-expect-error mixin has the same fields as this\n this[key] = mixin[key];\n }\n }\n }\n\n public call(table: Table, point: PointType, writer?: WriterType): any {\n const address = p2a(point);\n const cache = table.getSolvedCache(address);\n const cell = table.getByPoint(point);\n let value = cache || cell?.value;\n if (typeof value === 'string' && !cell?.disableFormula) {\n if (value[0] === \"'\") {\n value = value.substring(1);\n } else if (value[0] === '=') {\n value = solveFormula({ value, table, raise: true, origin: point });\n }\n }\n return this.render(value, table, writer, point);\n }\n\n public render(value: any, table: Table, writer?: WriterType, position?: PointType): any {\n if (this.condition && !this.condition(value)) {\n return this.complement ? this.complement(value) : this.stringify({ value });\n }\n\n switch (typeof value) {\n case 'object':\n if (value instanceof Date) {\n return this.date(value, writer, position);\n }\n if (TimeDelta.is(value)) {\n return this.timedelta(TimeDelta.ensure(value), writer, position);\n }\n if (value == null) {\n return this.null(value, writer, position);\n }\n if (value instanceof Table) {\n return this.render(value.getByPoint({ y: value.top, x: value.left })?.value, table, writer, position);\n }\n if (Array.isArray(value)) {\n return this.array(value, writer, position);\n }\n if (value instanceof FormulaError) {\n throw value;\n }\n return this.object(value, writer, position);\n case 'string':\n return this.string(value, table, writer, position);\n case 'number':\n return this.number(value, writer, position);\n case 'boolean':\n return this.bool(value, writer, position);\n case 'undefined':\n return this.undefined(value, writer, position);\n case 'function':\n return value() as string;\n }\n return '';\n }\n\n stringify(cell: CellType, position?: PointType): string {\n const { value } = cell;\n if (value instanceof Date) {\n return this.date(value);\n }\n if (TimeDelta.is(value)) {\n return this.timedelta(TimeDelta.ensure(value));\n }\n if (value == null) {\n return '';\n }\n\n return value.toString();\n }\n\n string(value: string, table: Table, writer?: WriterType, position?: PointType): any {\n return value;\n }\n\n bool(value: boolean, writer?: WriterType, position?: PointType): any {\n return value ? 'TRUE' : 'FALSE';\n }\n\n number(value: number, writer?: WriterType, position?: PointType): any {\n if (isNaN(value)) {\n return 'NaN';\n }\n return value;\n }\n\n date(value: Date, writer?: WriterType, position?: PointType): any {\n if (value.getHours() + value.getMinutes() + value.getSeconds() === 0) {\n return dayjs(value).format(this.dateFormat);\n }\n return dayjs(value).format(this.datetimeFormat);\n }\n\n timedelta(value: TimeDelta, writer?: WriterType, position?: PointType): any {\n return value.stringify(this.timeDeltaFormat);\n }\n\n array(value: any[], writer?: WriterType, position?: PointType): any {\n return value.map((v) => this.stringify({ value: v })).join(',');\n }\n\n object(value: any, writer?: WriterType, position?: PointType): any {\n return JSON.stringify(value);\n }\n\n null(value: any, writer?: WriterType, position?: PointType): any {\n return '';\n }\n\n undefined(value: undefined, writer?: WriterType, position?: PointType): any {\n return '';\n }\n}\n\nexport type RendererType = Renderer;\nexport const defaultRenderer = new Renderer();\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../store/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../store/actions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sources":["../../store/actions.ts"],"sourcesContent":["import {\n StoreType,\n RectType,\n ZoneType,\n PointType,\n RangeType,\n FeedbackType,\n CellsByAddressType,\n AreaType,\n PositionType,\n ModeType,\n} from '../types';\nimport { zoneToArea, superposeArea, matrixShape, areaShape, areaToZone } from '../lib/structs';\nimport { Table } from '../lib/table';\n\nimport { tsv2matrix, p2a, a2p } from '../lib/converters';\nimport { DEFAULT_HEIGHT, DEFAULT_WIDTH } from '../constants';\nimport { initSearchStatement, restrictPoints } from './helpers';\nimport { smartScroll } from '../lib/virtualization';\nimport * as prevention from '../lib/prevention';\n\nconst actions: { [s: string]: CoreAction<any> } = {};\n\nexport const reducer = <T>(store: StoreType, action: { type: number; value: T }): StoreType => {\n const act: CoreAction<T> | undefined = actions[action.type];\n if (act == null) {\n return store;\n }\n return { ...store, ...act.reduce(store, action.value) };\n};\n\nexport class CoreAction<T> {\n static head = 1;\n private actionId: number = 1;\n\n public reduce(store: StoreType, payload: T): StoreType {\n return store;\n }\n public call(payload: T): { type: number; value: T } {\n return {\n type: this.actionId,\n value: payload,\n };\n }\n public bind() {\n this.actionId = CoreAction.head++;\n actions[this.actionId] = this;\n return this.call.bind(this);\n }\n}\n\nclass SetSearchQueryAction<T extends string | undefined> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const searchQuery = payload;\n const { table } = store;\n return {\n ...store,\n ...initSearchStatement(table, { ...store, searchQuery }),\n searchQuery,\n };\n }\n}\nexport const setSearchQuery = new SetSearchQueryAction().bind();\n\nclass SetSearchCaseSensitiveAction<T extends boolean> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const searchCaseSensitive = payload;\n const { table } = store;\n return {\n ...store,\n ...initSearchStatement(table, { ...store, searchCaseSensitive }),\n searchCaseSensitive,\n };\n }\n}\nexport const setSearchCaseSensitive = new SetSearchCaseSensitiveAction().bind();\n\nclass SetEditingCellAction<T extends string> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n editingCell: payload,\n };\n }\n}\nexport const setEditingCell = new SetEditingCellAction().bind();\n\nclass SetEditingOnEnterAction<T extends boolean> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n editingOnEnter: payload,\n };\n }\n}\nexport const setEditingOnEnter = new SetEditingOnEnterAction().bind();\n\nclass SetAutofillDraggingToAction<T extends PointType | null> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n autofillDraggingTo: payload,\n };\n }\n}\nexport const setAutofillDraggingTo = new SetAutofillDraggingToAction().bind();\n\nclass SetShowAddressAction<T extends boolean> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n showAddress: payload,\n };\n }\n}\nexport const setShowAddress = new SetShowAddressAction().bind();\n\nclass SetContextMenuPositionAction<T extends PositionType> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n contextMenuPosition: payload,\n };\n }\n}\nexport const setContextMenuPosition = new SetContextMenuPositionAction().bind();\n\nclass SetResizingPositionYAction<T extends [number, number, number]> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n resizingPositionY: payload,\n };\n }\n}\nexport const setResizingPositionY = new SetResizingPositionYAction().bind();\n\nclass SetResizingPositionXAction<T extends [number, number, number]> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n resizingPositionX: payload,\n };\n }\n}\nexport const setResizingPositionX = new SetResizingPositionXAction().bind();\n\nclass SetOnSaveAction<T extends FeedbackType> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n onSave: payload,\n };\n }\n}\nexport const setOnSave = new SetOnSaveAction().bind();\n\nclass SetEnteringAction<T extends boolean> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n entering: payload,\n };\n }\n}\nexport const setEntering = new SetEnteringAction().bind();\n\nclass SetHeaderHeightAction<T extends number> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n headerHeight: payload,\n };\n }\n}\nexport const setHeaderHeight = new SetHeaderHeightAction().bind();\n\nclass SetHeaderWidthAction<T extends number> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n headerWidth: payload,\n };\n }\n}\nexport const setHeaderWidth = new SetHeaderWidthAction().bind();\n\nclass SetSheetHeightAction<T extends number> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n sheetHeight: payload,\n };\n }\n}\nexport const setSheetHeight = new SetSheetHeightAction().bind();\n\nclass SetSheetWidthAction<T extends number> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n sheetWidth: payload,\n };\n }\n}\nexport const setSheetWidth = new SetSheetWidthAction().bind();\n\nclass InitializeTableAction<T extends Table> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n table: payload,\n tableInitialized: true,\n };\n }\n}\nexport const initializeTable = new InitializeTableAction().bind();\n\nclass UpdateTableAction<T extends Table> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n table: payload,\n ...initSearchStatement(payload, store),\n ...restrictPoints(store, payload),\n };\n }\n}\nexport const updateTable = new UpdateTableAction().bind();\n\nclass SetEditorRectAction<T extends RectType> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n editorRect: payload,\n };\n }\n}\nexport const setEditorRect = new SetEditorRectAction().bind();\n\nclass SetResizingRectAction<T extends RectType> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n resizingRect: payload,\n };\n }\n}\nexport const setResizingRect = new SetResizingRectAction().bind();\n\nclass BlurAction<T extends null> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n editingCell: '',\n };\n }\n}\nexport const blur = new BlurAction().bind();\n\nclass CopyAction<T extends ZoneType> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n copyingZone: payload,\n cutting: false,\n };\n }\n}\nexport const copy = new CopyAction().bind();\n\nclass CutAction<T extends ZoneType> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n copyingZone: payload,\n cutting: true,\n };\n }\n}\nexport const cut = new CutAction().bind();\n\nclass PasteAction<T extends { text: string }> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const { choosing, copyingZone, selectingZone, cutting, table } = store;\n\n let selectingArea = zoneToArea(selectingZone);\n const copyingArea = zoneToArea(copyingZone);\n\n if (cutting) {\n const src = copyingArea;\n const { height: h, width: w } = areaShape(copyingArea);\n const dst: AreaType =\n selectingArea.top !== -1\n ? {\n top: selectingArea.top,\n left: selectingArea.left,\n bottom: selectingArea.top + h,\n right: selectingArea.left + w,\n }\n : {\n top: choosing.y,\n left: choosing.x,\n bottom: choosing.y + h,\n right: choosing.x + w,\n };\n const newTable = table.move({\n src,\n dst,\n operator: 'USER',\n reflection: {\n selectingZone: areaToZone(dst),\n copyingZone,\n cutting,\n },\n });\n return {\n ...store,\n ...initSearchStatement(newTable, store),\n cutting: false,\n table: newTable,\n selectingZone: areaToZone(dst),\n copyingZone: { startY: -1, startX: -1, endY: -1, endX: -1 },\n };\n }\n\n let newTable: Table;\n let { y, x } = choosing;\n const { text } = payload;\n if (copyingArea.top === -1) {\n const matrixFrom = tsv2matrix(text);\n const { height, width } = matrixShape({ matrix: matrixFrom, base: -1 });\n selectingArea = {\n top: y,\n left: x,\n bottom: y + height,\n right: x + width,\n };\n newTable = table.writeMatrix({\n point: { y, x },\n matrix: matrixFrom,\n reflection: {\n selectingZone: areaToZone(selectingArea),\n },\n });\n } else {\n let { height, width } = areaShape(copyingArea);\n if (selectingArea.top !== -1) {\n y = selectingArea.top;\n x = selectingArea.left;\n const superposed = superposeArea(selectingArea, copyingArea);\n height = superposed.height;\n width = superposed.width;\n }\n selectingArea = { top: y, left: x, bottom: y + height, right: x + width };\n newTable = table.copy({\n src: copyingArea,\n dst: selectingArea,\n operator: 'USER',\n reflection: {\n copyingZone,\n selectingZone,\n },\n });\n }\n return {\n ...store,\n table: newTable,\n selectingZone: areaToZone(selectingArea),\n copyingZone: { startY: -1, startX: -1, endY: -1, endX: -1 },\n ...initSearchStatement(newTable, store),\n };\n }\n}\nexport const paste = new PasteAction().bind();\n\nclass EscapeAction<T extends null> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n copyingZone: { startY: -1, startX: -1, endY: -1, endX: -1 },\n cutting: false,\n editingCell: '',\n leftHeaderSelecting: false,\n topHeaderSelecting: false,\n };\n }\n}\nexport const escape = new EscapeAction().bind();\n\nclass ChooseAction<T extends PointType> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n choosing: payload,\n entering: true,\n };\n }\n}\nexport const choose = new ChooseAction().bind();\n\nclass SelectAction<T extends ZoneType> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n selectingZone: payload,\n leftHeaderSelecting: false,\n topHeaderSelecting: false,\n };\n }\n}\nexport const select = new SelectAction().bind();\n\nclass SelectRowsAction<T extends { range: RangeType; numCols: number }> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const { range, numCols } = payload;\n const { start, end } = range;\n const selectingZone = {\n startY: start,\n startX: 1,\n endY: end,\n endX: numCols,\n };\n return {\n ...store,\n selectingZone,\n choosing: { y: start, x: 0 },\n leftHeaderSelecting: true,\n topHeaderSelecting: false,\n };\n }\n}\nexport const selectRows = new SelectRowsAction().bind();\n\nclass SelectColsAction<T extends { range: RangeType; numRows: number }> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const { range, numRows } = payload;\n const { start, end } = range;\n const selectingZone = {\n startY: 1,\n startX: start,\n endY: numRows,\n endX: end,\n };\n\n return {\n ...store,\n selectingZone,\n choosing: { y: 0, x: start },\n leftHeaderSelecting: false,\n topHeaderSelecting: true,\n };\n }\n}\nexport const selectCols = new SelectColsAction().bind();\n\nclass DragAction<T extends PointType> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const { startY, startX } = store.selectingZone;\n const selectingZone = {\n startY,\n startX,\n endY: payload.y,\n endX: payload.x,\n };\n return { ...store, selectingZone };\n }\n}\nexport const drag = new DragAction().bind();\n\nclass SearchAction<T extends number> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const { matchingCells } = store;\n let { matchingCellIndex, choosing } = store;\n matchingCellIndex += payload;\n if (matchingCellIndex >= matchingCells.length) {\n matchingCellIndex = 0;\n } else if (matchingCellIndex < 0) {\n matchingCellIndex = matchingCells.length - 1;\n }\n\n if (matchingCells.length > 0) {\n const address = matchingCells[matchingCellIndex];\n choosing = a2p(address);\n }\n return { ...store, matchingCells, matchingCellIndex, choosing };\n }\n}\nexport const search = new SearchAction().bind();\n\nclass WriteAction<T extends string> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const { choosing, selectingZone, table } = store;\n const newTable = table.write({\n point: choosing,\n value: payload,\n operator: 'USER',\n reflection: {\n selectingZone,\n choosing,\n },\n });\n return {\n ...store,\n ...initSearchStatement(newTable, store),\n table: newTable,\n copyingZone: { startY: -1, startX: -1, endY: -1, endX: -1 },\n };\n }\n}\nexport const write = new WriteAction().bind();\n\nclass ClearAction<T extends null> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const { choosing, selectingZone, table } = store;\n\n let selectingArea = zoneToArea(selectingZone);\n if (selectingArea.top === -1) {\n const { y, x } = choosing;\n selectingArea = { top: y, left: x, bottom: y, right: x };\n }\n const { top, left, bottom, right } = selectingArea;\n const diff: CellsByAddressType = {};\n let diffCount = 0;\n for (let y = top; y <= bottom; y++) {\n for (let x = left; x <= right; x++) {\n const cell = table.getByPoint({ y, x });\n const address = p2a({ y, x });\n if (prevention.isPrevented(cell?.prevention, prevention.Write)) {\n continue;\n }\n if (cell?.value != null) {\n diff[address] = { value: null };\n diffCount++;\n }\n }\n }\n if (diffCount === 0) {\n return store;\n }\n const newTable = table.update({\n diff,\n partial: true,\n operator: 'USER',\n reflection: {\n selectingZone,\n choosing,\n },\n });\n return {\n ...store,\n ...initSearchStatement(newTable, store),\n table: newTable,\n };\n }\n}\nexport const clear = new ClearAction().bind();\n\nclass UndoAction<T extends null> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const { table } = store;\n const { history, newTable } = table.undo();\n if (history == null) {\n return store;\n }\n const { reflection } = history;\n return {\n ...store,\n ...restrictPoints(store, table),\n ...reflection,\n ...initSearchStatement(newTable, store),\n table: newTable,\n };\n }\n}\nexport const undo = new UndoAction().bind();\n\nclass RedoAction<T extends null> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const { table } = store;\n const { history, newTable } = table.redo();\n if (history == null) {\n return store;\n }\n const { reflection } = history;\n return {\n ...store,\n ...reflection,\n ...restrictPoints(store, table),\n ...initSearchStatement(newTable, store),\n table: newTable,\n };\n }\n}\nexport const redo = new RedoAction().bind();\n\nclass ArrowAction<\n T extends {\n shiftKey: boolean;\n deltaY: number;\n deltaX: number;\n numRows: number;\n numCols: number;\n },\n> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const { shiftKey, deltaY, deltaX, numRows, numCols } = payload;\n const { choosing, table, tabularRef } = store;\n let { selectingZone } = store;\n const { y, x } = choosing;\n if (shiftKey) {\n const [dragEndY, dragEndX] = [\n selectingZone.endY === -1 ? y : selectingZone.endY,\n selectingZone.endX === -1 ? x : selectingZone.endX,\n ];\n const [nextY, nextX] = [dragEndY + deltaY, dragEndX + deltaX];\n if (nextY < 1 || numRows < nextY || nextX < 1 || numCols < nextX) {\n return store;\n }\n selectingZone =\n y === nextY && x === nextX\n ? { startY: -1, startX: -1, endY: -1, endX: -1 }\n : { startY: y, startX: x, endY: nextY, endX: nextX };\n return {\n ...store,\n selectingZone,\n };\n }\n const [nextY, nextX] = [y + deltaY, x + deltaX];\n if (nextY < 1 || numRows < nextY || nextX < 1 || numCols < nextX) {\n return store;\n }\n let { y: editorTop, x: editorLeft, height, width } = store.editorRect;\n if (deltaY > 0) {\n for (let i = y; i < nextY; i++) {\n editorTop += table.getByPoint({ y: i, x: 0 })?.height || DEFAULT_HEIGHT;\n }\n } else if (deltaY < 0) {\n for (let i = y - 1; i >= nextY; i--) {\n editorTop -= table.getByPoint({ y: i, x: 0 })?.height || DEFAULT_HEIGHT;\n }\n }\n if (deltaX > 0) {\n for (let i = x; i < nextX; i++) {\n editorLeft += table.getByPoint({ y: 0, x: i })?.width || DEFAULT_WIDTH;\n }\n } else if (deltaX < 0) {\n for (let i = x - 1; i >= nextX; i--) {\n editorLeft -= table.getByPoint({ y: 0, x: i })?.width || DEFAULT_WIDTH;\n }\n }\n\n const cell = table.getByPoint({ y: nextY, x: nextX });\n height = cell?.height || DEFAULT_HEIGHT;\n width = cell?.width || DEFAULT_WIDTH;\n\n smartScroll(table, tabularRef.current, { y: nextY, x: nextX });\n return {\n ...store,\n selectingZone: { startY: -1, startX: -1, endY: -1, endX: -1 },\n choosing: { y: nextY, x: nextX } as PointType,\n editorRect: { y: editorTop, x: editorLeft, height, width },\n };\n }\n}\nexport const arrow = new ArrowAction().bind();\n\nclass WalkAction<\n T extends {\n deltaY: number;\n deltaX: number;\n numRows: number;\n numCols: number;\n },\n> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const { numRows, numCols } = payload;\n let { deltaY, deltaX } = payload;\n const { choosing, selectingZone, table, tabularRef: gridOuterRef } = store;\n let { y: editorTop, x: editorLeft, height, width } = store.editorRect;\n const { y, x } = choosing;\n const selectingArea = zoneToArea(selectingZone);\n const { top, left, bottom, right } = selectingArea;\n let [nextY, nextX] = [y + deltaY, x + deltaX];\n if (nextY < top && top !== -1) {\n deltaY = bottom - nextY;\n nextY = bottom;\n if (nextX > left) {\n nextX--;\n deltaX--;\n } else {\n deltaX = right - nextX;\n nextX = right;\n }\n }\n if (nextY > bottom && bottom !== -1) {\n deltaY = top - nextY;\n nextY = top;\n if (nextX < right) {\n nextX++;\n deltaX++;\n } else {\n deltaX = left - nextX;\n nextX = left;\n }\n }\n if (nextX < left && left !== -1) {\n deltaX = right - nextX;\n nextX = right;\n if (nextY > top) {\n nextY--;\n deltaY--;\n } else {\n deltaY = bottom - nextY;\n nextY = bottom;\n }\n }\n if (nextX > right && right !== -1) {\n deltaX = left - nextX;\n nextX = left;\n if (nextY < bottom) {\n nextY++;\n deltaY++;\n } else {\n deltaY = top - nextY;\n nextY = top;\n }\n }\n\n if (nextY < 1 || numRows < nextY || nextX < 1 || numCols < nextX) {\n return store;\n }\n if (deltaY > 0) {\n for (let i = y; i < nextY; i++) {\n editorTop += table.getByPoint({ y: i, x: 0 })?.height || DEFAULT_HEIGHT;\n }\n } else if (deltaY < 0) {\n for (let i = y - 1; i >= nextY; i--) {\n editorTop -= table.getByPoint({ y: i, x: 0 })?.height || DEFAULT_HEIGHT;\n }\n }\n if (deltaX > 0) {\n for (let i = x; i < nextX; i++) {\n editorLeft += table.getByPoint({ y: 0, x: i })?.width || DEFAULT_WIDTH;\n }\n } else if (deltaX < 0) {\n for (let i = x - 1; i >= nextX; i--) {\n editorLeft -= table.getByPoint({ y: 0, x: i })?.width || DEFAULT_WIDTH;\n }\n }\n const cell = table.getByPoint({ y: nextY, x: nextX });\n height = cell?.height || DEFAULT_HEIGHT;\n width = cell?.width || DEFAULT_WIDTH;\n smartScroll(table, gridOuterRef.current, { y: nextY, x: nextX });\n return {\n ...store,\n choosing: { y: nextY, x: nextX } as PointType,\n editorRect: { y: editorTop, x: editorLeft, height, width },\n };\n }\n}\nexport const walk = new WalkAction().bind();\n\nclass SetLastEditedAction<T extends string> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n lastEdited: payload,\n };\n }\n}\nexport const setLastEdited = new SetLastEditedAction().bind();\n\nclass SetLastFocusedRefAction<T extends React.RefObject<HTMLTextAreaElement>> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n lastFocusedRef: payload,\n };\n }\n}\n\nexport const setLastFocusedRef = new SetLastFocusedRefAction().bind();\n\nclass SetInputtingAction<T extends string> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n inputting: payload,\n };\n }\n}\n\nexport const setInputting = new SetInputtingAction().bind();\n\nclass SetModeAction<T extends ModeType> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n mode: payload,\n };\n }\n}\nexport const setMode = new SetModeAction().bind();\n"],"names":["newTable","prevention.isPrevented","prevention.Write","nextY","nextX"],"mappings":"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"}
1
+ {"version":3,"file":"actions.js","sources":["../../store/actions.ts"],"sourcesContent":["import {\n StoreType,\n RectType,\n ZoneType,\n PointType,\n RangeType,\n FeedbackType,\n CellsByAddressType,\n AreaType,\n PositionType,\n ModeType,\n Renderers,\n} from '../types';\nimport { zoneToArea, superposeArea, matrixShape, areaShape, areaToZone } from '../lib/structs';\nimport { Table } from '../lib/table';\n\nimport { tsv2matrix, p2a, a2p } from '../lib/converters';\nimport { DEFAULT_HEIGHT, DEFAULT_WIDTH } from '../constants';\nimport { initSearchStatement, restrictPoints } from './helpers';\nimport { smartScroll } from '../lib/virtualization';\nimport * as prevention from '../lib/prevention';\n\nconst actions: { [s: string]: CoreAction<any> } = {};\n\nexport const reducer = <T>(store: StoreType, action: { type: number; value: T }): StoreType => {\n const act: CoreAction<T> | undefined = actions[action.type];\n if (act == null) {\n return store;\n }\n return { ...store, ...act.reduce(store, action.value) };\n};\n\nexport class CoreAction<T> {\n static head = 1;\n private actionId: number = 1;\n\n public reduce(store: StoreType, payload: T): StoreType {\n return store;\n }\n public call(payload: T): { type: number; value: T } {\n return {\n type: this.actionId,\n value: payload,\n };\n }\n public bind() {\n this.actionId = CoreAction.head++;\n actions[this.actionId] = this;\n return this.call.bind(this);\n }\n}\n\nclass SetSearchQueryAction<T extends string | undefined> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const searchQuery = payload;\n const { table } = store;\n return {\n ...store,\n ...initSearchStatement(table, { ...store, searchQuery }),\n searchQuery,\n };\n }\n}\nexport const setSearchQuery = new SetSearchQueryAction().bind();\n\nclass SetSearchCaseSensitiveAction<T extends boolean> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const searchCaseSensitive = payload;\n const { table } = store;\n return {\n ...store,\n ...initSearchStatement(table, { ...store, searchCaseSensitive }),\n searchCaseSensitive,\n };\n }\n}\nexport const setSearchCaseSensitive = new SetSearchCaseSensitiveAction().bind();\n\nclass SetEditingCellAction<T extends string> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n editingCell: payload,\n };\n }\n}\nexport const setEditingCell = new SetEditingCellAction().bind();\n\nclass SetEditingOnEnterAction<T extends boolean> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n editingOnEnter: payload,\n };\n }\n}\nexport const setEditingOnEnter = new SetEditingOnEnterAction().bind();\n\nclass SetAutofillDraggingToAction<T extends PointType | null> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n autofillDraggingTo: payload,\n };\n }\n}\nexport const setAutofillDraggingTo = new SetAutofillDraggingToAction().bind();\n\nclass SetShowAddressAction<T extends boolean> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n showAddress: payload,\n };\n }\n}\nexport const setShowAddress = new SetShowAddressAction().bind();\n\nclass SetContextMenuPositionAction<T extends PositionType> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n contextMenuPosition: payload,\n };\n }\n}\nexport const setContextMenuPosition = new SetContextMenuPositionAction().bind();\n\nclass SetResizingPositionYAction<T extends [number, number, number]> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n resizingPositionY: payload,\n };\n }\n}\nexport const setResizingPositionY = new SetResizingPositionYAction().bind();\n\nclass SetResizingPositionXAction<T extends [number, number, number]> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n resizingPositionX: payload,\n };\n }\n}\nexport const setResizingPositionX = new SetResizingPositionXAction().bind();\n\nclass SetOnSaveAction<T extends FeedbackType> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n onSave: payload,\n };\n }\n}\nexport const setOnSave = new SetOnSaveAction().bind();\n\nclass SetEnteringAction<T extends boolean> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n entering: payload,\n };\n }\n}\nexport const setEntering = new SetEnteringAction().bind();\n\nclass SetHeaderHeightAction<T extends number> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n headerHeight: payload,\n };\n }\n}\nexport const setHeaderHeight = new SetHeaderHeightAction().bind();\n\nclass SetHeaderWidthAction<T extends number> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n headerWidth: payload,\n };\n }\n}\nexport const setHeaderWidth = new SetHeaderWidthAction().bind();\n\nclass SetSheetHeightAction<T extends number> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n sheetHeight: payload,\n };\n }\n}\nexport const setSheetHeight = new SetSheetHeightAction().bind();\n\nclass SetSheetWidthAction<T extends number> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n sheetWidth: payload,\n };\n }\n}\nexport const setSheetWidth = new SetSheetWidthAction().bind();\n\nclass InitializeTableAction<T extends Table> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n table: payload,\n tableInitialized: true,\n };\n }\n}\nexport const initializeTable = new InitializeTableAction().bind();\n\nclass UpdateTableAction<T extends Table> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n table: payload,\n ...initSearchStatement(payload, store),\n ...restrictPoints(store, payload),\n };\n }\n}\nexport const updateTable = new UpdateTableAction().bind();\n\nclass SetEditorRectAction<T extends RectType> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n editorRect: payload,\n };\n }\n}\nexport const setEditorRect = new SetEditorRectAction().bind();\n\nclass SetResizingRectAction<T extends RectType> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n resizingRect: payload,\n };\n }\n}\nexport const setResizingRect = new SetResizingRectAction().bind();\n\nclass BlurAction<T extends null> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n editingCell: '',\n };\n }\n}\nexport const blur = new BlurAction().bind();\n\nclass CopyAction<T extends ZoneType> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n copyingZone: payload,\n cutting: false,\n };\n }\n}\nexport const copy = new CopyAction().bind();\n\nclass CutAction<T extends ZoneType> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n copyingZone: payload,\n cutting: true,\n };\n }\n}\nexport const cut = new CutAction().bind();\n\nclass PasteAction<T extends { text: string }> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const { choosing, copyingZone, selectingZone, cutting, table } = store;\n\n let selectingArea = zoneToArea(selectingZone);\n const copyingArea = zoneToArea(copyingZone);\n\n if (cutting) {\n const src = copyingArea;\n const { height: h, width: w } = areaShape(copyingArea);\n const dst: AreaType =\n selectingArea.top !== -1\n ? {\n top: selectingArea.top,\n left: selectingArea.left,\n bottom: selectingArea.top + h,\n right: selectingArea.left + w,\n }\n : {\n top: choosing.y,\n left: choosing.x,\n bottom: choosing.y + h,\n right: choosing.x + w,\n };\n const newTable = table.move({\n src,\n dst,\n operator: 'USER',\n reflection: {\n selectingZone: areaToZone(dst),\n copyingZone,\n cutting,\n },\n });\n return {\n ...store,\n ...initSearchStatement(newTable, store),\n cutting: false,\n table: newTable,\n selectingZone: areaToZone(dst),\n copyingZone: { startY: -1, startX: -1, endY: -1, endX: -1 },\n };\n }\n\n let newTable: Table;\n let { y, x } = choosing;\n const { text } = payload;\n if (copyingArea.top === -1) {\n const matrixFrom = tsv2matrix(text);\n const { height, width } = matrixShape({ matrix: matrixFrom, base: -1 });\n selectingArea = {\n top: y,\n left: x,\n bottom: y + height,\n right: x + width,\n };\n newTable = table.writeMatrix({\n point: { y, x },\n matrix: matrixFrom,\n reflection: {\n selectingZone: areaToZone(selectingArea),\n },\n });\n } else {\n let { height, width } = areaShape(copyingArea);\n if (selectingArea.top !== -1) {\n y = selectingArea.top;\n x = selectingArea.left;\n const superposed = superposeArea(selectingArea, copyingArea);\n height = superposed.height;\n width = superposed.width;\n }\n selectingArea = { top: y, left: x, bottom: y + height, right: x + width };\n newTable = table.copy({\n src: copyingArea,\n dst: selectingArea,\n operator: 'USER',\n reflection: {\n copyingZone,\n selectingZone,\n },\n });\n }\n return {\n ...store,\n table: newTable,\n selectingZone: areaToZone(selectingArea),\n copyingZone: { startY: -1, startX: -1, endY: -1, endX: -1 },\n ...initSearchStatement(newTable, store),\n };\n }\n}\nexport const paste = new PasteAction().bind();\n\nclass EscapeAction<T extends null> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n copyingZone: { startY: -1, startX: -1, endY: -1, endX: -1 },\n cutting: false,\n editingCell: '',\n leftHeaderSelecting: false,\n topHeaderSelecting: false,\n };\n }\n}\nexport const escape = new EscapeAction().bind();\n\nclass ChooseAction<T extends PointType> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n choosing: payload,\n entering: true,\n };\n }\n}\nexport const choose = new ChooseAction().bind();\n\nclass SelectAction<T extends ZoneType> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n selectingZone: payload,\n leftHeaderSelecting: false,\n topHeaderSelecting: false,\n };\n }\n}\nexport const select = new SelectAction().bind();\n\nclass SelectRowsAction<T extends { range: RangeType; numCols: number }> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const { range, numCols } = payload;\n const { start, end } = range;\n const selectingZone = {\n startY: start,\n startX: 1,\n endY: end,\n endX: numCols,\n };\n return {\n ...store,\n selectingZone,\n choosing: { y: start, x: 0 },\n leftHeaderSelecting: true,\n topHeaderSelecting: false,\n };\n }\n}\nexport const selectRows = new SelectRowsAction().bind();\n\nclass SelectColsAction<T extends { range: RangeType; numRows: number }> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const { range, numRows } = payload;\n const { start, end } = range;\n const selectingZone = {\n startY: 1,\n startX: start,\n endY: numRows,\n endX: end,\n };\n\n return {\n ...store,\n selectingZone,\n choosing: { y: 0, x: start },\n leftHeaderSelecting: false,\n topHeaderSelecting: true,\n };\n }\n}\nexport const selectCols = new SelectColsAction().bind();\n\nclass DragAction<T extends PointType> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const { startY, startX } = store.selectingZone;\n const selectingZone = {\n startY,\n startX,\n endY: payload.y,\n endX: payload.x,\n };\n return { ...store, selectingZone };\n }\n}\nexport const drag = new DragAction().bind();\n\nclass SearchAction<T extends number> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const { matchingCells } = store;\n let { matchingCellIndex, choosing } = store;\n matchingCellIndex += payload;\n if (matchingCellIndex >= matchingCells.length) {\n matchingCellIndex = 0;\n } else if (matchingCellIndex < 0) {\n matchingCellIndex = matchingCells.length - 1;\n }\n\n if (matchingCells.length > 0) {\n const address = matchingCells[matchingCellIndex];\n choosing = a2p(address);\n }\n return { ...store, matchingCells, matchingCellIndex, choosing };\n }\n}\nexport const search = new SearchAction().bind();\n\nclass WriteAction<T extends string> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const { choosing, selectingZone, table } = store;\n const newTable = table.write({\n point: choosing,\n value: payload,\n operator: 'USER',\n reflection: {\n selectingZone,\n choosing,\n },\n });\n return {\n ...store,\n ...initSearchStatement(newTable, store),\n table: newTable,\n copyingZone: { startY: -1, startX: -1, endY: -1, endX: -1 },\n };\n }\n}\nexport const write = new WriteAction().bind();\n\nclass ClearAction<T extends null> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const { choosing, selectingZone, table } = store;\n\n let selectingArea = zoneToArea(selectingZone);\n if (selectingArea.top === -1) {\n const { y, x } = choosing;\n selectingArea = { top: y, left: x, bottom: y, right: x };\n }\n const { top, left, bottom, right } = selectingArea;\n const diff: CellsByAddressType = {};\n let diffCount = 0;\n for (let y = top; y <= bottom; y++) {\n for (let x = left; x <= right; x++) {\n const cell = table.getByPoint({ y, x });\n const address = p2a({ y, x });\n if (prevention.isPrevented(cell?.prevention, prevention.Write)) {\n continue;\n }\n if (cell?.value != null) {\n diff[address] = { value: null };\n diffCount++;\n }\n }\n }\n if (diffCount === 0) {\n return store;\n }\n const newTable = table.update({\n diff,\n partial: true,\n operator: 'USER',\n reflection: {\n selectingZone,\n choosing,\n },\n });\n return {\n ...store,\n ...initSearchStatement(newTable, store),\n table: newTable,\n };\n }\n}\nexport const clear = new ClearAction().bind();\n\nclass UndoAction<T extends null> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const { table } = store;\n const { history, newTable } = table.undo();\n if (history == null) {\n return store;\n }\n const { reflection } = history;\n return {\n ...store,\n ...restrictPoints(store, table),\n ...reflection,\n ...initSearchStatement(newTable, store),\n table: newTable,\n };\n }\n}\nexport const undo = new UndoAction().bind();\n\nclass RedoAction<T extends null> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const { table } = store;\n const { history, newTable } = table.redo();\n if (history == null) {\n return store;\n }\n const { reflection } = history;\n return {\n ...store,\n ...reflection,\n ...restrictPoints(store, table),\n ...initSearchStatement(newTable, store),\n table: newTable,\n };\n }\n}\nexport const redo = new RedoAction().bind();\n\nclass ArrowAction<\n T extends {\n shiftKey: boolean;\n deltaY: number;\n deltaX: number;\n numRows: number;\n numCols: number;\n },\n> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const { shiftKey, deltaY, deltaX, numRows, numCols } = payload;\n const { choosing, table, tabularRef } = store;\n let { selectingZone } = store;\n const { y, x } = choosing;\n if (shiftKey) {\n const [dragEndY, dragEndX] = [\n selectingZone.endY === -1 ? y : selectingZone.endY,\n selectingZone.endX === -1 ? x : selectingZone.endX,\n ];\n const [nextY, nextX] = [dragEndY + deltaY, dragEndX + deltaX];\n if (nextY < 1 || numRows < nextY || nextX < 1 || numCols < nextX) {\n return store;\n }\n selectingZone =\n y === nextY && x === nextX\n ? { startY: -1, startX: -1, endY: -1, endX: -1 }\n : { startY: y, startX: x, endY: nextY, endX: nextX };\n return {\n ...store,\n selectingZone,\n };\n }\n const [nextY, nextX] = [y + deltaY, x + deltaX];\n if (nextY < 1 || numRows < nextY || nextX < 1 || numCols < nextX) {\n return store;\n }\n let { y: editorTop, x: editorLeft, height, width } = store.editorRect;\n if (deltaY > 0) {\n for (let i = y; i < nextY; i++) {\n editorTop += table.getByPoint({ y: i, x: 0 })?.height || DEFAULT_HEIGHT;\n }\n } else if (deltaY < 0) {\n for (let i = y - 1; i >= nextY; i--) {\n editorTop -= table.getByPoint({ y: i, x: 0 })?.height || DEFAULT_HEIGHT;\n }\n }\n if (deltaX > 0) {\n for (let i = x; i < nextX; i++) {\n editorLeft += table.getByPoint({ y: 0, x: i })?.width || DEFAULT_WIDTH;\n }\n } else if (deltaX < 0) {\n for (let i = x - 1; i >= nextX; i--) {\n editorLeft -= table.getByPoint({ y: 0, x: i })?.width || DEFAULT_WIDTH;\n }\n }\n\n const cell = table.getByPoint({ y: nextY, x: nextX });\n height = cell?.height || DEFAULT_HEIGHT;\n width = cell?.width || DEFAULT_WIDTH;\n\n smartScroll(table, tabularRef.current, { y: nextY, x: nextX });\n return {\n ...store,\n selectingZone: { startY: -1, startX: -1, endY: -1, endX: -1 },\n choosing: { y: nextY, x: nextX } as PointType,\n editorRect: { y: editorTop, x: editorLeft, height, width },\n };\n }\n}\nexport const arrow = new ArrowAction().bind();\n\nclass WalkAction<\n T extends {\n deltaY: number;\n deltaX: number;\n numRows: number;\n numCols: number;\n },\n> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n const { numRows, numCols } = payload;\n let { deltaY, deltaX } = payload;\n const { choosing, selectingZone, table, tabularRef: gridOuterRef } = store;\n let { y: editorTop, x: editorLeft, height, width } = store.editorRect;\n const { y, x } = choosing;\n const selectingArea = zoneToArea(selectingZone);\n const { top, left, bottom, right } = selectingArea;\n let [nextY, nextX] = [y + deltaY, x + deltaX];\n if (nextY < top && top !== -1) {\n deltaY = bottom - nextY;\n nextY = bottom;\n if (nextX > left) {\n nextX--;\n deltaX--;\n } else {\n deltaX = right - nextX;\n nextX = right;\n }\n }\n if (nextY > bottom && bottom !== -1) {\n deltaY = top - nextY;\n nextY = top;\n if (nextX < right) {\n nextX++;\n deltaX++;\n } else {\n deltaX = left - nextX;\n nextX = left;\n }\n }\n if (nextX < left && left !== -1) {\n deltaX = right - nextX;\n nextX = right;\n if (nextY > top) {\n nextY--;\n deltaY--;\n } else {\n deltaY = bottom - nextY;\n nextY = bottom;\n }\n }\n if (nextX > right && right !== -1) {\n deltaX = left - nextX;\n nextX = left;\n if (nextY < bottom) {\n nextY++;\n deltaY++;\n } else {\n deltaY = top - nextY;\n nextY = top;\n }\n }\n\n if (nextY < 1 || numRows < nextY || nextX < 1 || numCols < nextX) {\n return store;\n }\n if (deltaY > 0) {\n for (let i = y; i < nextY; i++) {\n editorTop += table.getByPoint({ y: i, x: 0 })?.height || DEFAULT_HEIGHT;\n }\n } else if (deltaY < 0) {\n for (let i = y - 1; i >= nextY; i--) {\n editorTop -= table.getByPoint({ y: i, x: 0 })?.height || DEFAULT_HEIGHT;\n }\n }\n if (deltaX > 0) {\n for (let i = x; i < nextX; i++) {\n editorLeft += table.getByPoint({ y: 0, x: i })?.width || DEFAULT_WIDTH;\n }\n } else if (deltaX < 0) {\n for (let i = x - 1; i >= nextX; i--) {\n editorLeft -= table.getByPoint({ y: 0, x: i })?.width || DEFAULT_WIDTH;\n }\n }\n const cell = table.getByPoint({ y: nextY, x: nextX });\n height = cell?.height || DEFAULT_HEIGHT;\n width = cell?.width || DEFAULT_WIDTH;\n smartScroll(table, gridOuterRef.current, { y: nextY, x: nextX });\n return {\n ...store,\n choosing: { y: nextY, x: nextX } as PointType,\n editorRect: { y: editorTop, x: editorLeft, height, width },\n };\n }\n}\nexport const walk = new WalkAction().bind();\n\nclass SetLastEditedAction<T extends string> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n lastEdited: payload,\n };\n }\n}\nexport const setLastEdited = new SetLastEditedAction().bind();\n\nclass SetLastFocusedRefAction<T extends React.RefObject<HTMLTextAreaElement>> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n lastFocusedRef: payload,\n };\n }\n}\n\nexport const setLastFocusedRef = new SetLastFocusedRefAction().bind();\n\nclass SetInputtingAction<T extends string> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n inputting: payload,\n };\n }\n}\n\nexport const setInputting = new SetInputtingAction().bind();\n\nclass SetModeAction<T extends ModeType> extends CoreAction<T> {\n reduce(store: StoreType, payload: T): StoreType {\n return {\n ...store,\n mode: payload,\n };\n }\n}\nexport const setMode = new SetModeAction().bind();\n"],"names":["newTable","prevention.isPrevented","prevention.Write","nextY","nextX"],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -32,11 +32,12 @@ export type TableRef = {
32
32
  table: UserTable;
33
33
  dispatch: (table: UserTable) => void;
34
34
  };
35
- export type FeedbackType = (table: UserTable, points?: {
35
+ export type CursorStateType = {
36
36
  pointing: PointType;
37
37
  selectingFrom: PointType;
38
38
  selectingTo: PointType;
39
- }) => void;
39
+ };
40
+ export type FeedbackType = (table: UserTable, points?: CursorStateType) => void;
40
41
  export type ModeType = 'light' | 'dark';
41
42
  export type HeadersType = 'both' | 'vertical' | 'horizontal' | 'none';
42
43
  export type CellType<Custom = any> = {
@@ -50,6 +51,7 @@ export type CellType<Custom = any> = {
50
51
  renderer?: string;
51
52
  parser?: string;
52
53
  custom?: Custom;
54
+ disableFormula?: boolean;
53
55
  prevention?: Prevention;
54
56
  changedAt?: Date;
55
57
  };
@@ -81,6 +83,7 @@ export type OptionsType = {
81
83
  onSave?: FeedbackType;
82
84
  onChange?: FeedbackType;
83
85
  onSelect?: FeedbackType;
86
+ onKeyUp?: (e: React.KeyboardEvent<HTMLTextAreaElement>, points: CursorStateType) => void;
84
87
  onInit?: (table: UserTable) => void;
85
88
  };
86
89
  export type RangeType = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gridsheet/react-core",
3
- "version": "1.4.0-alpha.8",
3
+ "version": "1.4.0",
4
4
  "description": "Spreadsheet component for React",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",