@apexcura/ui-components 0.0.12-Beta12 → 0.0.12-Beta14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -375,17 +375,66 @@ var AddMoreTable = (props) => {
375
375
  };
376
376
  const onHandleRows = () => {
377
377
  const lastRow = rows[rows.length - 1];
378
- const newId = lastRow ? lastRow.id + 1 : lastRow.id;
379
- const newRow = {
380
- ...lastRow,
381
- id: newId
382
- };
378
+ const newId = lastRow ? lastRow.id + 1 : 1;
379
+ let newRow;
380
+ if (lastRow && lastRow.variable_data && lastRow.variable_data.length > 0) {
381
+ const lastVariable = lastRow.variable_data[lastRow.variable_data.length - 1];
382
+ const newVariableId = lastVariable.id.id + 1;
383
+ newRow = {
384
+ ...lastRow,
385
+ id: newId,
386
+ variable_data: [
387
+ ...lastRow.variable_data,
388
+ {
389
+ id: { id: newVariableId },
390
+ Route: { label: "Route", element: "single-select", type: "text" },
391
+ Dose: { label: "Dose", element: "single-select", type: "text" },
392
+ Frequency: { label: "Frequency", element: "single-select", type: "text" },
393
+ When: { label: "When", element: "textarea", type: "text" },
394
+ Duration: { label: "Duration", element: "textarea", type: "text" },
395
+ Instructions: { label: "Instructions", element: "textarea", type: "text" }
396
+ }
397
+ ]
398
+ };
399
+ } else {
400
+ newRow = {
401
+ ...lastRow,
402
+ id: newId
403
+ };
404
+ }
383
405
  setRows((prevData) => [...prevData, newRow]);
384
406
  };
385
407
  const onHandleDelete = (index) => {
386
408
  const remainingRows = rows.filter((eachRow) => eachRow.id !== index);
387
409
  setRows(remainingRows);
388
410
  };
