{"ast":null,"code":"var _jsxFileName = \"D:\\\\Project\\\\UC_Trains_Voice\\\\react-demo\\\\src\\\\gavt\\\\table\\\\CaliTable.jsx\",\n  _s = $RefreshSig$(),\n  _s2 = $RefreshSig$(),\n  _s3 = $RefreshSig$();\nimport React, { useState, useContext, useEffect, useRef } from 'react';\nimport { useFreq } from \"../FreqContext\";\nimport { Table, Input, Form } from 'antd';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst EditableContext = /*#__PURE__*/React.createContext(null);\n\n// From antd documentation: https://ant.design/components/table/\nconst EditableRow = ({\n  index,\n  ...props\n}) => {\n  _s();\n  const [form] = Form.useForm();\n  return /*#__PURE__*/_jsxDEV(Form, {\n    form: form,\n    component: false,\n    children: /*#__PURE__*/_jsxDEV(EditableContext.Provider, {\n      value: form,\n      children: /*#__PURE__*/_jsxDEV(\"tr\", {\n        ...props\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 13,\n        columnNumber: 9\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 12,\n      columnNumber: 7\n    }, this)\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 11,\n    columnNumber: 5\n  }, this);\n};\n_s(EditableRow, \"rI7DrJIrFu7YmlGWYiMFTzs8jF0=\", false, function () {\n  return [Form.useForm];\n});\n_c = EditableRow;\nconst EditableCell = ({\n  title,\n  editable,\n  children,\n  dataIndex,\n  record,\n  handleSave,\n  inputType = 'number',\n  index,\n  ...restProps\n}) => {\n  _s2();\n  const [editing, setEditing] = useState(false);\n  const inputRef = useRef(null);\n  const form = useContext(EditableContext);\n  useEffect(() => {\n    if (editing) {\n      var _inputRef$current;\n      (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();\n    }\n  }, [editing]);\n  const toggleEdit = () => {\n    setEditing(!editing);\n    form.setFieldsValue({\n      [dataIndex]: record[dataIndex]\n    });\n  };\n  const save = async () => {\n    try {\n      const values = await form.validateFields();\n      toggleEdit();\n      handleSave({\n        ...record,\n        ...values\n      });\n    } catch (errInfo) {\n      console.log('Save failed:', errInfo);\n    }\n  };\n  let childNode = children;\n  if (editable) {\n    childNode = editing ? /*#__PURE__*/_jsxDEV(Form.Item, {\n      style: {\n        margin: 0\n      },\n      name: dataIndex,\n      rules: [{\n        required: false,\n        message: `${title} is required.`\n      }, {\n        type: 'number',\n        min: 0,\n        max: 4096,\n        transform: value => Number(value),\n        message: 'The value must be an integer between 0 and 4096.'\n      }],\n      children: /*#__PURE__*/_jsxDEV(Input, {\n        ref: inputRef,\n        onPressEnter: save,\n        onBlur: save,\n        type: inputType\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 81,\n        columnNumber: 9\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 64,\n      columnNumber: 7\n    }, this) : /*#__PURE__*/_jsxDEV(\"div\", {\n      className: \"editable-cell-value-wrap\",\n      style: {\n        paddingRight: 24,\n        minHeight: '32px',\n        display: 'flex',\n        alignItems: 'center'\n      },\n      onClick: toggleEdit,\n      children: children\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 84,\n      columnNumber: 7\n    }, this);\n  }\n  return /*#__PURE__*/_jsxDEV(\"td\", {\n    ...restProps,\n    children: childNode\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 98,\n    columnNumber: 10\n  }, this);\n};\n_s2(EditableCell, \"IMw7TsWhFd8T/FybyizRtPpww8A=\");\n_c2 = EditableCell;\nconst CaliTable = () => {\n  _s3();\n  const {\n    freqData,\n    updateFreqData\n  } = useFreq();\n  const [data, setData] = useState([]);\n  const [form] = Form.useForm();\n\n  // Initialize data from localStorage\n  useEffect(() => {\n    const fetchData = () => {\n      const processedData = Object.keys(freqData.caliBaseline).map(key => {\n        const measuredValue = freqData.caliBaseline[key];\n        return {\n          key,\n          vowel: key,\n          measuredValue,\n          moderatelyDarker: Math.round(measuredValue * 0.92),\n          slightlyDarker: Math.round(measuredValue * 0.98),\n          slightlyBrighter: Math.round(measuredValue * 1.02),\n          moderatelyBrighter: Math.round(measuredValue * 1.08),\n          customFrequency: freqData.customFrequencies[key] || ''\n        };\n      });\n      setData(processedData);\n    };\n    fetchData();\n  }, [freqData.caliBaseline, freqData.customFrequencies]);\n  const columns = [{\n    title: 'Vowel',\n    dataIndex: 'vowel',\n    key: 'vowel',\n    editable: false\n  }, {\n    title: 'Calibrated Baseline (Hz)',\n    dataIndex: 'measuredValue',\n    key: 'measuredValue',\n    editable: true\n  }, {\n    title: 'Moderately Darker (Hz)',\n    dataIndex: 'moderatelyDarker',\n    key: 'moderatelyDarker',\n    editable: false\n  }, {\n    title: 'Slightly Darker (Hz)',\n    dataIndex: 'slightlyDarker',\n    key: 'slightlyDarker',\n    editable: false\n  }, {\n    title: 'Slightly Brighter (Hz)',\n    dataIndex: 'slightlyBrighter',\n    key: 'slightlyBrighter',\n    editable: false\n  }, {\n    title: 'Moderately Brighter (Hz)',\n    dataIndex: 'moderatelyBrighter',\n    key: 'moderatelyBrighter',\n    editable: false\n  }, {\n    title: 'Custom Frequency (Hz)',\n    dataIndex: 'customFrequency',\n    key: 'customFrequency',\n    editable: true\n  }].map(col => {\n    if (!col.editable) {\n      return col;\n    }\n    return {\n      ...col,\n      onCell: record => ({\n        record,\n        editable: col.editable,\n        dataIndex: col.dataIndex,\n        title: col.title,\n        handleSave\n      })\n    };\n  });\n  const handleSave = row => {\n    const newData = [...data];\n    const index = newData.findIndex(item => row.key === item.key);\n    const item = newData[index];\n    newData[index] = {\n      ...item,\n      ...row\n    };\n    newData.splice(index, 1, {\n      ...item,\n      ...row\n    });\n    setData(newData);\n    setData(data => data.map(item => ({\n      ...item,\n      moderatelyDarker: item.measuredValue ? Math.round(item.measuredValue * 0.92) : null,\n      slightlyDarker: item.measuredValue ? Math.round(item.measuredValue * 0.98) : null,\n      slightlyBrighter: item.measuredValue ? Math.round(item.measuredValue * 1.02) : null,\n      moderatelyBrighter: item.measuredValue ? Math.round(item.measuredValue * 1.08) : null\n    })));\n    updateFreqData('caliBaseline', {\n      ...freqData.caliBaseline,\n      [row.key]: row.measuredValue\n    });\n    updateFreqData('customFrequencies', {\n      ...freqData.customFrequencies,\n      [row.key]: row.customFrequency\n    });\n  };\n  const components = {\n    body: {\n      row: EditableRow,\n      cell: EditableCell\n    }\n  };\n  return /*#__PURE__*/_jsxDEV(Form, {\n    form: form,\n    component: false,\n    children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n      children: \"Resonance Frequency Analysis - F2\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 225,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n      children: \"The calibrated Baseline and Custom Value are editable. You can click the cell to edit. Effective range: 0 - 4096 Hz, integer only.\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 226,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Table, {\n      components: components,\n      rowClassName: \"editable-row\",\n      bordered: true,\n      dataSource: data,\n      columns: columns,\n      pagination: false\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 230,\n      columnNumber: 7\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 224,\n    columnNumber: 5\n  }, this);\n};\n_s3(CaliTable, \"nBe5laCPb1HlkqakvmO9dvVlSVk=\", false, function () {\n  return [useFreq, Form.useForm];\n});\n_c3 = CaliTable;\nexport default CaliTable;\nvar _c, _c2, _c3;\n$RefreshReg$(_c, \"EditableRow\");\n$RefreshReg$(_c2, \"EditableCell\");\n$RefreshReg$(_c3, \"CaliTable\");","map":{"version":3,"names":["React","useState","useContext","useEffect","useRef","useFreq","Table","Input","Form","jsxDEV","_jsxDEV","EditableContext","createContext","EditableRow","index","props","_s","form","useForm","component","children","Provider","value","fileName","_jsxFileName","lineNumber","columnNumber","_c","EditableCell","title","editable","dataIndex","record","handleSave","inputType","restProps","_s2","editing","setEditing","inputRef","_inputRef$current","current","focus","toggleEdit","setFieldsValue","save","values","validateFields","errInfo","console","log","childNode","Item","style","margin","name","rules","required","message","type","min","max","transform","Number","ref","onPressEnter","onBlur","className","paddingRight","minHeight","display","alignItems","onClick","_c2","CaliTable","_s3","freqData","updateFreqData","data","setData","fetchData","processedData","Object","keys","caliBaseline","map","key","measuredValue","vowel","moderatelyDarker","Math","round","slightlyDarker","slightlyBrighter","moderatelyBrighter","customFrequency","customFrequencies","columns","col","onCell","row","newData","findIndex","item","splice","components","body","cell","rowClassName","bordered","dataSource","pagination","_c3","$RefreshReg$"],"sources":["D:/Project/UC_Trains_Voice/react-demo/src/gavt/table/CaliTable.jsx"],"sourcesContent":["import React, { useState, useContext, useEffect, useRef } from 'react';\r\nimport { useFreq } from \"../FreqContext\";\r\n\r\nimport { Table, Input, Form } from 'antd';\r\nconst EditableContext = React.createContext(null);\r\n\r\n// From antd documentation: https://ant.design/components/table/\r\nconst EditableRow = ({ index, ...props }) => {\r\n  const [form] = Form.useForm();\r\n  return (\r\n    <Form form={form} component={false}>\r\n      <EditableContext.Provider value={form}>\r\n        <tr {...props} />\r\n      </EditableContext.Provider>\r\n    </Form>\r\n  );\r\n};\r\n\r\nconst EditableCell = ({\r\n  title,\r\n  editable,\r\n  children,\r\n  dataIndex,\r\n  record,\r\n  handleSave,\r\n  inputType = 'number',\r\n  index,\r\n  ...restProps\r\n}) => {\r\n  const [editing, setEditing] = useState(false);\r\n  const inputRef = useRef(null);\r\n  const form = useContext(EditableContext);\r\n\r\n  useEffect(() => {\r\n    if (editing) {\r\n      inputRef.current?.focus();\r\n    }\r\n  }, [editing]);\r\n\r\n  const toggleEdit = () => {\r\n    setEditing(!editing);\r\n    form.setFieldsValue({\r\n      [dataIndex]: record[dataIndex],\r\n    });\r\n  };\r\n\r\n  const save = async () => {\r\n    try {\r\n      const values = await form.validateFields();\r\n      toggleEdit();\r\n      handleSave({\r\n        ...record,\r\n        ...values,\r\n      });\r\n    } catch (errInfo) {\r\n      console.log('Save failed:', errInfo);\r\n    }\r\n  };\r\n\r\n  let childNode = children;\r\n\r\n  if (editable) {\r\n    childNode = editing ? (\r\n      <Form.Item\r\n        style={{ margin: 0 }}\r\n        name={dataIndex}\r\n        rules={[\r\n          {\r\n            required: false,\r\n            message: `${title} is required.`,\r\n          },\r\n          {\r\n            type: 'number',\r\n            min: 0,\r\n            max: 4096,\r\n            transform: value => Number(value),\r\n            message: 'The value must be an integer between 0 and 4096.'\r\n          }          \r\n        ]}\r\n      >\r\n        <Input ref={inputRef} onPressEnter={save} onBlur={save} type={inputType}/>\r\n      </Form.Item>\r\n    ) : (\r\n      <div\r\n        className=\"editable-cell-value-wrap\"\r\n        style={{\r\n          paddingRight: 24,\r\n          minHeight: '32px',\r\n          display: 'flex',\r\n          alignItems: 'center'\r\n        }}\r\n        onClick={toggleEdit}\r\n      >\r\n        {children}\r\n      </div>\r\n    );\r\n  }  \r\n  return <td {...restProps}>{childNode}</td>;\r\n};\r\n\r\nconst CaliTable = () => {\r\n  const { freqData, updateFreqData } = useFreq();\r\n  const [data, setData] = useState([]);\r\n  const [form] = Form.useForm();\r\n\r\n  // Initialize data from localStorage\r\n  useEffect(() => {\r\n    const fetchData = () => {\r\n      const processedData = Object.keys(freqData.caliBaseline).map(key => {\r\n        const measuredValue = freqData.caliBaseline[key];\r\n        return {\r\n          key,\r\n          vowel: key,\r\n          measuredValue,\r\n          moderatelyDarker: Math.round((measuredValue * 0.92)),\r\n          slightlyDarker: Math.round((measuredValue * 0.98)),\r\n          slightlyBrighter: Math.round((measuredValue * 1.02)),\r\n          moderatelyBrighter: Math.round((measuredValue * 1.08)),\r\n          customFrequency: freqData.customFrequencies[key] || ''\r\n        };\r\n      });\r\n      setData(processedData);\r\n    };\r\n    fetchData();\r\n  }, [freqData.caliBaseline, freqData.customFrequencies]);\r\n\r\n  const columns = [\r\n    {\r\n      title: 'Vowel',\r\n      dataIndex: 'vowel',\r\n      key: 'vowel',\r\n      editable: false\r\n    },\r\n    {\r\n      title: 'Calibrated Baseline (Hz)',\r\n      dataIndex: 'measuredValue',\r\n      key: 'measuredValue',\r\n      editable: true\r\n    },\r\n    {\r\n      title: 'Moderately Darker (Hz)',\r\n      dataIndex: 'moderatelyDarker',\r\n      key: 'moderatelyDarker',\r\n      editable: false\r\n    },\r\n    {\r\n      title: 'Slightly Darker (Hz)',\r\n      dataIndex: 'slightlyDarker',\r\n      key: 'slightlyDarker',\r\n      editable: false\r\n    },\r\n    {\r\n      title: 'Slightly Brighter (Hz)',\r\n      dataIndex: 'slightlyBrighter',\r\n      key: 'slightlyBrighter',\r\n      editable: false\r\n    },\r\n    {\r\n      title: 'Moderately Brighter (Hz)',\r\n      dataIndex: 'moderatelyBrighter',\r\n      key: 'moderatelyBrighter',\r\n      editable: false\r\n    },\r\n    {\r\n      title: 'Custom Frequency (Hz)',\r\n      dataIndex: 'customFrequency',\r\n      key: 'customFrequency',\r\n      editable: true\r\n    }\r\n  ].map(col => {\r\n    if (!col.editable) {\r\n      return col;\r\n    }\r\n    return {\r\n      ...col,\r\n      onCell: (record) => ({\r\n        record,\r\n        editable: col.editable,\r\n        dataIndex: col.dataIndex,\r\n        title: col.title,\r\n        handleSave,\r\n      }),\r\n    };\r\n  });\r\n\r\n  const handleSave = (row) => {\r\n    const newData = [...data];\r\n    const index = newData.findIndex((item) => row.key === item.key);\r\n    const item = newData[index];\r\n\r\n    newData[index] = {\r\n      ...item,\r\n      ...row,\r\n    };\r\n\r\n    newData.splice(index, 1, {\r\n      ...item,\r\n      ...row,\r\n    });\r\n\r\n    setData(newData);\r\n\r\n    setData(data => data.map(item => ({\r\n      ...item,\r\n      moderatelyDarker: item.measuredValue ? Math.round(item.measuredValue * 0.92) : null,\r\n      slightlyDarker: item.measuredValue ? Math.round(item.measuredValue * 0.98) : null,\r\n      slightlyBrighter: item.measuredValue ? Math.round(item.measuredValue * 1.02) : null,\r\n      moderatelyBrighter: item.measuredValue ? Math.round(item.measuredValue * 1.08) : null,\r\n    })));\r\n\r\n    updateFreqData('caliBaseline', { ...freqData.caliBaseline, [row.key]: row.measuredValue });\r\n    updateFreqData('customFrequencies', { ...freqData.customFrequencies, [row.key]: row.customFrequency });\r\n\r\n  };\r\n\r\n  const components = {\r\n    body: {\r\n      row: EditableRow,\r\n      cell: EditableCell,\r\n    },\r\n  };\r\n\r\n  return (\r\n    <Form form={form} component={false}>\r\n      <h2>Resonance Frequency Analysis - F2</h2>\r\n      <p>  \r\n        The calibrated Baseline and Custom Value are editable. You can click the cell to edit.\r\n        Effective range: 0 - 4096 Hz, integer only.\r\n      </p>\r\n      <Table\r\n        components={components}\r\n        rowClassName=\"editable-row\"\r\n        bordered\r\n        dataSource={data}\r\n        columns={columns}\r\n        pagination={false}\r\n      />\r\n    </Form>\r\n  );\r\n};\r\n\r\nexport default CaliTable;\r\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}