{"ast":null,"code":"var _jsxFileName = \"D:\\\\Project\\\\UC_Trains_Voice\\\\react-demo\\\\src\\\\gavt\\\\CaliTable.jsx\",\n  _s = $RefreshSig$();\nimport React, { useState, useEffect } from 'react';\nimport { Table, Input, Form } from 'antd';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst EditableCell = ({\n  editing,\n  dataIndex,\n  title,\n  inputType = 'number',\n  record,\n  index,\n  children,\n  ...restProps\n}) => {\n  const inputNode = inputType === 'number' ? /*#__PURE__*/_jsxDEV(Input, {\n    type: \"number\",\n    min: 0,\n    max: 4096\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 14,\n    columnNumber: 46\n  }, this) : /*#__PURE__*/_jsxDEV(Input, {}, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 14,\n    columnNumber: 91\n  }, this);\n  return /*#__PURE__*/_jsxDEV(\"td\", {\n    ...restProps,\n    children: editing ? /*#__PURE__*/_jsxDEV(Form.Item, {\n      name: dataIndex,\n      style: {\n        margin: 0\n      },\n      rules: [{\n        required: true,\n        message: `Please Input ${title}!`\n      }, {\n        type: 'number',\n        min: 0,\n        max: 4096,\n        message: 'Value must be between 0 and 4096'\n      }],\n      children: inputNode\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 18,\n      columnNumber: 9\n    }, this) : children\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 16,\n    columnNumber: 5\n  }, this);\n};\n_c = EditableCell;\nconst CaliTable = () => {\n  _s();\n  const [data, setData] = useState([]);\n  const [form] = Form.useForm();\n  const [editingKey, setEditingKey] = useState('');\n  useEffect(() => {\n    const fetchData = () => {\n      const caliBaselineRaw = localStorage.getItem('caliBaseline');\n      const customFrequenciesRaw = localStorage.getItem('customFrequencies');\n      if (!caliBaselineRaw) return;\n      const caliBaseline = JSON.parse(caliBaselineRaw);\n      const customFrequencies = customFrequenciesRaw ? JSON.parse(customFrequenciesRaw) : {};\n      const processedData = Object.keys(caliBaseline).map(key => {\n        const measuredValue = caliBaseline[key];\n        return {\n          key,\n          vowel: key,\n          measuredValue,\n          moderatelyDarker: (measuredValue * 0.92).toFixed(2),\n          slightlyDarker: (measuredValue * 0.98).toFixed(2),\n          slightlyBrighter: (measuredValue * 1.02).toFixed(2),\n          moderatelyBrighter: (measuredValue * 1.08).toFixed(2),\n          customFrequency: customFrequencies[key] || ' '\n        };\n      });\n      setData(processedData);\n    };\n    fetchData();\n  }, []);\n  const columns = [{\n    title: 'Vowel',\n    dataIndex: 'vowel',\n    key: 'vowel',\n    editable: false\n  }, {\n    title: 'Calibrated Baseline',\n    dataIndex: 'measuredValue',\n    key: 'measuredValue',\n    editable: true\n  }, {\n    title: 'Moderately Darker',\n    dataIndex: 'moderatelyDarker',\n    key: 'moderatelyDarker',\n    editable: false\n  }, {\n    title: 'Slightly Darker',\n    dataIndex: 'slightlyDarker',\n    key: 'slightlyDarker',\n    editable: false\n  }, {\n    title: 'Slightly Brighter',\n    dataIndex: 'slightlyBrighter',\n    key: 'slightlyBrighter',\n    editable: false\n  }, {\n    title: 'Moderately Brighter',\n    dataIndex: 'moderatelyBrighter',\n    key: 'moderatelyBrighter',\n    editable: false\n  }, {\n    title: 'Custom Frequency',\n    dataIndex: 'customFrequency',\n    key: 'customFrequency',\n    editable: true\n  }];\n  const isEditing = record => record.key === editingKey;\n  const edit = record => {\n    form.setFieldsValue({\n      ...record\n    });\n    setEditingKey(record.key);\n  };\n  const save = async key => {\n    try {\n      const row = await form.validateFields();\n      const newData = [...data];\n      const index = newData.findIndex(item => key === item.key);\n      if (index > -1) {\n        const item = newData[index];\n        newData.splice(index, 1, {\n          ...item,\n          ...row\n        });\n        setData(newData);\n        setEditingKey('');\n      } else {\n        newData.push(row);\n        setData(newData);\n        setEditingKey('');\n      }\n    } catch (errInfo) {\n      console.log('Validate Failed:', errInfo);\n    }\n  };\n  return /*#__PURE__*/_jsxDEV(\"div\", {\n    children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n      children: \"Resonance Frequency Analysis - F2\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 152,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Table, {\n      columns: columns,\n      dataSource: data,\n      pagination: false\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 153,\n      columnNumber: 7\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 151,\n    columnNumber: 5\n  }, this);\n};\n_s(CaliTable, \"vYzDYk4GuukEcBqxju+Gzxc5Obw=\", false, function () {\n  return [Form.useForm];\n});\n_c2 = CaliTable;\nexport default CaliTable;\nvar _c, _c2;\n$RefreshReg$(_c, \"EditableCell\");\n$RefreshReg$(_c2, \"CaliTable\");","map":{"version":3,"names":["React","useState","useEffect","Table","Input","Form","jsxDEV","_jsxDEV","EditableCell","editing","dataIndex","title","inputType","record","index","children","restProps","inputNode","type","min","max","fileName","_jsxFileName","lineNumber","columnNumber","Item","name","style","margin","rules","required","message","_c","CaliTable","_s","data","setData","form","useForm","editingKey","setEditingKey","fetchData","caliBaselineRaw","localStorage","getItem","customFrequenciesRaw","caliBaseline","JSON","parse","customFrequencies","processedData","Object","keys","map","key","measuredValue","vowel","moderatelyDarker","toFixed","slightlyDarker","slightlyBrighter","moderatelyBrighter","customFrequency","columns","editable","isEditing","edit","setFieldsValue","save","row","validateFields","newData","findIndex","item","splice","push","errInfo","console","log","dataSource","pagination","_c2","$RefreshReg$"],"sources":["D:/Project/UC_Trains_Voice/react-demo/src/gavt/CaliTable.jsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { Table, Input, Form } from 'antd';\r\n\r\nconst EditableCell = ({\r\n  editing,\r\n  dataIndex,\r\n  title,\r\n  inputType = 'number',\r\n  record,\r\n  index,\r\n  children,\r\n  ...restProps\r\n}) => {\r\n  const inputNode = inputType === 'number' ? <Input type=\"number\" min={0} max={4096} /> : <Input />;\r\n  return (\r\n    <td {...restProps}>\r\n      {editing ? (\r\n        <Form.Item\r\n          name={dataIndex}\r\n          style={{ margin: 0 }}\r\n          rules={[\r\n            {\r\n              required: true,\r\n              message: `Please Input ${title}!`,\r\n            },\r\n            {\r\n              type: 'number',\r\n              min: 0,\r\n              max: 4096,\r\n              message: 'Value must be between 0 and 4096',\r\n            }\r\n          ]}\r\n        >\r\n          {inputNode}\r\n        </Form.Item>\r\n      ) : (\r\n        children\r\n      )}\r\n    </td>\r\n  );\r\n};\r\n\r\nconst CaliTable = () => {\r\n  const [data, setData] = useState([]);\r\n  const [form] = Form.useForm();\r\n  const [editingKey, setEditingKey] = useState('');\r\n\r\n  useEffect(() => {\r\n    const fetchData = () => {\r\n      const caliBaselineRaw = localStorage.getItem('caliBaseline');\r\n      const customFrequenciesRaw = localStorage.getItem('customFrequencies');\r\n\r\n      if (!caliBaselineRaw) return;\r\n\r\n      const caliBaseline = JSON.parse(caliBaselineRaw);\r\n      const customFrequencies = customFrequenciesRaw ? JSON.parse(customFrequenciesRaw) : {};\r\n\r\n      const processedData = Object.keys(caliBaseline).map(key => {\r\n        const measuredValue = caliBaseline[key];\r\n        return {\r\n          key,\r\n          vowel: key,\r\n          measuredValue,\r\n          moderatelyDarker: (measuredValue * 0.92).toFixed(2),\r\n          slightlyDarker: (measuredValue * 0.98).toFixed(2),\r\n          slightlyBrighter: (measuredValue * 1.02).toFixed(2),\r\n          moderatelyBrighter: (measuredValue * 1.08).toFixed(2),\r\n          customFrequency: customFrequencies[key] || ' '\r\n        };\r\n      });\r\n\r\n      setData(processedData);\r\n    };\r\n\r\n    fetchData();\r\n  }, []);\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',\r\n      dataIndex: 'measuredValue',\r\n      key: 'measuredValue',\r\n      editable: true\r\n    },\r\n    {\r\n      title: 'Moderately Darker',\r\n      dataIndex: 'moderatelyDarker',\r\n      key: 'moderatelyDarker',\r\n      editable: false\r\n    },\r\n    {\r\n      title: 'Slightly Darker',\r\n      dataIndex: 'slightlyDarker',\r\n      key: 'slightlyDarker',\r\n      editable: false\r\n    },\r\n    {\r\n      title: 'Slightly Brighter',\r\n      dataIndex: 'slightlyBrighter',\r\n      key: 'slightlyBrighter',\r\n      editable: false\r\n    },\r\n    {\r\n      title: 'Moderately Brighter',\r\n      dataIndex: 'moderatelyBrighter',\r\n      key: 'moderatelyBrighter',\r\n      editable: false\r\n    },\r\n    {\r\n      title: 'Custom Frequency',\r\n      dataIndex: 'customFrequency',\r\n      key: 'customFrequency',\r\n      editable: true\r\n    }\r\n  ];\r\n\r\n  const isEditing = (record) => record.key === editingKey;\r\n\r\n  const edit = (record) => {\r\n    form.setFieldsValue({ ...record });\r\n    setEditingKey(record.key);\r\n  };\r\n\r\n  const save = async (key) => {\r\n    try {\r\n      const row = await form.validateFields();\r\n      const newData = [...data];\r\n      const index = newData.findIndex((item) => key === item.key);\r\n      if (index > -1) {\r\n        const item = newData[index];\r\n        newData.splice(index, 1, { ...item, ...row });\r\n        setData(newData);\r\n        setEditingKey('');\r\n      } else {\r\n        newData.push(row);\r\n        setData(newData);\r\n        setEditingKey('');\r\n      }\r\n    } catch (errInfo) {\r\n      console.log('Validate Failed:', errInfo);\r\n    }\r\n  };\r\n\r\n  return (\r\n    <div>\r\n      <h2>Resonance Frequency Analysis - F2</h2>\r\n      <Table columns={columns} dataSource={data} pagination={false} />\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default CaliTable;\r\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}