@omegagrid/grid-core 0.10.0 → 0.10.2

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 (201) hide show
  1. package/package.json +3 -3
  2. package/dist/__generated/functions.d.ts +0 -4
  3. package/dist/__generated/functions.d.ts.map +0 -1
  4. package/dist/__generated/functions.js +0 -45
  5. package/dist/__generated/functions.js.map +0 -1
  6. package/dist/calculations/autofill.d.ts +0 -7
  7. package/dist/calculations/autofill.d.ts.map +0 -1
  8. package/dist/calculations/autofill.js +0 -84
  9. package/dist/calculations/autofill.js.map +0 -1
  10. package/dist/calculations/conditions.d.ts +0 -4
  11. package/dist/calculations/conditions.d.ts.map +0 -1
  12. package/dist/calculations/conditions.js +0 -41
  13. package/dist/calculations/conditions.js.map +0 -1
  14. package/dist/calculations/context.d.ts +0 -53
  15. package/dist/calculations/context.d.ts.map +0 -1
  16. package/dist/calculations/context.js +0 -85
  17. package/dist/calculations/context.js.map +0 -1
  18. package/dist/calculations/formula.d.ts +0 -89
  19. package/dist/calculations/formula.d.ts.map +0 -1
  20. package/dist/calculations/formula.js +0 -443
  21. package/dist/calculations/formula.js.map +0 -1
  22. package/dist/calculations/functions/dates.d.ts +0 -13
  23. package/dist/calculations/functions/dates.d.ts.map +0 -1
  24. package/dist/calculations/functions/dates.js +0 -58
  25. package/dist/calculations/functions/dates.js.map +0 -1
  26. package/dist/calculations/functions/index.d.ts +0 -11
  27. package/dist/calculations/functions/index.d.ts.map +0 -1
  28. package/dist/calculations/functions/index.js +0 -21
  29. package/dist/calculations/functions/index.js.map +0 -1
  30. package/dist/calculations/functions/logical.d.ts +0 -11
  31. package/dist/calculations/functions/logical.d.ts.map +0 -1
  32. package/dist/calculations/functions/logical.js +0 -50
  33. package/dist/calculations/functions/logical.js.map +0 -1
  34. package/dist/calculations/functions/lookup.d.ts +0 -18
  35. package/dist/calculations/functions/lookup.d.ts.map +0 -1
  36. package/dist/calculations/functions/lookup.js +0 -169
  37. package/dist/calculations/functions/lookup.js.map +0 -1
  38. package/dist/calculations/functions/math.d.ts +0 -72
  39. package/dist/calculations/functions/math.d.ts.map +0 -1
  40. package/dist/calculations/functions/math.js +0 -182
  41. package/dist/calculations/functions/math.js.map +0 -1
  42. package/dist/calculations/functions/special.d.ts +0 -2
  43. package/dist/calculations/functions/special.d.ts.map +0 -1
  44. package/dist/calculations/functions/special.js +0 -51
  45. package/dist/calculations/functions/special.js.map +0 -1
  46. package/dist/calculations/functions/statistical.d.ts +0 -7
  47. package/dist/calculations/functions/statistical.d.ts.map +0 -1
  48. package/dist/calculations/functions/statistical.js +0 -47
  49. package/dist/calculations/functions/statistical.js.map +0 -1
  50. package/dist/calculations/functions/text.d.ts +0 -29
  51. package/dist/calculations/functions/text.d.ts.map +0 -1
  52. package/dist/calculations/functions/text.js +0 -58
  53. package/dist/calculations/functions/text.js.map +0 -1
  54. package/dist/calculations/helpers.d.ts +0 -13
  55. package/dist/calculations/helpers.d.ts.map +0 -1
  56. package/dist/calculations/helpers.js +0 -32
  57. package/dist/calculations/helpers.js.map +0 -1
  58. package/dist/calculations/index.d.ts +0 -7
  59. package/dist/calculations/index.d.ts.map +0 -1
  60. package/dist/calculations/index.js +0 -7
  61. package/dist/calculations/index.js.map +0 -1
  62. package/dist/calculations/operators.d.ts +0 -19
  63. package/dist/calculations/operators.d.ts.map +0 -1
  64. package/dist/calculations/operators.js +0 -58
  65. package/dist/calculations/operators.js.map +0 -1
  66. package/dist/calculations/tokenization.d.ts +0 -36
  67. package/dist/calculations/tokenization.d.ts.map +0 -1
  68. package/dist/calculations/tokenization.js +0 -203
  69. package/dist/calculations/tokenization.js.map +0 -1
  70. package/dist/common/index.d.ts +0 -2
  71. package/dist/common/index.d.ts.map +0 -1
  72. package/dist/common/index.js +0 -2
  73. package/dist/common/index.js.map +0 -1
  74. package/dist/common/range.d.ts +0 -66
  75. package/dist/common/range.d.ts.map +0 -1
  76. package/dist/common/range.js +0 -222
  77. package/dist/common/range.js.map +0 -1
  78. package/dist/constants.d.ts +0 -68
  79. package/dist/constants.d.ts.map +0 -1
  80. package/dist/constants.js +0 -127
  81. package/dist/constants.js.map +0 -1
  82. package/dist/index.d.ts +0 -8
  83. package/dist/index.d.ts.map +0 -1
  84. package/dist/index.js +0 -8
  85. package/dist/index.js.map +0 -1
  86. package/dist/model/calculationModel.d.ts +0 -30
  87. package/dist/model/calculationModel.d.ts.map +0 -1
  88. package/dist/model/calculationModel.js +0 -206
  89. package/dist/model/calculationModel.js.map +0 -1
  90. package/dist/model/cellModel.d.ts +0 -134
  91. package/dist/model/cellModel.d.ts.map +0 -1
  92. package/dist/model/cellModel.js +0 -371
  93. package/dist/model/cellModel.js.map +0 -1
  94. package/dist/model/columnModel.d.ts +0 -160
  95. package/dist/model/columnModel.d.ts.map +0 -1
  96. package/dist/model/columnModel.js +0 -159
  97. package/dist/model/columnModel.js.map +0 -1
  98. package/dist/model/commentModel.d.ts +0 -58
  99. package/dist/model/commentModel.d.ts.map +0 -1
  100. package/dist/model/commentModel.js +0 -81
  101. package/dist/model/commentModel.js.map +0 -1
  102. package/dist/model/conditionalFormats.d.ts +0 -104
  103. package/dist/model/conditionalFormats.d.ts.map +0 -1
  104. package/dist/model/conditionalFormats.js +0 -414
  105. package/dist/model/conditionalFormats.js.map +0 -1
  106. package/dist/model/cssStyle.d.ts +0 -20
  107. package/dist/model/cssStyle.d.ts.map +0 -1
  108. package/dist/model/cssStyle.js +0 -301
  109. package/dist/model/cssStyle.js.map +0 -1
  110. package/dist/model/dependencies.d.ts +0 -30
  111. package/dist/model/dependencies.d.ts.map +0 -1
  112. package/dist/model/dependencies.js +0 -139
  113. package/dist/model/dependencies.js.map +0 -1
  114. package/dist/model/dependencyModel.d.ts +0 -9
  115. package/dist/model/dependencyModel.d.ts.map +0 -1
  116. package/dist/model/dependencyModel.js +0 -9
  117. package/dist/model/dependencyModel.js.map +0 -1
  118. package/dist/model/elementModel.d.ts +0 -103
  119. package/dist/model/elementModel.d.ts.map +0 -1
  120. package/dist/model/elementModel.js +0 -181
  121. package/dist/model/elementModel.js.map +0 -1
  122. package/dist/model/filterModel.d.ts +0 -35
  123. package/dist/model/filterModel.d.ts.map +0 -1
  124. package/dist/model/filterModel.js +0 -153
  125. package/dist/model/filterModel.js.map +0 -1
  126. package/dist/model/gridModel.d.ts +0 -181
  127. package/dist/model/gridModel.d.ts.map +0 -1
  128. package/dist/model/gridModel.js +0 -797
  129. package/dist/model/gridModel.js.map +0 -1
  130. package/dist/model/groupModel.d.ts +0 -26
  131. package/dist/model/groupModel.d.ts.map +0 -1
  132. package/dist/model/groupModel.js +0 -112
  133. package/dist/model/groupModel.js.map +0 -1
  134. package/dist/model/history.d.ts +0 -24
  135. package/dist/model/history.d.ts.map +0 -1
  136. package/dist/model/history.js +0 -35
  137. package/dist/model/history.js.map +0 -1
  138. package/dist/model/index.d.ts +0 -23
  139. package/dist/model/index.d.ts.map +0 -1
  140. package/dist/model/index.js +0 -23
  141. package/dist/model/index.js.map +0 -1
  142. package/dist/model/iterableRange.d.ts +0 -49
  143. package/dist/model/iterableRange.d.ts.map +0 -1
  144. package/dist/model/iterableRange.js +0 -108
  145. package/dist/model/iterableRange.js.map +0 -1
  146. package/dist/model/merges.d.ts +0 -34
  147. package/dist/model/merges.d.ts.map +0 -1
  148. package/dist/model/merges.js +0 -123
  149. package/dist/model/merges.js.map +0 -1
  150. package/dist/model/namingModel.d.ts +0 -25
  151. package/dist/model/namingModel.d.ts.map +0 -1
  152. package/dist/model/namingModel.js +0 -77
  153. package/dist/model/namingModel.js.map +0 -1
  154. package/dist/model/options.d.ts +0 -257
  155. package/dist/model/options.d.ts.map +0 -1
  156. package/dist/model/options.js +0 -35
  157. package/dist/model/options.js.map +0 -1
  158. package/dist/model/rowModel.d.ts +0 -104
  159. package/dist/model/rowModel.d.ts.map +0 -1
  160. package/dist/model/rowModel.js +0 -155
  161. package/dist/model/rowModel.js.map +0 -1
  162. package/dist/model/selectionModel.d.ts +0 -19
  163. package/dist/model/selectionModel.d.ts.map +0 -1
  164. package/dist/model/selectionModel.js +0 -40
  165. package/dist/model/selectionModel.js.map +0 -1
  166. package/dist/model/sortingModel.d.ts +0 -46
  167. package/dist/model/sortingModel.d.ts.map +0 -1
  168. package/dist/model/sortingModel.js +0 -157
  169. package/dist/model/sortingModel.js.map +0 -1
  170. package/dist/model/style.d.ts +0 -90
  171. package/dist/model/style.d.ts.map +0 -1
  172. package/dist/model/style.js +0 -34
  173. package/dist/model/style.js.map +0 -1
  174. package/dist/model/styleModel.d.ts +0 -22
  175. package/dist/model/styleModel.d.ts.map +0 -1
  176. package/dist/model/styleModel.js +0 -91
  177. package/dist/model/styleModel.js.map +0 -1
  178. package/dist/model/tableTheme.d.ts +0 -46
  179. package/dist/model/tableTheme.d.ts.map +0 -1
  180. package/dist/model/tableTheme.js +0 -93
  181. package/dist/model/tableTheme.js.map +0 -1
  182. package/dist/model/validations.d.ts +0 -5
  183. package/dist/model/validations.d.ts.map +0 -1
  184. package/dist/model/validations.js +0 -24
  185. package/dist/model/validations.js.map +0 -1
  186. package/dist/sparklines/index.d.ts +0 -2
  187. package/dist/sparklines/index.d.ts.map +0 -1
  188. package/dist/sparklines/index.js +0 -2
  189. package/dist/sparklines/index.js.map +0 -1
  190. package/dist/sparklines/sparklines.d.ts +0 -59
  191. package/dist/sparklines/sparklines.d.ts.map +0 -1
  192. package/dist/sparklines/sparklines.js +0 -176
  193. package/dist/sparklines/sparklines.js.map +0 -1
  194. package/dist/types.d.ts +0 -103
  195. package/dist/types.d.ts.map +0 -1
  196. package/dist/types.js +0 -2
  197. package/dist/types.js.map +0 -1
  198. package/dist/utils.d.ts +0 -4
  199. package/dist/utils.d.ts.map +0 -1
  200. package/dist/utils.js +0 -11
  201. package/dist/utils.js.map +0 -1