411
+ const onAddVariableData = (rowIndex) => {
412
+ setRows((prevRows) => {
413
+ return prevRows.map((row, index) => {
414
+ if (index === rowIndex && row.variable_data && row.variable_data.length > 0) {
415
+ const lastVariable = row.variable_data[row.variable_data.length - 1];
416
+ const newVariableId = lastVariable.id.id + 1;
417
+ return {
418
+ ...row,
419
+ variable_data: [
420
+ ...row.variable_data,
421
+ {
422
+ id: { id: newVariableId },
423
+ Route: { label: "Route", element: "single-select", type: "text" },
424
+ Dose: { label: "Dose", element: "single-select", type: "text" },
425
+ Frequency: { label: "Frequency", element: "single-select", type: "text" },
426
+ When: { label: "When", element: "textarea", type: "text" },
427
+ Duration: { label: "Duration", element: "textarea", type: "text" },
428
+ Instructions: { label: "Instructions", element: "textarea", type: "text" }
429
+ }
430
+ ]
431
+ };
432
+ }
433
+ console.log("row", row);
434
+ return row;
435
+ });
436
+ });
437
+ };
389
438
  const columns = thead && thead.length > 0 ? thead.map((eachHeadEl) => ({
390
439
  title: eachHeadEl.label,
391
440
  dataIndex: eachHeadEl.name,
@@ -393,7 +442,6 @@ var AddMoreTable = (props) => {
393
442
  })) : [];
394
443
  const renderInputElement = (element) => {
395
444
  const { element: type, label } = element;
396
- console.log("type....", type);
397
445
  if (type === "single-select") {
398
446
  return /* @__PURE__ */ import_react13.default.createElement(SingleSelectElement, { onChange: (value) => onHandleChange(label, value) });
399
447
  } else if (type === "textarea") {
@@ -407,23 +455,21 @@ var AddMoreTable = (props) => {
407
455
  if (eachRow.element && eachRow.label) {
408
456
  rowElements[eachRow.label] = renderInputElement(eachRow);
409
457
  }
410
- const variableData = eachRow.variable_data && Array.isArray(eachRow.variable_data) ? eachRow.variable_data.reduce((acc, curr) => {
411
- for (let i = 0; i < curr.length; i++) {
412
- Object.keys(curr[i].forEach((key) => {
413
- if (curr[i][key] && curr[i][key].element) {
414
- rowElements[eachRow.label] = renderInputElement(eachRow);
458
+ if (eachRow.variable_data && Array.isArray(eachRow.variable_data)) {
459
+ eachRow.variable_data.forEach((variable) => {
460
+ Object.entries(variable).forEach(([key, value]) => {
461
+ if (value && value.element && value.label) {
462
+ rowElements[value.label] = renderInputElement(value);
415
463
  }
416
- }));
417
- }
418
- return acc;
419
- }, {}) : {};
464
+ });
465
+ });
466
+ }
420
467
  return {
421
468
  key: index.toString(),
422
469
  "#": index + 1,
423
470
  ...eachRow,
424
471
  ...rowElements,
425
- ...variableData,
426
- actions: /* @__PURE__ */ import_react13.default.createElement(import_react13.default.Fragment, null, /* @__PURE__ */ import_react13.default.createElement("button", { onClick: () => onHandleDelete(eachRow.id) }, /* @__PURE__ */ import_react13.default.createElement(import_icons2.DeleteOutlined, null)), index === rows.length - 1 && /* @__PURE__ */ import_react13.default.createElement("button", { onClick: onHandleRows }, /* @__PURE__ */ import_react13.default.createElement(import_icons2.PlusOutlined, null)))
472
+ actions: /* @__PURE__ */ import_react13.default.createElement(import_react13.default.Fragment, null, /* @__PURE__ */ import_react13.default.createElement("button", { onClick: () => onHandleDelete(eachRow.id) }, /* @__PURE__ */ import_react13.default.createElement(import_icons2.DeleteOutlined, null)), /* @__PURE__ */ import_react13.default.createElement("button", { onClick: () => onAddVariableData(index) }, /* @__PURE__ */ import_react13.default.createElement(import_icons2.PlusOutlined, null)), index === rows.length - 1 && /* @__PURE__ */ import_react13.default.createElement("button", { onClick: onHandleRows }, /* @__PURE__ */ import_react13.default.createElement(import_icons2.PlusOutlined, null)))
427
473
  };
428
474
  });
429
475
  if (!columns.some((col) => isColumnType(col) && col.dataIndex === "actions")) {
package/dist/index.mjs CHANGED
@@ -328,17 +328,66 @@ var AddMoreTable = (props) => {
328
328
  };
329
329
  const onHandleRows = () => {
330
330
  const lastRow = rows[rows.length - 1];
331
- const newId = lastRow ? lastRow.id + 1 : lastRow.id;
332
- const newRow = {
333
- ...lastRow,
334
- id: newId
335
- };
331
+ const newId = lastRow ? lastRow.id + 1 : 1;
332
+ let newRow;
333
+ if (lastRow && lastRow.variable_data && lastRow.variable_data.length > 0) {
334
+ const lastVariable = lastRow.variable_data[lastRow.variable_data.length - 1];
335
+ const newVariableId = lastVariable.id.id + 1;
336
+ newRow = {
337
+ ...lastRow,
338
+ id: newId,
339
+ variable_data: [
340
+ ...lastRow.variable_data,
341
+ {
342
+ id: { id: newVariableId },
343
+ Route: { label: "Route", element: "single-select", type: "text" },
344
+ Dose: { label: "Dose", element: "single-select", type: "text" },
345
+ Frequency: { label: "Frequency", element: "single-select", type: "text" },
346
+ When: { label: "When", element: "textarea", type: "text" },
347
+ Duration: { label: "Duration", element: "textarea", type: "text" },
348
+ Instructions: { label: "Instructions", element: "textarea", type: "text" }
349
+ }
350
+ ]
351
+ };
352
+ } else {
353
+ newRow = {
354
+ ...lastRow,
355
+ id: newId
356
+ };
357
+ }
336
358
  setRows((prevData) => [...prevData, newRow]);
337
359
  };
338
360
  const onHandleDelete = (index) => {
339
361
  const remainingRows = rows.filter((eachRow) => eachRow.id !== index);
340
362
  setRows(remainingRows);
341
363
  };
364
+ const onAddVariableData = (rowIndex) => {
365
+ setRows((prevRows) => {
366
+ return prevRows.map((row, index) => {
367
+ if (index === rowIndex && row.variable_data && row.variable_data.length > 0) {
368
+ const lastVariable = row.variable_data[row.variable_data.length - 1];
369
+ const newVariableId = lastVariable.id.id + 1;
370
+ return {
371
+ ...row,
372
+ variable_data: [
373
+ ...row.variable_data,
374
+ {
375
+ id: { id: newVariableId },
376
+ Route: { label: "Route", element: "single-select", type: "text" },
377
+ Dose: { label: "Dose", element: "single-select", type: "text" },
378
+ Frequency: { label: "Frequency", element: "single-select", type: "text" },
379
+ When: { label: "When", element: "textarea", type: "text" },
380
+ Duration: { label: "Duration", element: "textarea", type: "text" },
381
+ Instructions: { label: "Instructions", element: "textarea", type: "text" }
382
+ }
383
+ ]
384
+ };
385
+ }
386
+ console.log("row", row);
387
+ return row;
388
+ });
389
+ });
390
+ };
342
391
  const columns = thead && thead.length > 0 ? thead.map((eachHeadEl) => ({
343
392
  title: eachHeadEl.label,
344
393
  dataIndex: eachHeadEl.name,
@@ -346,7 +395,6 @@ var AddMoreTable = (props) => {
346
395
  })) : [];
347
396
  const renderInputElement = (element) => {
348
397
  const { element: type, label } = element;
349
- console.log("type....", type);
350
398
  if (type === "single-select") {
351
399
  return /* @__PURE__ */ React12.createElement(SingleSelectElement, { onChange: (value) => onHandleChange(label, value) });
352
400
  } else if (type === "textarea") {
@@ -360,23 +408,21 @@ var AddMoreTable = (props) => {
360
408
  if (eachRow.element && eachRow.label) {
361
409
  rowElements[eachRow.label] = renderInputElement(eachRow);
362
410
  }
363
- const variableData = eachRow.variable_data && Array.isArray(eachRow.variable_data) ? eachRow.variable_data.reduce((acc, curr) => {
364
- for (let i = 0; i < curr.length; i++) {
365
- Object.keys(curr[i].forEach((key) => {
366
- if (curr[i][key] && curr[i][key].element) {
367
- rowElements[eachRow.label] = renderInputElement(eachRow);
411
+ if (eachRow.variable_data && Array.isArray(eachRow.variable_data)) {
412
+ eachRow.variable_data.forEach((variable) => {
413
+ Object.entries(variable).forEach(([key, value]) => {
414
+ if (value && value.element && value.label) {
415
+ rowElements[value.label] = renderInputElement(value);
368
416
  }
369
- }));
370
- }
371
- return acc;
372
- }, {}) : {};
417
+ });
418
+ });
419
+ }
373
420
  return {
374
421
  key: index.toString(),
375
422
  "#": index + 1,
376
423
  ...eachRow,
377
424
  ...rowElements,
378
- ...variableData,
379
- actions: /* @__PURE__ */ React12.createElement(React12.Fragment, null, /* @__PURE__ */ React12.createElement("button", { onClick: () => onHandleDelete(eachRow.id) }, /* @__PURE__ */ React12.createElement(DeleteOutlined, null)), index === rows.length - 1 && /* @__PURE__ */ React12.createElement("button", { onClick: onHandleRows }, /* @__PURE__ */ React12.createElement(PlusOutlined, null)))
425
+ actions: /* @__PURE__ */ React12.createElement(React12.Fragment, null, /* @__PURE__ */ React12.createElement("button", { onClick: () => onHandleDelete(eachRow.id) }, /* @__PURE__ */ React12.createElement(DeleteOutlined, null)), /* @__PURE__ */ React12.createElement("button", { onClick: () => onAddVariableData(index) }, /* @__PURE__ */ React12.createElement(PlusOutlined, null)), index === rows.length - 1 && /* @__PURE__ */ React12.createElement("button", { onClick: onHandleRows }, /* @__PURE__ */ React12.createElement(PlusOutlined, null)))
380
426
  };
381
427
  });
382
428
  if (!columns.some((col) => isColumnType(col) && col.dataIndex === "actions")) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apexcura/ui-components",
3
- "version": "0.0.12-Beta12",
3
+ "version": "0.0.12-Beta14",
4
4
  "description": "Apex cura React components library",
5
5
  "keywords": [
6
6
  "apex cura",