@pdfme/schemas 4.5.1 → 4.5.2-dev.1

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.
@@ -9,6 +9,22 @@ const tableHelper_js_1 = require("./tableHelper.js");
9
9
  const helper_js_1 = require("./helper.js");
10
10
  const cell_js_1 = __importDefault(require("./cell.js"));
11
11
  const buttonSize = 30;
12
+ function createButton(options) {
13
+ const button = document.createElement('button');
14
+ button.style.width = `${options.width}px`;
15
+ button.style.height = `${options.height}px`;
16
+ button.style.position = 'absolute';
17
+ button.style.top = options.top;
18
+ if (options.left !== undefined) {
19
+ button.style.left = options.left;
20
+ }
21
+ if (options.right !== undefined) {
22
+ button.style.right = options.right;
23
+ }
24
+ button.innerText = options.text;
25
+ button.onclick = options.onClick;
26
+ return button;
27
+ }
12
28
  const cellUiRender = cell_js_1.default.ui;
13
29
  const convertToCellStyle = (styles) => ({
14
30
  fontName: styles.fontName,
@@ -176,91 +192,97 @@ const uiRender = async (arg) => {
176
192
  },
177
193
  offsetY,
178
194
  });
195
+ const createAddRowButton = () => createButton({
196
+ width: buttonSize,
197
+ height: buttonSize,
198
+ top: `${table.getHeight()}mm`,
199
+ left: `calc(50% - ${buttonSize / 2}px)`,
200
+ text: '+',
201
+ onClick: () => {
202
+ const newRow = Array(schema.head.length).fill('');
203
+ onChange && onChange({ key: 'content', value: JSON.stringify(body.concat([newRow])) });
204
+ },
205
+ });
206
+ const createRemoveRowButtons = () => {
207
+ let offsetY = table.settings.showHead ? table.getHeadHeight() : 0;
208
+ return table.body.map((row, i) => {
209
+ offsetY = offsetY + row.height;
210
+ const removeRowButton = createButton({
211
+ width: buttonSize,
212
+ height: buttonSize,
213
+ top: `${offsetY - (0, common_1.px2mm)(buttonSize)}mm`,
214
+ right: `-${buttonSize}px`,
215
+ text: '-',
216
+ onClick: () => {
217
+ const newTableBody = body.filter((_, j) => j !== i + (schema.__bodyRange?.start ?? 0));
218
+ onChange && onChange({ key: 'content', value: JSON.stringify(newTableBody) });
219
+ },
220
+ });
221
+ return removeRowButton;
222
+ });
223
+ };
179
224
  if (mode === 'form' && onChange && !schema.readOnly) {
180
225
  if (schema.__bodyRange?.end === undefined ||
181
226
  schema.__bodyRange.end >= JSON.parse(value || '[]').length) {
182
- const addRowButton = document.createElement('button');
183
- addRowButton.style.width = `${buttonSize}px`;
184
- addRowButton.style.height = `${buttonSize}px`;
185
- addRowButton.style.position = 'absolute';
186
- addRowButton.style.top = `${table.getHeight()}mm`;
187
- addRowButton.style.left = `calc(50% - ${buttonSize / 2}px)`;
188
- addRowButton.innerText = '+';
189
- addRowButton.onclick = () => {
190
- const newRow = Array(schema.head.length).fill('');
191
- onChange({ key: 'content', value: JSON.stringify(body.concat([newRow])) });
192
- };
193
- rootElement.appendChild(addRowButton);
227
+ rootElement.appendChild(createAddRowButton());
194
228
  }
195
- let offsetY = table.settings.showHead ? table.getHeadHeight() : 0;
196
- table.body.forEach((row, i) => {
197
- offsetY = offsetY + row.height;
198
- const removeRowButton = document.createElement('button');
199
- removeRowButton.style.width = `${buttonSize}px`;
200
- removeRowButton.style.height = `${buttonSize}px`;
201
- removeRowButton.style.position = 'absolute';
202
- removeRowButton.style.top = `${offsetY - (0, common_1.px2mm)(buttonSize)}mm`;
203
- removeRowButton.style.right = `-${buttonSize}px`;
204
- removeRowButton.innerText = '-';
205
- removeRowButton.onclick = () => {
206
- const newTableBody = body.filter((_, j) => j !== i + (schema.__bodyRange?.start ?? 0));
207
- onChange({ key: 'content', value: JSON.stringify(newTableBody) });
208
- };
209
- rootElement.appendChild(removeRowButton);
210
- });
229
+ createRemoveRowButtons().forEach((button) => rootElement.appendChild(button));
211
230
  }