@@ -1,301 +0,0 @@
1
- import { colors, dom, utils } from "@omegagrid/core";
2
- const DEFAULT_BORDER_COLOR = 'CCCCCC';
3
- export function cssStyleFromString(strStyle) {
4
- const style = {};
5
- strStyle.split(';').forEach(item => {
6
- const [key, value] = item.split(':');
7
- style[key] = value.trim();
8
- });
9
- return style;
10
- }
11
- export const borderStyleCSSMap = new Map([
12
- ['thin', { width: 1.5, style: 'solid' }],
13
- ['medium', { width: 2, style: 'solid' }],
14
- ['thick', { width: 3, style: 'solid' }],
15
- ['double', { width: 3, style: 'double' }],
16
- ['dotted', { width: 1.5, style: 'dotted' }],
17
- ['hair', { width: 1, style: 'solid' }],
18
- ['dashed', { width: 1.5, style: 'dashed' }],
19
- ['mediumDashed', { width: 2, style: 'dashed' }],
20
- ['dashDot', { width: 1.5, style: 'dashed' }],
21
- ['mediumDashDot', { width: 2, style: 'dashed' }],
22
- ['dashDotDot', { width: 1.5, style: 'dotted' }],
23
- ['mediumDashDotDot', { width: 2, style: 'dotted' }],
24
- ['slantDashDot', { width: 1.5, style: 'dashed' }],
25
- ['none', { width: 1.5, style: 'solid' }],
26
- ]);
27
- export const borderCSSStyleMap = (() => {
28
- const map = new Map();
29
- borderStyleCSSMap.forEach((value, key) => {
30
- let widthMap = map.get(value.style);
31
- if (!widthMap)
32
- widthMap = map.set(value.style, new Map()).get(value.style);
33
- widthMap.set(value.width, key);
34
- });
35
- return map;
36
- })();
37
- export function convertCSSVerticalAlignment(align) {
38
- return (align == 'middle' ? 'center' : align);
39
- }
40
- export function convertCSSColor(color) {
41
- color = color.charAt(0) == '#' ? color.substring(1) : color;
42
- return color.length == 3
43
- ? color[0] + color[0] + color[1] + color[1] + color[2] + color[2]
44
- : color;
45
- }
46
- export const convertCSSBorder = (border) => {
47
- if (border == 'none')
48
- return null;
49
- const chunks = border.split(' ');
50
- const width = parseInt(chunks[0].charAt(0)) || 1;
51
- const borderStyle = chunks.length > 1 ? chunks[1] : 'solid';
52
- const widthMap = borderCSSStyleMap.get(borderStyle);
53
- return {
54
- style: (widthMap ? widthMap.get(width) : null) ?? 'thin',
55
- color: chunks.length > 2 ? convertCSSColor(chunks[2]) : DEFAULT_BORDER_COLOR
56
- };
57
- };
58
- export const convertToCSSBorder = (b) => {
59
- const borderStyle = borderStyleCSSMap.get(b.style || 'none');
60
- if (!borderStyle)
61
- return 'none';
62
- return [
63
- dom.px(borderStyle.width),
64
- borderStyle.style,
65
- b.style == 'none' ? 'var(--og-cell-background)' : (b.color ? `#${b.color}` : 'var(--og-border-color)'),
66
- ].join(' ');
67
- };
68
- export const addPattern = (css, s) => {
69
- // background-image: radial-gradient(rgb(255, 255, 255) 10%, transparent 10%), radial-gradient(rgb(255, 255, 255) 10%, transparent 10%);
70
- // background-position: 0px 0px, 4px 4px;
71
- // background-size: 8px 8px;
72
- // background-color: rgb(255, 51, 51);
73
- // console.log('addPattern', s.patternType, fgColor, bgColor);
74
- const fg = '#' + (s.fgColor || '000000');
75
- const bg = '#' + (s.bgColor || 'FFFFFF');
76
- switch (s.patternType) {
77
- case 'solid':
78
- css.backgroundColor = fg || bg;
79
- break;
80
- case 'darkGray':
81
- css.backgroundColor = colors.darken(bg, 0.75);
82
- break;
83
- case 'mediumGray':
84
- css.backgroundColor = colors.darken(bg, 0.50);
85
- break;
86
- case 'lightGray':
87
- css.backgroundColor = colors.darken(bg, 0.25);
88
- break;
89
- case 'gray125':
90
- css.backgroundColor = colors.darken(bg, 0.125);
91
- break;
92
- case 'gray0625':
93
- css.backgroundColor = colors.darken(bg, 0.0625);
94
- break;
95
- case 'darkHorizontal':
96
- css.backgroundImage = `linear-gradient(0deg, ${fg} 33.33%, ${bg} 33.33%, ${bg} 50%, ${fg} 50%, ${fg} 83.33%, ${bg} 83.33%, ${bg} 100%)`;
97
- css.backgroundSize = '6px 6px';
98
- break;
99
- case 'darkVertical':
100
- css.backgroundImage = `linear-gradient(90deg, ${fg} 33.33%, ${bg} 33.33%, ${bg} 50%, ${fg} 50%, ${fg} 83.33%, ${bg} 83.33%, ${bg} 100%)`;
101
- css.backgroundSize = '6px 6px';
102
- break;
103
- case 'darkDown':
104
- css.backgroundImage = `linear-gradient(45deg, ${fg} 33.33%, ${bg} 33.33%, ${bg} 50%, ${fg} 50%, ${fg} 83.33%, ${bg} 83.33%, ${bg} 100%)`;
105
- css.backgroundSize = '6px 6px';
106
- break;
107
- case 'darkUp':
108
- css.backgroundImage = `linear-gradient(-45deg, ${fg} 33.33%, ${bg} 33.33%, ${bg} 50%, ${fg} 50%, ${fg} 83.33%, ${bg} 83.33%, ${bg} 100%)`;
109
- css.backgroundSize = '6px 6px';
110
- break;
111
- case 'lightHorizontal':
112
- css.backgroundImage = `linear-gradient(0deg, ${bg} 25%, ${fg} 25%, ${fg} 50%, ${bg} 50%, ${bg} 75%, ${fg} 75%, ${fg} 100%)`;
113
- css.backgroundSize = '4px 4px';
114
- break;
115
- case 'lightVertical':
116
- css.backgroundImage = `linear-gradient(90deg, ${bg} 25%, ${fg} 25%, ${fg} 50%, ${bg} 50%, ${bg} 75%, ${fg} 75%, ${fg} 100%)`;
117
- css.backgroundSize = '4px 4px';
118
- break;
119
- case 'lightDown':
120
- css.backgroundImage = `linear-gradient(45deg, ${bg} 25%, ${fg} 25%, ${fg} 50%, ${bg} 50%, ${bg} 75%, ${fg} 75%, ${fg} 100%)`;
121
- css.backgroundSize = '4px 4px';
122
- break;
123
- case 'lightUp':
124
- css.backgroundImage = `linear-gradient(-45deg, ${bg} 25%, ${fg} 25%, ${fg} 50%, ${bg} 50%, ${bg} 75%, ${fg} 75%, ${fg} 100%)`;
125
- css.backgroundSize = '4px 4px';
126
- break;
127
- case 'darkGrid':
128
- css.backgroundImage = `linear-gradient(${bg} 0.5px, transparent 0.5px), linear-gradient(90deg, ${bg} 0.5px, transparent 0.5px)`;
129
- css.backgroundSize = '2px 2px';
130
- break;
131
- case 'lightGrid':
132
- css.backgroundImage = `linear-gradient(${bg} 0.5px, transparent 0.5px), linear-gradient(90deg, ${bg} 0.5px, transparent 0.5px)`;
133
- css.backgroundSize = '1px 1px';
134
- break;
135
- case 'darkTrellis':
136
- css.backgroundImage = `linear-gradient(45deg, ${bg} 0.5px, transparent 0.5px), linear-gradient(90deg, ${bg} 0.5px, transparent 0.5px)`;
137
- css.backgroundSize = '2px 2px';
138
- break;
139
- case 'lightTrellis':
140
- css.backgroundImage = `linear-gradient(45deg, ${bg} 0.5px, transparent 0.5px), linear-gradient(90deg, ${bg} 0.5px, transparent 0.5px)`;
141
- css.backgroundSize = '1px 1px';
142
- break;
143
- }
144
- return css;
145
- };
146
- export const addGradient = (css, s) => {
147
- css.backgroundImage = `linear-gradient(${(s.angle ?? 0) + 90}deg,${s.stops.map(stop => `#${stop.rgb} ${stop.v * 100}%`).join(',')})`;
148
- return css;
149
- };
150
- export const styleToCSStyle = (s) => {
151
- const style = s.cssStyle ? { ...s.cssStyle } : {};
152
- if (s.bold != null)
153
- style.fontWeight = s.bold ? 'bold' : 'normal';
154
- if (s.italic)
155
- style.fontStyle = 'italic';
156
- if (s.underline)
157
- style.textDecoration = 'underline';
158
- else if (s.strike)
159
- style.textDecoration = 'line-through';
160
- if (s.sz)
161
- style.fontSize = dom.numToPixels(s.sz); // (s.sz * 0.75).toString() + 'px';
162
- if (s.color)
163
- style.color = '#' + s.color;
164
- if (s.top)
165
- style.borderTop = convertToCSSBorder(s.top);
166
- if (s.right)
167
- style.borderRight = convertToCSSBorder(s.right);
168
- if (s.bottom)
169
- style.borderBottom = convertToCSSBorder(s.bottom);
170
- if (s.left)
171
- style.borderLeft = convertToCSSBorder(s.left);
172
- if (s.top || s.right || s.bottom || s.left)
173
- style.zIndex = '1';
174
- if (s.alignment && s.alignment.vertical) {
175
- style.display = 'flex';
176
- style.justifyContent = s.alignment.horizontal;
177
- style.alignItems = s.alignment.vertical == 'top' ? 'start' : (s.alignment.vertical == 'bottom' ? 'end' : 'center');
178
- }
179
- if (s.alignment && s.alignment.horizontal) {
180
- style.textAlign = s.alignment.horizontal;
181
- }
182
- if (s.alignment && s.alignment.wrapText) {
183
- style.display = 'flex';
184
- style.justifyContent = style.justifyContent ?? style.textAlign ?? 'left';
185
- style.alignItems = style.alignItems ?? 'center';
186
- style.whiteSpace = 'pre-wrap';
187
- }
188
- if (s.patternType)
189
- addPattern(style, s);
190
- else if (s.stops && s.stops.length)
191
- addGradient(style, s);
192
- else if (s.fgColor)
193
- style.backgroundColor = '#' + s.fgColor;
194
- else if (s.bgColor)
195
- style.backgroundColor = '#' + s.bgColor;
196
- ///TODO - rotation
197
- return style;
198
- };
199
- export const cssStyleToStyle = (s) => {
200
- const cssStyle = utils.isObject(s) ? s : cssStyleFromString(s);
201
- const style = {};
202
- let border;
203
- for (const k in cssStyle) {
204
- const value = cssStyle[k];
205
- if (value == null)
206
- continue;
207
- switch (k) {
208
- case 'borderTop':
209
- case 'border-top':
210
- style.top = convertCSSBorder(value);
211
- break;
212
- case 'borderTopColor':
213
- case 'border-top-color':
214
- if (style.top)
215
- style.top.color = convertCSSColor(value);
216
- else
217
- style.top = { style: 'thin', color: convertCSSColor(value) };
218
- break;
219
- case 'borderRight':
220
- case 'border-right':
221
- style.right = convertCSSBorder(value);
222
- break;
223
- case 'borderRightColor':
224
- case 'border-right-color':
225
- if (style.right)
226
- style.right.color = convertCSSColor(value);
227
- else
228
- style.right = { style: 'thin', color: convertCSSColor(value) };
229
- break;
230
- case 'borderBottom':
231
- case 'border-bottom':
232
- style.bottom = convertCSSBorder(value);
233
- break;
234
- case 'borderBottomColor':
235
- case 'border-bottom-color':
236
- if (style.bottom)
237
- style.bottom.color = convertCSSColor(value);
238
- else
239
- style.bottom = { style: 'thin', color: convertCSSColor(value) };
240
- break;
241
- case 'borderLeft':
242
- case 'border-left':
243
- style.left = convertCSSBorder(value);
244
- break;
245
- case 'borderLeftColor':
246
- case 'border-left-color':
247
- if (style.left)
248
- style.left.color = convertCSSColor(value);
249
- else
250
- style.left = { style: 'thin', color: convertCSSColor(value) };
251
- break;
252
- case 'border':
253
- border = convertCSSBorder(value);
254
- style.top = style.top || border;
255
- style.right = style.right || border;
256
- style.bottom = style.bottom || border;
257
- style.left = style.left || border;
258
- break;
259
- case 'textAlign':
260
- case 'text-align':
261
- style.alignment = style.alignment || {};
262
- style.alignment.horizontal = value;
263
- break;
264
- case 'verticalAlign':
265
- case 'vertical-align':
266
- style.alignment = style.alignment || {};
267
- style.alignment.vertical = convertCSSVerticalAlignment(value);
268
- break;
269
- case 'whiteSpace':
270
- case 'white-space':
271
- style.alignment = style.alignment || {};
272
- style.alignment.wrapText = value && value != 'nowrap';
273
- break;
274
- case 'color':
275
- style.color = convertCSSColor(value);
276
- break;
277
- case 'background':
278
- case 'backgroundColor':
279
- case 'background-color':
280
- style.fgColor = convertCSSColor(value);
281
- break;
282
- case 'fontSize':
283
- case 'font-size':
284
- style.sz = parseFloat(value);
285
- break;
286
- case 'fontWeight':
287
- case 'font-weight':
288
- style.bold = value == 'bold';
289
- break;
290
- case 'fontStyle':
291
- case 'font-style':
292
- style.italic = value == 'italic';
293
- break;
294
- default:
295
- style[k] = value;
296
- break;
297
- }
298
- }
299
- return style;
300
- };
301
- //# sourceMappingURL=cssStyle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cssStyle.js","sourceRoot":"","sources":["../../src/model/cssStyle.ts"],"names":[],"mappings":"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","sourcesContent":["import { colors, dom, utils } from \"@omegagrid/core\";\nimport { Border, BorderStyle, HorizontalAlignment, Style, VerticalAlignment } from \"./style\";\n\nexport type CSSStyle = Partial<CSSStyleDeclaration> & { [propName: string]: string };\n\nconst DEFAULT_BORDER_COLOR = 'CCCCCC';\n\nexport function cssStyleFromString(strStyle: string): CSSStyle {\n\tconst style: CSSStyle = {};\n\tstrStyle.split(';').forEach(item => {\n\t\tconst [key, value] = item.split(':');\n\t\tstyle[key] = value.trim();\n\t});\n\treturn style;\n}\n\nexport type CSSBorderStyle = 'none'|'solid'|'double'|'dotted'|'dashed';\nexport const borderStyleCSSMap = new Map<BorderStyle, {\n\twidth: number, \n\tstyle: CSSBorderStyle,\n}>([\n\t['thin', {width: 1.5, style: 'solid'}],\n\t['medium', {width: 2, style: 'solid'}],\n\t['thick', {width: 3, style: 'solid'}],\n\t['double', {width: 3, style: 'double'}],\n\t['dotted', {width: 1.5, style: 'dotted'}],\n\t['hair', {width: 1, style: 'solid'}],\n\t['dashed', {width: 1.5, style: 'dashed'}],\n\t['mediumDashed', {width: 2, style: 'dashed'}],\n\t['dashDot', {width: 1.5, style: 'dashed'}],\n\t['mediumDashDot', {width: 2, style: 'dashed'}],\n\t['dashDotDot', {width: 1.5, style: 'dotted'}],\n\t['mediumDashDotDot', {width: 2, style: 'dotted'}],\n\t['slantDashDot', {width: 1.5, style: 'dashed'}],\n\t['none', {width: 1.5, style: 'solid'}],\n]);\n\nexport const borderCSSStyleMap = (() => {\n\tconst map = new Map<CSSBorderStyle, Map<number, BorderStyle>>();\n\tborderStyleCSSMap.forEach((value, key) => {\n\t\tlet widthMap: Map<number, BorderStyle> = map.get(value.style);\n\t\tif (!widthMap) widthMap = map.set(value.style, new Map()).get(value.style);\n\t\twidthMap.set(value.width, key);\n\t});\n\treturn map;\n})();\n\nexport function convertCSSVerticalAlignment(align: string) {\n\treturn (align == 'middle' ? 'center' : align) as VerticalAlignment;\n}\n\nexport function convertCSSColor(color: string) {\n\tcolor = color.charAt(0) == '#' ? color.substring(1) : color;\n\treturn color.length == 3\n\t\t? color[0] + color[0] + color[1] + color[1] + color[2] + color[2]\n\t\t: color;\n}\n\nexport const convertCSSBorder = (border: string): Border => {\n\tif (border == 'none') return null;\n\t\n\tconst chunks = border.split(' ');\n\tconst width = parseInt(chunks[0].charAt(0)) || 1;\n\tconst borderStyle = chunks.length > 1 ? (chunks[1] as CSSBorderStyle) : 'solid';\n\n\tconst widthMap = borderCSSStyleMap.get(borderStyle);\n\treturn {\n\t\tstyle: (widthMap ? widthMap.get(width) : null) ?? 'thin',\n\t\tcolor: chunks.length > 2 ? convertCSSColor(chunks[2]) : DEFAULT_BORDER_COLOR\n\t};\n}\n\nexport const convertToCSSBorder = (b: Border) => {\n\tconst borderStyle = borderStyleCSSMap.get(b.style || 'none');\n\tif (!borderStyle) return 'none';\n\treturn [\n\t\tdom.px(borderStyle.width),\n\t\tborderStyle.style,\n\t\tb.style == 'none' ? 'var(--og-cell-background)' : (b.color ? `#${b.color}` : 'var(--og-border-color)'),\n\t].join(' ');\n}\n\nexport const addPattern = (css: CSSStyle, s: Style) : CSSStyle => {\n\t// background-image: radial-gradient(rgb(255, 255, 255) 10%, transparent 10%), radial-gradient(rgb(255, 255, 255) 10%, transparent 10%);\n\t// background-position: 0px 0px, 4px 4px;\n\t// background-size: 8px 8px;\n\t// background-color: rgb(255, 51, 51);\n\n\t// console.log('addPattern', s.patternType, fgColor, bgColor);\n\n\tconst fg = '#' + (s.fgColor || '000000');\n\tconst bg = '#' + (s.bgColor || 'FFFFFF');\n\n\tswitch (s.patternType) {\n\t\tcase 'solid':\n\t\t\tcss.backgroundColor = fg || bg;\n\t\t\tbreak;\n\t\tcase 'darkGray':\n\t\t\tcss.backgroundColor = colors.darken(bg, 0.75);\n\t\t\tbreak;\n\t\tcase 'mediumGray':\n\t\t\tcss.backgroundColor = colors.darken(bg, 0.50);\n\t\t\tbreak;\n\t\tcase 'lightGray':\n\t\t\tcss.backgroundColor = colors.darken(bg, 0.25);\n\t\t\tbreak;\n\t\tcase 'gray125':\n\t\t\tcss.backgroundColor = colors.darken(bg, 0.125);\n\t\t\tbreak;\n\t\tcase 'gray0625':\n\t\t\tcss.backgroundColor = colors.darken(bg, 0.0625);\n\t\t\tbreak;\n\t\tcase 'darkHorizontal':\n\t\t\tcss.backgroundImage = `linear-gradient(0deg, ${fg} 33.33%, ${bg} 33.33%, ${bg} 50%, ${fg} 50%, ${fg} 83.33%, ${bg} 83.33%, ${bg} 100%)`;\n\t\t\tcss.backgroundSize = '6px 6px';\n\t\t\tbreak;\n\t\tcase 'darkVertical':\n\t\t\tcss.backgroundImage = `linear-gradient(90deg, ${fg} 33.33%, ${bg} 33.33%, ${bg} 50%, ${fg} 50%, ${fg} 83.33%, ${bg} 83.33%, ${bg} 100%)`;\n\t\t\tcss.backgroundSize = '6px 6px';\n\t\t\tbreak;\n\t\tcase 'darkDown':\n\t\t\tcss.backgroundImage = `linear-gradient(45deg, ${fg} 33.33%, ${bg} 33.33%, ${bg} 50%, ${fg} 50%, ${fg} 83.33%, ${bg} 83.33%, ${bg} 100%)`;\n\t\t\tcss.backgroundSize = '6px 6px';\n\t\t\tbreak;\n\t\tcase 'darkUp':\n\t\t\tcss.backgroundImage = `linear-gradient(-45deg, ${fg} 33.33%, ${bg} 33.33%, ${bg} 50%, ${fg} 50%, ${fg} 83.33%, ${bg} 83.33%, ${bg} 100%)`;\n\t\t\tcss.backgroundSize = '6px 6px';\n\t\t\tbreak;\n\t\tcase 'lightHorizontal':\n\t\t\tcss.backgroundImage = `linear-gradient(0deg, ${bg} 25%, ${fg} 25%, ${fg} 50%, ${bg} 50%, ${bg} 75%, ${fg} 75%, ${fg} 100%)`;\n\t\t\tcss.backgroundSize = '4px 4px';\n\t\t\tbreak;\n\t\tcase 'lightVertical':\n\t\t\tcss.backgroundImage = `linear-gradient(90deg, ${bg} 25%, ${fg} 25%, ${fg} 50%, ${bg} 50%, ${bg} 75%, ${fg} 75%, ${fg} 100%)`;\n\t\t\tcss.backgroundSize = '4px 4px';\n\t\t\tbreak;\n\t\tcase 'lightDown':\n\t\t\tcss.backgroundImage = `linear-gradient(45deg, ${bg} 25%, ${fg} 25%, ${fg} 50%, ${bg} 50%, ${bg} 75%, ${fg} 75%, ${fg} 100%)`;\n\t\t\tcss.backgroundSize = '4px 4px';\n\t\t\tbreak;\n\t\tcase 'lightUp':\n\t\t\tcss.backgroundImage = `linear-gradient(-45deg, ${bg} 25%, ${fg} 25%, ${fg} 50%, ${bg} 50%, ${bg} 75%, ${fg} 75%, ${fg} 100%)`;\n\t\t\tcss.backgroundSize = '4px 4px';\n\t\t\tbreak;\n\t\tcase 'darkGrid':\n\t\t\tcss.backgroundImage = `linear-gradient(${bg} 0.5px, transparent 0.5px), linear-gradient(90deg, ${bg} 0.5px, transparent 0.5px)`;\n\t\t\tcss.backgroundSize = '2px 2px';\n\t\t\tbreak;\n\t\tcase 'lightGrid':\n\t\t\tcss.backgroundImage = `linear-gradient(${bg} 0.5px, transparent 0.5px), linear-gradient(90deg, ${bg} 0.5px, transparent 0.5px)`;\n\t\t\tcss.backgroundSize = '1px 1px';\n\t\t\tbreak;\n\t\tcase 'darkTrellis':\n\t\t\tcss.backgroundImage = `linear-gradient(45deg, ${bg} 0.5px, transparent 0.5px), linear-gradient(90deg, ${bg} 0.5px, transparent 0.5px)`;\n\t\t\tcss.backgroundSize = '2px 2px';\n\t\t\tbreak;\n\t\tcase 'lightTrellis':\n\t\t\tcss.backgroundImage = `linear-gradient(45deg, ${bg} 0.5px, transparent 0.5px), linear-gradient(90deg, ${bg} 0.5px, transparent 0.5px)`;\n\t\t\tcss.backgroundSize = '1px 1px';\n\t\t\tbreak;\n\t}\n\n\treturn css;\n}\n\nexport const addGradient = (css: CSSStyle, s: Style) : CSSStyle => {\n\tcss.backgroundImage = `linear-gradient(${(s.angle ?? 0) + 90}deg,${s.stops.map(stop => `#${stop.rgb} ${stop.v * 100}%`).join(',')})`;\n\treturn css;\n}\n\nexport const styleToCSStyle = (s: Style): CSSStyle => {\n\tconst style: CSSStyle = s.cssStyle ? {...s.cssStyle} : {};\n\tif (s.bold != null) style.fontWeight = s.bold ? 'bold' : 'normal';\n\tif (s.italic) style.fontStyle = 'italic';\n\tif (s.underline) style.textDecoration = 'underline';\n\telse if (s.strike) style.textDecoration = 'line-through';\n\tif (s.sz) style.fontSize = dom.numToPixels(s.sz); // (s.sz * 0.75).toString() + 'px';\n\tif (s.color) style.color = '#' + s.color;\n\tif (s.top) style.borderTop = convertToCSSBorder(s.top);\n\tif (s.right) style.borderRight = convertToCSSBorder(s.right);\n\tif (s.bottom) style.borderBottom = convertToCSSBorder(s.bottom);\n\tif (s.left) style.borderLeft = convertToCSSBorder(s.left);\n\tif (s.top || s.right || s.bottom || s.left) style.zIndex = '1';\n\tif (s.alignment && s.alignment.vertical) {\n\t\tstyle.display = 'flex';\n\t\tstyle.justifyContent = s.alignment.horizontal;\n\t\tstyle.alignItems = s.alignment.vertical == 'top' ? 'start' : (s.alignment.vertical == 'bottom' ? 'end' : 'center');\n\t}\n\tif (s.alignment && s.alignment.horizontal) {\n\t\tstyle.textAlign = s.alignment.horizontal;\n\t}\n\tif (s.alignment && s.alignment.wrapText) {\n\t\tstyle.display = 'flex';\n\t\tstyle.justifyContent = style.justifyContent ?? style.textAlign ?? 'left';\n\t\tstyle.alignItems = style.alignItems ?? 'center';\n\t\tstyle.whiteSpace = 'pre-wrap';\n\t}\n\tif (s.patternType) addPattern(style, s);\n\telse if (s.stops && s.stops.length) addGradient(style, s);\n\telse if (s.fgColor) style.backgroundColor = '#' + s.fgColor;\n\telse if (s.bgColor) style.backgroundColor = '#' + s.bgColor;\n\t\n\t///TODO - rotation\n\t\n\treturn style;\n}\n\nexport const cssStyleToStyle = (s: CSSStyle|string): Style => {\n\tconst cssStyle: CSSStyle = utils.isObject(s) ? s as CSSStyle : cssStyleFromString(s as string);\n\tconst style: Style = {};\n\tlet border: Border;\n\tfor (const k in cssStyle) {\n\t\tconst value = cssStyle[k];\n\t\tif (value == null) continue;\n\t\tswitch(k) {\n\t\t\tcase 'borderTop':\n\t\t\tcase 'border-top':\n\t\t\t\tstyle.top = convertCSSBorder(value as string);\n\t\t\t\tbreak;\n\t\t\tcase 'borderTopColor':\n\t\t\tcase 'border-top-color':\n\t\t\t\tif (style.top) style.top.color = convertCSSColor(value as string);\n\t\t\t\telse style.top = {style: 'thin', color: convertCSSColor(value as string)};\n\t\t\t\tbreak;\n\t\t\tcase 'borderRight':\n\t\t\tcase 'border-right':\n\t\t\t\tstyle.right = convertCSSBorder(value as string);\n\t\t\t\tbreak;\n\t\t\tcase 'borderRightColor':\n\t\t\tcase 'border-right-color':\n\t\t\t\tif (style.right) style.right.color = convertCSSColor(value as string);\n\t\t\t\telse style.right = {style: 'thin', color: convertCSSColor(value as string)};\n\t\t\t\tbreak;\n\t\t\tcase 'borderBottom':\n\t\t\tcase 'border-bottom':\n\t\t\t\tstyle.bottom = convertCSSBorder(value as string);\n\t\t\t\tbreak;\n\t\t\tcase 'borderBottomColor':\n\t\t\tcase 'border-bottom-color':\n\t\t\t\tif (style.bottom) style.bottom.color = convertCSSColor(value as string);\n\t\t\t\telse style.bottom = {style: 'thin', color: convertCSSColor(value as string)};\n\t\t\t\tbreak;\n\t\t\tcase 'borderLeft':\n\t\t\tcase 'border-left':\n\t\t\t\tstyle.left = convertCSSBorder(value as string);\n\t\t\t\tbreak;\n\t\t\tcase 'borderLeftColor':\n\t\t\tcase 'border-left-color':\n\t\t\t\tif (style.left) style.left.color = convertCSSColor(value as string);\n\t\t\t\telse style.left = {style: 'thin', color: convertCSSColor(value as string)};\n\t\t\t\tbreak;\t\t\n\t\t\tcase 'border':\n\t\t\t\tborder = convertCSSBorder(value as string);\n\t\t\t\tstyle.top = style.top || border;\n\t\t\t\tstyle.right = style.right || border;\n\t\t\t\tstyle.bottom = style.bottom || border;\n\t\t\t\tstyle.left = style.left || border;\n\t\t\t\tbreak;\n\t\t\tcase 'textAlign':\n\t\t\tcase 'text-align':\n\t\t\t\tstyle.alignment = style.alignment || {};\n\t\t\t\tstyle.alignment.horizontal = value as HorizontalAlignment;\n\t\t\t\tbreak;\n\t\t\tcase 'verticalAlign':\n\t\t\tcase 'vertical-align':\n\t\t\t\tstyle.alignment = style.alignment || {};\n\t\t\t\tstyle.alignment.vertical = convertCSSVerticalAlignment(value);\n\t\t\t\tbreak;\n\t\t\tcase 'whiteSpace':\n\t\t\tcase 'white-space':\n\t\t\t\tstyle.alignment = style.alignment || {};\n\t\t\t\tstyle.alignment.wrapText = value && value != 'nowrap';\n\t\t\t\tbreak;\n\t\t\tcase 'color':\n\t\t\t\tstyle.color = convertCSSColor(value);\n\t\t\t\tbreak;\n\t\t\tcase 'background':\n\t\t\tcase 'backgroundColor':\n\t\t\tcase 'background-color':\n\t\t\t\tstyle.fgColor = convertCSSColor(value);\n\t\t\t\tbreak;\n\t\t\tcase 'fontSize':\n\t\t\tcase 'font-size':\n\t\t\t\tstyle.sz = parseFloat(value);\n\t\t\t\tbreak;\n\t\t\tcase 'fontWeight':\n\t\t\tcase 'font-weight':\n\t\t\t\tstyle.bold = value == 'bold';\n\t\t\t\tbreak;\n\t\t\tcase 'fontStyle':\n\t\t\tcase 'font-style':\n\t\t\t\tstyle.italic = value == 'italic';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tstyle[k as keyof Style] = value;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\treturn style;\n}\n"]}
@@ -1,30 +0,0 @@
1
- import type { CellModel } from ".";
2
- import type { CellAddress, RangeAddress } from "../common";
3
- import { CellRange } from "../common";
4
- import type { GridModel } from "./gridModel";
5
- export type DependencyMap = Map<string, Map<string, [CellRange, string?]>>;
6
- export type SheetDependencyMap = Map<string, string>;
7
- export declare class Dependencies {
8
- readonly model: GridModel;
9
- readonly modelPart: keyof GridModel;
10
- private _cellDependencies;
11
- get cellDependencies(): DependencyMap;
12
- private _cellDependants;
13
- get cellDependants(): DependencyMap;
14
- private _rangeDependencies;
15
- get rangeDependencies(): DependencyMap;
16
- private _rangeDependants;
17
- get rangeDependants(): DependencyMap;
18
- private _sheetDependencies;
19
- get sheetDependencies(): SheetDependencyMap;
20
- private _sheetDependants;
21
- get sheetDependants(): SheetDependencyMap;
22
- constructor(model: GridModel, modelPart?: keyof GridModel);
23
- clear(): void;
24
- clearCellDependecies(addr: RangeAddress): this;
25
- has(cellAddr: CellAddress): boolean;
26
- add(cellAddr: CellAddress, dependentRangeAddr: RangeAddress, sheet?: string): void;
27
- getDependants(range: CellRange, map?: Map<CellRange, [CellModel, string?]>): Map<CellRange, [CellModel, string?]>;
28
- renameSheet(oldName: string, newName: string): void;
29
- }
30
- //# sourceMappingURL=dependencies.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../src/model/dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC;AACnC,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAQrD,qBAAa,YAAY;aAsBP,KAAK,EAAE,SAAS;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,SAAS;IApBpC,OAAO,CAAC,iBAAiB,CAA4B;IACrD,IAAI,gBAAgB,kBAAoC;IAExD,OAAO,CAAC,eAAe,CAA4B;IACnD,IAAI,cAAc,kBAAkC;IAEpD,OAAO,CAAC,kBAAkB,CAA4B;IACtD,IAAI,iBAAiB,kBAAqC;IAE1D,OAAO,CAAC,gBAAgB,CAA4B;IACpD,IAAI,eAAe,kBAAmC;IAEtD,OAAO,CAAC,kBAAkB,CAAiC;IAC3D,IAAI,iBAAiB,uBAAqC;IAE1D,OAAO,CAAC,gBAAgB,CAAiC;IACzD,IAAI,eAAe,uBAAmC;gBAGrC,KAAK,EAAE,SAAS,EACvB,SAAS,GAAE,MAAM,SAA0B;IAGrD,KAAK;IAOL,oBAAoB,CAAC,IAAI,EAAE,YAAY;IAsBvC,GAAG,CAAC,QAAQ,EAAE,WAAW;IAIzB,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM;IAgC3E,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,GAAE,GAAG,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAQ;IAoChF,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAiB5C"}
@@ -1,139 +0,0 @@
1
- import { CellRange } from "../common";
2
- function renameDependencyMapSheet(map, oldName, newName) {
3
- map.forEach(submap => submap.forEach(item => {
4
- if (item[1] == oldName)
5
- item[1] = newName;
6
- }));
7
- }
8
- export class Dependencies {
9
- get cellDependencies() { return this._cellDependencies; }
10
- get cellDependants() { return this._cellDependants; }
11
- get rangeDependencies() { return this._rangeDependencies; }
12
- get rangeDependants() { return this._rangeDependants; }
13
- get sheetDependencies() { return this._sheetDependencies; }
14
- get sheetDependants() { return this._sheetDependants; }
15
- constructor(model, modelPart = 'calculations') {
16
- this.model = model;
17
- this.modelPart = modelPart;
18
- // cells dependent on the key cell
19
- this._cellDependencies = new Map();
20
- this._cellDependants = new Map();
21
- this._rangeDependencies = new Map();
22
- this._rangeDependants = new Map();
23
- this._sheetDependencies = new Map();
24
- this._sheetDependants = new Map();
25
- }
26
- clear() {
27
- this._cellDependants.clear();
28
- this._cellDependencies.clear();
29
- this._rangeDependencies.clear();
30
- this._rangeDependants.clear();
31
- }
32
- clearCellDependecies(addr) {
33
- if (this._cellDependencies.has(addr)) {
34
- // this._cellDependencies.get(addr).forEach(([r, sheet]) => {
35
- // const dependants = sheet
36
- // ? this.model.getConnectedModel(sheet)?.calculations.dependencies.cellDependants
37
- // : this.cellDependants;
38
- // if (dependants.has(r.A1)) dependants.get(r.A1).delete(addr);
39
- // });
40
- this._cellDependencies.delete(addr);
41
- }
42
- if (this._rangeDependencies.has(addr)) {
43
- // this._rangeDependencies.get(addr).forEach(([r, sheet]) => {
44
- // const dependants = sheet
45
- // ? this.model.getConnectedModel(sheet)?.calculations.dependencies.rangeDependants
46
- // : this.rangeDependants;
47
- // if (dependants.has(r.A1)) dependants.get(r.A1).delete(addr);
48
- // });
49
- this._rangeDependants.delete(addr);
50
- }
51
- return this;
52
- }
53
- has(cellAddr) {
54
- return this._cellDependencies.has(cellAddr) || this._rangeDependencies.has(cellAddr);
55
- }
56
- add(cellAddr, dependentRangeAddr, sheet) {
57
- const range = CellRange.fromA1(cellAddr).removeAnchors();
58
- const depRange = CellRange.fromA1(dependentRangeAddr).removeAnchors();
59
- dependentRangeAddr = depRange.A1;
60
- const isRange = depRange.isRange;
61
- const dependencies = isRange ? this._rangeDependencies : this._cellDependencies;
62
- const dependecyMap = dependencies.has(cellAddr)
63
- ? dependencies.get(cellAddr) : dependencies.set(cellAddr, new Map()).get(cellAddr);
64
- let dependants = null;
65
- dependecyMap.set(dependentRangeAddr, [depRange, sheet]);
66
- if (sheet) {
67
- const connectedModel = this.model.getConnectedModel(sheet);
68
- if (connectedModel) {
69
- connectedModel.calculations.dependencies.sheetDependants.set(this.model.name, this.model.name);
70
- this.sheetDependencies.set(sheet, sheet);
71
- dependants = isRange
72
- ? connectedModel.calculations.dependencies.rangeDependants
73
- : connectedModel.calculations.dependencies.cellDependants;
74
- }
75
- sheet = this.model.name;
76
- }
77
- else {
78
- dependants = isRange ? this._rangeDependants : this._cellDependants;
79
- }
80
- if (dependants) {
81
- if (!dependants.has(dependentRangeAddr))
82
- dependants.set(dependentRangeAddr, new Map());
83
- dependants.get(dependentRangeAddr).set(cellAddr, [range, sheet]);
84
- }
85
- }
86
- getDependants(range, map = null) {
87
- let model;
88
- let connectedModel;
89
- const ra1 = range.A1;
90
- map = map ?? new Map();
91
- if (this._cellDependants.has(ra1)) {
92
- this._cellDependants.get(ra1).forEach(([r, sheet]) => {
93
- if (map.has(r))
94
- return; //map.delete(r);
95
- if (sheet)
96
- connectedModel = this.model.getConnectedModel(sheet);
97
- model = connectedModel || this.model;
98
- map.set(r, [model.getCellByRange(r), sheet]);
99
- if (connectedModel) {
100
- connectedModel[this.modelPart].dependencies.getDependants(r).forEach((item, r2) => {
101
- map.set(r2, [item[0], item[1] ?? sheet]);
102
- });
103
- }
104
- else if (r.A1 != ra1 || connectedModel) {
105
- model.calculations.dependencies.getDependants(r, map);
106
- }
107
- });
108
- }
109
- this._rangeDependants.forEach((map2, a1) => {
110
- const r = CellRange.fromA1(a1);
111
- if (r.contains(range)) {
112
- map2.forEach(([r2, sheet]) => {
113
- if (map.has(r2))
114
- return;
115
- map.delete(r2);
116
- this.getDependants(r2, map.set(r2, [
117
- (sheet ? this.model.getConnectedModel(sheet) : this.model).getCellByRange(r2), sheet
118
- ]));
119
- });
120
- }
121
- });
122
- return map;
123
- }
124
- renameSheet(oldName, newName) {
125
- if (this._sheetDependants.has(oldName)) {
126
- this._sheetDependants.delete(oldName);
127
- this._sheetDependants.set(newName, newName);
128
- }
129
- if (this._sheetDependencies.has(oldName)) {
130
- this._sheetDependencies.delete(oldName);
131
- this._sheetDependencies.set(newName, newName);
132
- }
133
- renameDependencyMapSheet(this._cellDependants, oldName, newName);
134
- renameDependencyMapSheet(this._cellDependencies, oldName, newName);
135
- renameDependencyMapSheet(this._rangeDependants, oldName, newName);
136
- renameDependencyMapSheet(this._rangeDependencies, oldName, newName);
137
- }
138
- }
139
- //# sourceMappingURL=dependencies.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../src/model/dependencies.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CellModel } from \".\";\nimport type { CellAddress, RangeAddress } from \"../common\";\nimport { CellRange } from \"../common\";\nimport { DependencyModel } from \"./dependencyModel\";\nimport type { GridModel } from \"./gridModel\";\n\nexport type DependencyMap = Map<string, Map<string, [CellRange, string?]>>;\nexport type SheetDependencyMap = Map<string, string>;\n\nfunction renameDependencyMapSheet(map: DependencyMap, oldName: string, newName: string) {\n\tmap.forEach(submap => submap.forEach(item => {\n\t\tif (item[1] == oldName) item[1] = newName;\n\t}));\n}\n\nexport class Dependencies {\n\n\t// cells dependent on the key cell\n\tprivate _cellDependencies: DependencyMap = new Map();\n\tget cellDependencies() { return this._cellDependencies }\n\n\tprivate _cellDependants: DependencyMap = new Map();\n\tget cellDependants() { return this._cellDependants }\n\n\tprivate _rangeDependencies: DependencyMap = new Map();\n\tget rangeDependencies() { return this._rangeDependencies }\n\n\tprivate _rangeDependants: DependencyMap = new Map();\n\tget rangeDependants() { return this._rangeDependants }\n\n\tprivate _sheetDependencies: SheetDependencyMap = new Map();\n\tget sheetDependencies() { return this._sheetDependencies }\n\n\tprivate _sheetDependants: SheetDependencyMap = new Map();\n\tget sheetDependants() { return this._sheetDependants }\n\n\tconstructor(\n\t\tpublic readonly model: GridModel,\n\t\treadonly modelPart: keyof GridModel = 'calculations'\n\t) { }\n\n\tclear() {\n\t\tthis._cellDependants.clear();\n\t\tthis._cellDependencies.clear();\n\t\tthis._rangeDependencies.clear();\n\t\tthis._rangeDependants.clear();\n\t}\n\n\tclearCellDependecies(addr: RangeAddress) {\n\t\tif (this._cellDependencies.has(addr)) {\n\t\t\t// this._cellDependencies.get(addr).forEach(([r, sheet]) => {\n\t\t\t// \tconst dependants = sheet \n\t\t\t// \t\t? this.model.getConnectedModel(sheet)?.calculations.dependencies.cellDependants\n\t\t\t// \t\t: this.cellDependants;\n\t\t\t// \tif (dependants.has(r.A1)) dependants.get(r.A1).delete(addr);\n\t\t\t// });\n\t\t\tthis._cellDependencies.delete(addr);\n\t\t}\n\t\tif (this._rangeDependencies.has(addr)) {\n\t\t\t// this._rangeDependencies.get(addr).forEach(([r, sheet]) => {\n\t\t\t// \tconst dependants = sheet \n\t\t\t// \t\t? this.model.getConnectedModel(sheet)?.calculations.dependencies.rangeDependants\n\t\t\t// \t\t: this.rangeDependants;\n\t\t\t// \tif (dependants.has(r.A1)) dependants.get(r.A1).delete(addr);\n\t\t\t// });\n\t\t\tthis._rangeDependants.delete(addr);\n\t\t}\n\t\treturn this;\n\t}\n\n\thas(cellAddr: CellAddress) {\n\t\treturn this._cellDependencies.has(cellAddr) || this._rangeDependencies.has(cellAddr);\n\t}\n\n\tadd(cellAddr: CellAddress, dependentRangeAddr: RangeAddress, sheet?: string) {\n\t\tconst range = CellRange.fromA1(cellAddr).removeAnchors();\n\t\tconst depRange = CellRange.fromA1(dependentRangeAddr).removeAnchors();\n\t\tdependentRangeAddr = depRange.A1;\n\t\tconst isRange = depRange.isRange;\t\t\n\t\tconst dependencies = isRange ? this._rangeDependencies : this._cellDependencies;\n\t\tconst dependecyMap = dependencies.has(cellAddr) \n\t\t\t? dependencies.get(cellAddr) : dependencies.set(cellAddr, new Map()).get(cellAddr);\n\n\t\tlet dependants: DependencyMap = null;\n\t\tdependecyMap.set(dependentRangeAddr, [depRange, sheet]);\n\t\t\n\t\tif (sheet) {\n\t\t\tconst connectedModel = this.model.getConnectedModel(sheet);\n\t\t\tif (connectedModel) {\n\t\t\t\tconnectedModel.calculations.dependencies.sheetDependants.set(this.model.name, this.model.name);\n\t\t\t\tthis.sheetDependencies.set(sheet, sheet);\n\t\t\t\tdependants = isRange \n\t\t\t\t\t? connectedModel.calculations.dependencies.rangeDependants\n\t\t\t\t\t: connectedModel.calculations.dependencies.cellDependants;\n\t\t\t}\n\t\t\tsheet = this.model.name;\n\t\t} else {\n\t\t\tdependants = isRange ? this._rangeDependants : this._cellDependants;\n\t\t}\n\t\t\n\t\tif (dependants) {\n\t\t\tif (!dependants.has(dependentRangeAddr)) dependants.set(dependentRangeAddr, new Map());\n\t\t\tdependants.get(dependentRangeAddr).set(cellAddr, [range, sheet]);\n\t\t}\n\t}\n\n\tgetDependants(range: CellRange, map: Map<CellRange, [CellModel, string?]> = null) {\n\t\tlet model: GridModel;\n\t\tlet connectedModel: GridModel;\n\t\tconst ra1 = range.A1;\n\t\tmap = map ?? new Map();\n\t\tif (this._cellDependants.has(ra1)) {\n\t\t\tthis._cellDependants.get(ra1).forEach(([r, sheet]) => {\n\t\t\t\tif (map.has(r)) return; //map.delete(r);\n\t\t\t\tif (sheet) connectedModel = this.model.getConnectedModel(sheet);\n\t\t\t\tmodel = connectedModel || this.model;\n\t\t\t\tmap.set(r, [model.getCellByRange(r), sheet]);\n\t\t\t\tif (connectedModel) {\n\t\t\t\t\t(connectedModel[this.modelPart] as DependencyModel).dependencies.getDependants(r).forEach((item, r2) => {\n\t\t\t\t\t\tmap.set(r2, [item[0], item[1] ?? sheet]);\n\t\t\t\t\t});\n\t\t\t\t} else if (r.A1 != ra1 || connectedModel) {\n\t\t\t\t\tmodel.calculations.dependencies.getDependants(r, map);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tthis._rangeDependants.forEach((map2, a1) => {\n\t\t\tconst r = CellRange.fromA1(a1);\n\t\t\tif (r.contains(range)) {\n\t\t\t\tmap2.forEach(([r2, sheet]) => {\n\t\t\t\t\tif (map.has(r2)) return; map.delete(r2);\n\t\t\t\t\tthis.getDependants(r2, map.set(r2, [\n\t\t\t\t\t\t(sheet ? this.model.getConnectedModel(sheet) : this.model).getCellByRange(r2), sheet\n\t\t\t\t\t]));\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\treturn map;\n\t}\n\n\trenameSheet(oldName: string, newName: string) {\n\t\tif (this._sheetDependants.has(oldName)) {\n\t\t\tthis._sheetDependants.delete(oldName);\n\t\t\tthis._sheetDependants.set(newName, newName);\n\t\t}\n\n\t\tif (this._sheetDependencies.has(oldName)) {\n\t\t\tthis._sheetDependencies.delete(oldName);\n\t\t\tthis._sheetDependencies.set(newName, newName);\n\t\t}\n\n\t\trenameDependencyMapSheet(this._cellDependants, oldName, newName);\n\t\trenameDependencyMapSheet(this._cellDependencies, oldName, newName);\n\t\trenameDependencyMapSheet(this._rangeDependants, oldName, newName);\n\t\trenameDependencyMapSheet(this._rangeDependencies, oldName, newName);\n\t}\n\n}"]}
@@ -1,9 +0,0 @@
1
- import { Dependencies } from "./dependencies";
2
- import { GridModel } from "./gridModel";
3
- export declare abstract class DependencyModel {
4
- readonly model: GridModel;
5
- protected _dependencies: Dependencies;
6
- get dependencies(): Dependencies;
7
- constructor(model: GridModel, modelPart?: keyof GridModel);
8
- }
9
- //# sourceMappingURL=dependencyModel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dependencyModel.d.ts","sourceRoot":"","sources":["../../src/model/dependencyModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,8BAAsB,eAAe;aAKR,KAAK,EAAE,SAAS;IAH5C,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC;IACtC,IAAI,YAAY,iBAAgC;gBAEpB,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,SAAS;CAIzE"}
@@ -1,9 +0,0 @@
1
- import { Dependencies } from "./dependencies";
2
- export class DependencyModel {
3
- get dependencies() { return this._dependencies; }
4
- constructor(model, modelPart) {
5
- this.model = model;
6
- this._dependencies = new Dependencies(model, modelPart);
7
- }
8
- }
9
- //# sourceMappingURL=dependencyModel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dependencyModel.js","sourceRoot":"","sources":["../../src/model/dependencyModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,MAAM,OAAgB,eAAe;IAGpC,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,aAAa,CAAA,CAAC,CAAC;IAEhD,YAA4B,KAAgB,EAAE,SAA2B;QAA7C,UAAK,GAAL,KAAK,CAAW;QAC3C,IAAI,CAAC,aAAa,GAAG,IAAI,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACzD,CAAC;CAED","sourcesContent":["import { Dependencies } from \"./dependencies\";\nimport { GridModel } from \"./gridModel\";\n\nexport abstract class DependencyModel {\n\n\tprotected _dependencies: Dependencies;\n\tget dependencies() { return this._dependencies }\n\n\tconstructor(public readonly model: GridModel, modelPart?: keyof GridModel) {\n\t\tthis._dependencies = new Dependencies(model, modelPart);\n\t}\n\n}\n"]}