212
231
  if (mode === 'designer' && onChange) {
213
- const addColumnButton = document.createElement('button');
214
- addColumnButton.style.width = `${buttonSize}px`;
215
- addColumnButton.style.height = `${buttonSize}px`;
216
- addColumnButton.style.position = 'absolute';
217
- addColumnButton.style.top = `${table.getHeadHeight() - (0, common_1.px2mm)(buttonSize)}mm`;
218
- addColumnButton.style.right = `-${buttonSize}px`;
219
- addColumnButton.innerText = '+';
220
- addColumnButton.onclick = (e) => {
221
- e.preventDefault();
222
- const newColumnWidthPercentage = 25;
223
- const totalCurrentWidth = schema.headWidthPercentages.reduce((acc, width) => acc + width, 0);
224
- const scalingRatio = (100 - newColumnWidthPercentage) / totalCurrentWidth;
225
- const scaledWidths = schema.headWidthPercentages.map((width) => width * scalingRatio);
226
- onChange([
227
- { key: 'head', value: schema.head.concat(`Head ${schema.head.length + 1}`) },
228
- { key: 'headWidthPercentages', value: scaledWidths.concat(newColumnWidthPercentage) },
229
- {
230
- key: 'content',
231
- value: JSON.stringify(bodyWidthRange.map((row, i) => row.concat(`Row ${i + 1}`))),
232
- },
233
- ]);
234
- };
235
- rootElement.appendChild(addColumnButton);
236
- let offsetX = 0;
237
- table.columns.forEach((column, i) => {
238
- offsetX = offsetX + column.width;
239
- const removeColumnButton = document.createElement('button');
240
- removeColumnButton.style.width = `${buttonSize}px`;
241
- removeColumnButton.style.height = `${buttonSize}px`;
242
- removeColumnButton.style.position = 'absolute';
243
- removeColumnButton.style.top = `-${buttonSize}px`;
244
- removeColumnButton.style.left = `${offsetX - (0, common_1.px2mm)(buttonSize)}mm`;
245
- removeColumnButton.innerText = '-';
246
- removeColumnButton.onclick = (e) => {
232
+ const addColumnButton = createButton({
233
+ width: buttonSize,
234
+ height: buttonSize,
235
+ top: `${table.getHeadHeight() - (0, common_1.px2mm)(buttonSize)}mm`,
236
+ right: `-${buttonSize}px`,
237
+ text: '+',
238
+ onClick: (e) => {
247
239
  e.preventDefault();
248
- const totalWidthMinusRemoved = schema.headWidthPercentages.reduce((sum, width, j) => (j !== i ? sum + width : sum), 0);
249
- // TODO Should also remove the deleted columnStyles when deleting
240
+ const newColumnWidthPercentage = 25;
241
+ const totalCurrentWidth = schema.headWidthPercentages.reduce((acc, width) => acc + width, 0);
242
+ const scalingRatio = (100 - newColumnWidthPercentage) / totalCurrentWidth;
243
+ const scaledWidths = schema.headWidthPercentages.map((width) => width * scalingRatio);
250
244
  onChange([
251
- { key: 'head', value: schema.head.filter((_, j) => j !== i) },
252
- {
253
- key: 'headWidthPercentages',
254
- value: schema.headWidthPercentages
255
- .filter((_, j) => j !== i)
256
- .map((width) => (width / totalWidthMinusRemoved) * 100),
257
- },
245
+ { key: 'head', value: schema.head.concat(`Head ${schema.head.length + 1}`) },
246
+ { key: 'headWidthPercentages', value: scaledWidths.concat(newColumnWidthPercentage) },
258
247
  {
259
248
  key: 'content',
260
- value: JSON.stringify(bodyWidthRange.map((row) => row.filter((_, j) => j !== i))),
249
+ value: JSON.stringify(bodyWidthRange.map((row, i) => row.concat(`Row ${i + 1}`))),
261
250
  },
262
251
  ]);
263
- };
252
+ },
253
+ });
254
+ rootElement.appendChild(addColumnButton);
255
+ rootElement.appendChild(createAddRowButton());
256
+ createRemoveRowButtons().forEach((button) => rootElement.appendChild(button));
257
+ let offsetX = 0;
258
+ table.columns.forEach((column, i, columns) => {
259
+ if (columns.length === 1)
260
+ return;
261
+ offsetX = offsetX + column.width;
262
+ const removeColumnButton = createButton({
263
+ width: buttonSize,
264
+ height: buttonSize,
265
+ top: `${-buttonSize}px`,
266
+ left: `${offsetX - (0, common_1.px2mm)(buttonSize)}mm`,
267
+ text: '-',
268
+ onClick: () => {
269
+ const totalWidthMinusRemoved = schema.headWidthPercentages.reduce((sum, width, j) => (j !== i ? sum + width : sum), 0);
270
+ // TODO Should also remove the deleted columnStyles when deleting
271
+ onChange([
272
+ { key: 'head', value: schema.head.filter((_, j) => j !== i) },
273
+ {
274
+ key: 'headWidthPercentages',
275
+ value: schema.headWidthPercentages
276
+ .filter((_, j) => j !== i)
277
+ .map((width) => (width / totalWidthMinusRemoved) * 100),
278
+ },
279
+ {
280
+ key: 'content',
281
+ value: JSON.stringify(bodyWidthRange.map((row) => row.filter((_, j) => j !== i))),
282
+ },
283
+ ]);
284
+ },
285
+ });
264
286
  rootElement.appendChild(removeColumnButton);
265
287
  if (i === table.columns.length - 1)
266
288
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"uiRender.js","sourceRoot":"","sources":["../../../../src/tables/uiRender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uiRender.js","sourceRoot":"","sources":["../../../../src/tables/uiRender.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,22 @@ import { createSingleTable } from './tableHelper.js';
3
3
  import { getBody, getBodyWithRange } from './helper.js';
4
4
  import cell from './cell.js';
5
5
  const buttonSize = 30;
6
+ function createButton(options) {
7
+ const button = document.createElement('button');
8
+ button.style.width = `${options.width}px`;
9
+ button.style.height = `${options.height}px`;
10
+ button.style.position = 'absolute';
11
+ button.style.top = options.top;
12
+ if (options.left !== undefined) {
13
+ button.style.left = options.left;
14
+ }
15
+ if (options.right !== undefined) {
16
+ button.style.right = options.right;
17
+ }
18
+ button.innerText = options.text;
19
+ button.onclick = options.onClick;
20
+ return button;
21
+ }
6
22
  const cellUiRender = cell.ui;
7
23
  const convertToCellStyle = (styles) => ({
8
24
  fontName: styles.fontName,
@@ -170,91 +186,97 @@ export const uiRender = async (arg) => {
170
186
  },
171
187
  offsetY,
172
188
  });
189
+ const createAddRowButton = () => createButton({
190
+ width: buttonSize,
191
+ height: buttonSize,
192
+ top: `${table.getHeight()}mm`,
193
+ left: `calc(50% - ${buttonSize / 2}px)`,
194
+ text: '+',
195
+ onClick: () => {
196
+ const newRow = Array(schema.head.length).fill('');
197
+ onChange && onChange({ key: 'content', value: JSON.stringify(body.concat([newRow])) });
198
+ },
199
+ });
200
+ const createRemoveRowButtons = () => {
201
+ let offsetY = table.settings.showHead ? table.getHeadHeight() : 0;
202
+ return table.body.map((row, i) => {
203
+ offsetY = offsetY + row.height;
204
+ const removeRowButton = createButton({
205
+ width: buttonSize,
206
+ height: buttonSize,
207
+ top: `${offsetY - px2mm(buttonSize)}mm`,
208
+ right: `-${buttonSize}px`,
209
+ text: '-',
210
+ onClick: () => {
211
+ const newTableBody = body.filter((_, j) => j !== i + (schema.__bodyRange?.start ?? 0));
212
+ onChange && onChange({ key: 'content', value: JSON.stringify(newTableBody) });
213
+ },
214
+ });
215
+ return removeRowButton;
216
+ });
217
+ };
173
218
  if (mode === 'form' && onChange && !schema.readOnly) {
174
219
  if (schema.__bodyRange?.end === undefined ||
175
220
  schema.__bodyRange.end >= JSON.parse(value || '[]').length) {
176
- const addRowButton = document.createElement('button');
177
- addRowButton.style.width = `${buttonSize}px`;
178
- addRowButton.style.height = `${buttonSize}px`;
179
- addRowButton.style.position = 'absolute';
180
- addRowButton.style.top = `${table.getHeight()}mm`;
181
- addRowButton.style.left = `calc(50% - ${buttonSize / 2}px)`;
182
- addRowButton.innerText = '+';
183
- addRowButton.onclick = () => {
184
- const newRow = Array(schema.head.length).fill('');
185
- onChange({ key: 'content', value: JSON.stringify(body.concat([newRow])) });
186
- };
187
- rootElement.appendChild(addRowButton);
221
+ rootElement.appendChild(createAddRowButton());
188
222
  }
189
- let offsetY = table.settings.showHead ? table.getHeadHeight() : 0;
190
- table.body.forEach((row, i) => {
191
- offsetY = offsetY + row.height;
192
- const removeRowButton = document.createElement('button');
193
- removeRowButton.style.width = `${buttonSize}px`;
194
- removeRowButton.style.height = `${buttonSize}px`;
195
- removeRowButton.style.position = 'absolute';
196
- removeRowButton.style.top = `${offsetY - px2mm(buttonSize)}mm`;
197
- removeRowButton.style.right = `-${buttonSize}px`;
198
- removeRowButton.innerText = '-';
199
- removeRowButton.onclick = () => {
200
- const newTableBody = body.filter((_, j) => j !== i + (schema.__bodyRange?.start ?? 0));
201
- onChange({ key: 'content', value: JSON.stringify(newTableBody) });
202
- };
203
- rootElement.appendChild(removeRowButton);
204
- });
223
+ createRemoveRowButtons().forEach((button) => rootElement.appendChild(button));
205
224
  }
206
225
  if (mode === 'designer' && onChange) {
207
- const addColumnButton = document.createElement('button');
208
- addColumnButton.style.width = `${buttonSize}px`;
209
- addColumnButton.style.height = `${buttonSize}px`;
210
- addColumnButton.style.position = 'absolute';
211
- addColumnButton.style.top = `${table.getHeadHeight() - px2mm(buttonSize)}mm`;
212
- addColumnButton.style.right = `-${buttonSize}px`;
213
- addColumnButton.innerText = '+';
214
- addColumnButton.onclick = (e) => {
215
- e.preventDefault();
216
- const newColumnWidthPercentage = 25;
217
- const totalCurrentWidth = schema.headWidthPercentages.reduce((acc, width) => acc + width, 0);
218
- const scalingRatio = (100 - newColumnWidthPercentage) / totalCurrentWidth;
219
- const scaledWidths = schema.headWidthPercentages.map((width) => width * scalingRatio);
220
- onChange([
221
- { key: 'head', value: schema.head.concat(`Head ${schema.head.length + 1}`) },
222
- { key: 'headWidthPercentages', value: scaledWidths.concat(newColumnWidthPercentage) },
223
- {
224
- key: 'content',
225
- value: JSON.stringify(bodyWidthRange.map((row, i) => row.concat(`Row ${i + 1}`))),
226
- },
227
- ]);
228
- };
229
- rootElement.appendChild(addColumnButton);
230
- let offsetX = 0;
231
- table.columns.forEach((column, i) => {
232
- offsetX = offsetX + column.width;
233
- const removeColumnButton = document.createElement('button');
234
- removeColumnButton.style.width = `${buttonSize}px`;
235
- removeColumnButton.style.height = `${buttonSize}px`;
236
- removeColumnButton.style.position = 'absolute';
237
- removeColumnButton.style.top = `-${buttonSize}px`;
238
- removeColumnButton.style.left = `${offsetX - px2mm(buttonSize)}mm`;
239
- removeColumnButton.innerText = '-';
240
- removeColumnButton.onclick = (e) => {
226
+ const addColumnButton = createButton({
227
+ width: buttonSize,
228
+ height: buttonSize,
229
+ top: `${table.getHeadHeight() - px2mm(buttonSize)}mm`,
230
+ right: `-${buttonSize}px`,
231
+ text: '+',
232
+ onClick: (e) => {
241
233
  e.preventDefault();
242
- const totalWidthMinusRemoved = schema.headWidthPercentages.reduce((sum, width, j) => (j !== i ? sum + width : sum), 0);
243
- // TODO Should also remove the deleted columnStyles when deleting
234
+ const newColumnWidthPercentage = 25;
235
+ const totalCurrentWidth = schema.headWidthPercentages.reduce((acc, width) => acc + width, 0);
236
+ const scalingRatio = (100 - newColumnWidthPercentage) / totalCurrentWidth;
237
+ const scaledWidths = schema.headWidthPercentages.map((width) => width * scalingRatio);
244
238
  onChange([
245
- { key: 'head', value: schema.head.filter((_, j) => j !== i) },
246
- {
247
- key: 'headWidthPercentages',
248
- value: schema.headWidthPercentages
249
- .filter((_, j) => j !== i)
250
- .map((width) => (width / totalWidthMinusRemoved) * 100),
251
- },
239
+ { key: 'head', value: schema.head.concat(`Head ${schema.head.length + 1}`) },
240
+ { key: 'headWidthPercentages', value: scaledWidths.concat(newColumnWidthPercentage) },
252
241
  {
253
242
  key: 'content',
254
- value: JSON.stringify(bodyWidthRange.map((row) => row.filter((_, j) => j !== i))),
243
+ value: JSON.stringify(bodyWidthRange.map((row, i) => row.concat(`Row ${i + 1}`))),
255
244
  },
256
245
  ]);
257
- };
246
+ },
247
+ });
248
+ rootElement.appendChild(addColumnButton);
249
+ rootElement.appendChild(createAddRowButton());
250
+ createRemoveRowButtons().forEach((button) => rootElement.appendChild(button));
251
+ let offsetX = 0;
252
+ table.columns.forEach((column, i, columns) => {
253
+ if (columns.length === 1)
254
+ return;
255
+ offsetX = offsetX + column.width;
256
+ const removeColumnButton = createButton({
257
+ width: buttonSize,
258
+ height: buttonSize,
259
+ top: `${-buttonSize}px`,
260
+ left: `${offsetX - px2mm(buttonSize)}mm`,
261
+ text: '-',
262
+ onClick: () => {
263
+ const totalWidthMinusRemoved = schema.headWidthPercentages.reduce((sum, width, j) => (j !== i ? sum + width : sum), 0);
264
+ // TODO Should also remove the deleted columnStyles when deleting
265
+ onChange([
266
+ { key: 'head', value: schema.head.filter((_, j) => j !== i) },
267
+ {
268
+ key: 'headWidthPercentages',
269
+ value: schema.headWidthPercentages
270
+ .filter((_, j) => j !== i)
271
+ .map((width) => (width / totalWidthMinusRemoved) * 100),
272
+ },
273
+ {
274
+ key: 'content',
275
+ value: JSON.stringify(bodyWidthRange.map((row) => row.filter((_, j) => j !== i))),
276
+ },
277
+ ]);
278
+ },
279
+ });
258
280
  rootElement.appendChild(removeColumnButton);
259
281
  if (i === table.columns.length - 1)
260
282
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"uiRender.js","sourceRoot":"","sources":["../../../../src/tables/uiRender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uiRender.js","sourceRoot":"","sources":["../../../../src/tables/uiRender.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pdfme/schemas",
3
- "version": "4.5.1",
3
+ "version": "4.5.2-dev.1",
4
4
  "sideEffects": false,
5
5
  "author": "hand-dot",
6
6
  "license": "MIT",
@@ -8,6 +8,31 @@ import { Row } from './classes';
8
8
 
9
9
  const buttonSize = 30;
10
10
 
11
+ function createButton(options: {
12
+ width: number;
13
+ height: number;
14
+ top: string;
15
+ left?: string;
16
+ right?: string;
17
+ text: string;
18
+ onClick: (e: MouseEvent) => void;
19
+ }): HTMLButtonElement {
20
+ const button = document.createElement('button');
21
+ button.style.width = `${options.width}px`;
22
+ button.style.height = `${options.height}px`;
23
+ button.style.position = 'absolute';
24
+ button.style.top = options.top;
25
+ if (options.left !== undefined) {
26
+ button.style.left = options.left;
27
+ }
28
+ if (options.right !== undefined) {
29
+ button.style.right = options.right;
30
+ }
31
+ button.innerText = options.text;
32
+ button.onclick = options.onClick;
33
+ return button;
34
+ }
35
+
11
36
  type RowType = InstanceType<typeof Row>;
12
37
 
13
38
  const cellUiRender = cell.ui;
@@ -214,100 +239,113 @@ export const uiRender = async (arg: UIRenderProps<TableSchema>) => {
214
239
  offsetY,
215
240
  });
216
241
 
242
+ const createAddRowButton = () =>
243
+ createButton({
244
+ width: buttonSize,
245
+ height: buttonSize,
246
+ top: `${table.getHeight()}mm`,
247
+ left: `calc(50% - ${buttonSize / 2}px)`,
248
+ text: '+',
249
+ onClick: () => {
250
+ const newRow = Array(schema.head.length).fill('') as string[];
251
+ onChange && onChange({ key: 'content', value: JSON.stringify(body.concat([newRow])) });
252
+ },
253
+ });
254
+
255
+ const createRemoveRowButtons = () => {
256
+ let offsetY = table.settings.showHead ? table.getHeadHeight() : 0;
257
+ return table.body.map((row, i) => {
258
+ offsetY = offsetY + row.height;
259
+ const removeRowButton = createButton({
260
+ width: buttonSize,
261
+ height: buttonSize,
262
+ top: `${offsetY - px2mm(buttonSize)}mm`,
263
+ right: `-${buttonSize}px`,
264
+ text: '-',
265
+ onClick: () => {
266
+ const newTableBody = body.filter((_, j) => j !== i + (schema.__bodyRange?.start ?? 0));
267
+ onChange && onChange({ key: 'content', value: JSON.stringify(newTableBody) });
268
+ },
269
+ });
270
+ return removeRowButton;
271
+ });
272
+ };
273
+
217
274
  if (mode === 'form' && onChange && !schema.readOnly) {
218
275
  if (
219
276
  schema.__bodyRange?.end === undefined ||
220
277
  schema.__bodyRange.end >= (JSON.parse(value || '[]') as string[][]).length
221
278
  ) {
222
- const addRowButton = document.createElement('button');
223
- addRowButton.style.width = `${buttonSize}px`;
224
- addRowButton.style.height = `${buttonSize}px`;
225
- addRowButton.style.position = 'absolute';
226
- addRowButton.style.top = `${table.getHeight()}mm`;
227
- addRowButton.style.left = `calc(50% - ${buttonSize / 2}px)`;
228
- addRowButton.innerText = '+';
229
- addRowButton.onclick = () => {
230
- const newRow = Array(schema.head.length).fill('') as string[];
231
- onChange({ key: 'content', value: JSON.stringify(body.concat([newRow])) });
232
- };
233
- rootElement.appendChild(addRowButton);
279
+ rootElement.appendChild(createAddRowButton());
234
280
  }
235
281
 
236
- let offsetY = table.settings.showHead ? table.getHeadHeight() : 0;
237
- table.body.forEach((row, i) => {
238
- offsetY = offsetY + row.height;
239
- const removeRowButton = document.createElement('button');
240
- removeRowButton.style.width = `${buttonSize}px`;
241
- removeRowButton.style.height = `${buttonSize}px`;
242
- removeRowButton.style.position = 'absolute';
243
- removeRowButton.style.top = `${offsetY - px2mm(buttonSize)}mm`;
244
- removeRowButton.style.right = `-${buttonSize}px`;
245
- removeRowButton.innerText = '-';
246
- removeRowButton.onclick = () => {
247
- const newTableBody = body.filter((_, j) => j !== i + (schema.__bodyRange?.start ?? 0));
248
- onChange({ key: 'content', value: JSON.stringify(newTableBody) });
249
- };
250
- rootElement.appendChild(removeRowButton);
251
- });
282
+ createRemoveRowButtons().forEach((button) => rootElement.appendChild(button));
252
283
  }
253
284
 
254
285
  if (mode === 'designer' && onChange) {
255
- const addColumnButton = document.createElement('button');
256
- addColumnButton.style.width = `${buttonSize}px`;
257
- addColumnButton.style.height = `${buttonSize}px`;
258
- addColumnButton.style.position = 'absolute';
259
- addColumnButton.style.top = `${table.getHeadHeight() - px2mm(buttonSize)}mm`;
260
- addColumnButton.style.right = `-${buttonSize}px`;
261
- addColumnButton.innerText = '+';
262
- addColumnButton.onclick = (e) => {
263
- e.preventDefault();
264
- const newColumnWidthPercentage = 25;
265
- const totalCurrentWidth = schema.headWidthPercentages.reduce((acc, width) => acc + width, 0);
266
- const scalingRatio = (100 - newColumnWidthPercentage) / totalCurrentWidth;
267
- const scaledWidths = schema.headWidthPercentages.map((width) => width * scalingRatio);
268
- onChange([
269
- { key: 'head', value: schema.head.concat(`Head ${schema.head.length + 1}`) },
270
- { key: 'headWidthPercentages', value: scaledWidths.concat(newColumnWidthPercentage) },
271
- {
272
- key: 'content',
273
- value: JSON.stringify(bodyWidthRange.map((row, i) => row.concat(`Row ${i + 1}`))),
274
- },
275
- ]);
276
- };
277
- rootElement.appendChild(addColumnButton);
278
-
279
- let offsetX = 0;
280
- table.columns.forEach((column, i) => {
281
- offsetX = offsetX + column.width;
282
- const removeColumnButton = document.createElement('button');
283
- removeColumnButton.style.width = `${buttonSize}px`;
284
- removeColumnButton.style.height = `${buttonSize}px`;
285
- removeColumnButton.style.position = 'absolute';
286
- removeColumnButton.style.top = `-${buttonSize}px`;
287
- removeColumnButton.style.left = `${offsetX - px2mm(buttonSize)}mm`;
288
- removeColumnButton.innerText = '-';
289
- removeColumnButton.onclick = (e) => {
286
+ const addColumnButton = createButton({
287
+ width: buttonSize,
288
+ height: buttonSize,
289
+ top: `${table.getHeadHeight() - px2mm(buttonSize)}mm`,
290
+ right: `-${buttonSize}px`,
291
+ text: '+',
292
+ onClick: (e) => {
290
293
  e.preventDefault();
291
- const totalWidthMinusRemoved = schema.headWidthPercentages.reduce(
292
- (sum, width, j) => (j !== i ? sum + width : sum),
294
+ const newColumnWidthPercentage = 25;
295
+ const totalCurrentWidth = schema.headWidthPercentages.reduce(
296
+ (acc, width) => acc + width,
293
297
  0
294
298
  );
295
-
296
- // TODO Should also remove the deleted columnStyles when deleting
299
+ const scalingRatio = (100 - newColumnWidthPercentage) / totalCurrentWidth;
300
+ const scaledWidths = schema.headWidthPercentages.map((width) => width * scalingRatio);
297
301
  onChange([
298
- { key: 'head', value: schema.head.filter((_, j) => j !== i) },
299
- {
300
- key: 'headWidthPercentages',
301
- value: schema.headWidthPercentages
302
- .filter((_, j) => j !== i)
303
- .map((width) => (width / totalWidthMinusRemoved) * 100),
304
- },
302
+ { key: 'head', value: schema.head.concat(`Head ${schema.head.length + 1}`) },
303
+ { key: 'headWidthPercentages', value: scaledWidths.concat(newColumnWidthPercentage) },
305
304
  {
306
305
  key: 'content',
307
- value: JSON.stringify(bodyWidthRange.map((row) => row.filter((_, j) => j !== i))),
306
+ value: JSON.stringify(bodyWidthRange.map((row, i) => row.concat(`Row ${i + 1}`))),
308
307
  },
309
308
  ]);
310
- };
309
+ },
310
+ });
311
+ rootElement.appendChild(addColumnButton);
312
+
313
+ rootElement.appendChild(createAddRowButton());
314
+
315
+ createRemoveRowButtons().forEach((button) => rootElement.appendChild(button));
316
+
317
+ let offsetX = 0;
318
+ table.columns.forEach((column, i, columns) => {
319
+ if (columns.length === 1) return;
320
+ offsetX = offsetX + column.width;
321
+ const removeColumnButton = createButton({
322
+ width: buttonSize,
323
+ height: buttonSize,
324
+ top: `${-buttonSize}px`,
325
+ left: `${offsetX - px2mm(buttonSize)}mm`,
326
+ text: '-',
327
+ onClick: () => {
328
+ const totalWidthMinusRemoved = schema.headWidthPercentages.reduce(
329
+ (sum, width, j) => (j !== i ? sum + width : sum),
330
+ 0
331
+ );
332
+
333
+ // TODO Should also remove the deleted columnStyles when deleting
334
+ onChange([
335
+ { key: 'head', value: schema.head.filter((_, j) => j !== i) },
336
+ {
337
+ key: 'headWidthPercentages',
338
+ value: schema.headWidthPercentages
339
+ .filter((_, j) => j !== i)
340
+ .map((width) => (width / totalWidthMinusRemoved) * 100),
341
+ },
342
+ {
343
+ key: 'content',
344
+ value: JSON.stringify(bodyWidthRange.map((row) => row.filter((_, j) => j !== i))),
345
+ },
346
+ ]);
347
+ },
348
+ });
311
349
  rootElement.appendChild(removeColumnButton);
312
350
 
313
351
  if (i === table.columns.length - 1) return;