{"ast":null,"code":"var _jsxFileName = \"D:\\\\Project\\\\UC_Trains_Voice\\\\react-demo\\\\src\\\\gavt\\\\Wave\\\\Wave.jsx\",\n  _s = $RefreshSig$();\nimport { useState, useEffect } from \"react\";\nimport waveDrawLoop from './lib/waveDrawLoop.js';\nimport WaveCanvas from './WaveCanvas.jsx';\nimport './Wave.css';\nimport { Slider, Button, Col, Row } from \"antd\";\nimport 'antd/dist/reset.css';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst Wave = ({\n  frequency,\n  officialFrequency,\n  setCustomFrequency\n}) => {\n  _s();\n  const [waveIsPaused, setWaveIsPaused] = useState(false);\n  const [targetPos, setTargetPos] = useState(frequency || 1500);\n  useEffect(() => {\n    if (frequency) {\n      setTargetPos(frequency);\n    }\n  }, [frequency]);\n  const handlePauseWave = e => setWaveIsPaused(!waveIsPaused);\n  const handleResetToOfficialTarget = () => {\n    setTargetPos(officialFrequency || 1500);\n  };\n  const handleJumpToCustomTarget = () => {\n    if (frequency !== officialFrequency) {\n      setTargetPos(frequency);\n    }\n  };\n  const handleSetCurrentAsTarget = () => {\n    setCustomFrequency(frequency);\n  };\n  const handleOnChangeSlider = value => {\n    setTargetPos(value);\n  };\n  return /*#__PURE__*/_jsxDEV(\"div\", {\n    className: \"wlMainParent\",\n    children: [/*#__PURE__*/_jsxDEV(Row, {\n      children: [/*#__PURE__*/_jsxDEV(Col, {\n        span: 6,\n        children: /*#__PURE__*/_jsxDEV(Button, {\n          type: \"primary\",\n          onClick: handlePauseWave,\n          children: waveIsPaused ? \"Play\" : \"Pause\"\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 45,\n          columnNumber: 25\n        }, this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 44,\n        columnNumber: 21\n      }, this), /*#__PURE__*/_jsxDEV(Col, {\n        span: 6,\n        children: /*#__PURE__*/_jsxDEV(Button, {\n          onClick: handleResetToOfficialTarget,\n          children: \"Resume Official Target\"\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 53,\n          columnNumber: 25\n        }, this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 52,\n        columnNumber: 21\n      }, this), /*#__PURE__*/_jsxDEV(Col, {\n        span: 6,\n        children: /*#__PURE__*/_jsxDEV(Button, {\n          onClick: handleJumpToCustomTarget,\n          children: \"Jump to Customized Target\"\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 61,\n          columnNumber: 25\n        }, this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 60,\n        columnNumber: 21\n      }, this), /*#__PURE__*/_jsxDEV(Col, {\n        span: 6,\n        children: /*#__PURE__*/_jsxDEV(Button, {\n          onClick: handleSetCurrentAsTarget,\n          children: \"Set Curret Value as Target\"\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 69,\n          columnNumber: 25\n        }, this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 68,\n        columnNumber: 21\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 43,\n      columnNumber: 13\n    }, this), /*#__PURE__*/_jsxDEV(Row, {\n      children: /*#__PURE__*/_jsxDEV(Col, {\n        span: 24,\n        children: /*#__PURE__*/_jsxDEV(\"span\", {\n          className: \"label\",\n          children: [\"Current Frequency Value: \", targetPos]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 78,\n          columnNumber: 21\n        }, this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 77,\n        columnNumber: 17\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 76,\n      columnNumber: 13\n    }, this), /*#__PURE__*/_jsxDEV(Row, {\n      children: /*#__PURE__*/_jsxDEV(Col, {\n        span: 24,\n        children: /*#__PURE__*/_jsxDEV(\"div\", {\n          className: \"canvasandslider\",\n          children: [/*#__PURE__*/_jsxDEV(WaveCanvas, {\n            className: \"waveCanvas\",\n            draw: waveDrawLoop,\n            isPaused: waveIsPaused\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 84,\n            columnNumber: 25\n          }, this), /*#__PURE__*/_jsxDEV(Slider, {\n            className: \"custom-slider\",\n            min: 0,\n            max: 4096,\n            value: targetPos,\n            onChange: handleOnChangeSlider,\n            defaultValue: 1500,\n            style: {\n              margin: 0\n            },\n            tooltip: {\n              open: false\n            }\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 89,\n            columnNumber: 25\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 83,\n          columnNumber: 21\n        }, this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 82,\n        columnNumber: 17\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 81,\n      columnNumber: 13\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 42,\n    columnNumber: 9\n  }, this);\n};\n_s(Wave, \"stB2TRClFxRXGJaSMDfVr0dTSvM=\");\n_c = Wave;\nexport default Wave;\nvar _c;\n$RefreshReg$(_c, \"Wave\");","map":{"version":3,"names":["useState","useEffect","waveDrawLoop","WaveCanvas","Slider","Button","Col","Row","jsxDEV","_jsxDEV","Wave","frequency","officialFrequency","setCustomFrequency","_s","waveIsPaused","setWaveIsPaused","targetPos","setTargetPos","handlePauseWave","e","handleResetToOfficialTarget","handleJumpToCustomTarget","handleSetCurrentAsTarget","handleOnChangeSlider","value","className","children","span","type","onClick","fileName","_jsxFileName","lineNumber","columnNumber","draw","isPaused","min","max","onChange","defaultValue","style","margin","tooltip","open","_c","$RefreshReg$"],"sources":["D:/Project/UC_Trains_Voice/react-demo/src/gavt/Wave/Wave.jsx"],"sourcesContent":["import { useState, useEffect } from \"react\";\r\n\r\nimport waveDrawLoop from './lib/waveDrawLoop.js';\r\nimport WaveCanvas from './WaveCanvas.jsx';\r\nimport './Wave.css';\r\n\r\nimport { Slider, Button, Col, Row } from \"antd\";\r\nimport 'antd/dist/reset.css'; \r\n\r\nconst Wave = ({ frequency, officialFrequency, setCustomFrequency }) => {\r\n\r\n    const [waveIsPaused, setWaveIsPaused] = useState(false);\r\n    const [targetPos, setTargetPos] = useState(frequency || 1500);\r\n\r\n    useEffect(() => {\r\n        if (frequency) {\r\n            setTargetPos(frequency);\r\n        }\r\n    }, [frequency]);\r\n\r\n    const handlePauseWave = (e) => setWaveIsPaused(!waveIsPaused)\r\n\r\n    const handleResetToOfficialTarget = () => {\r\n        setTargetPos(officialFrequency || 1500);\r\n    };\r\n\r\n    const handleJumpToCustomTarget = () => {\r\n        if (frequency !== officialFrequency) {\r\n            setTargetPos(frequency); \r\n        }\r\n    };\r\n\r\n    const handleSetCurrentAsTarget = () => {\r\n        setCustomFrequency(frequency);\r\n      };\r\n    \r\n    const handleOnChangeSlider = (value) => {\r\n    setTargetPos(value) \r\n    }\r\n\r\n    return (\r\n        <div className=\"wlMainParent\">\r\n            <Row>\r\n                    <Col span={6}>\r\n                        <Button\r\n                            type=\"primary\"\r\n                            onClick={ handlePauseWave }\r\n                        >\r\n                            {(waveIsPaused) ? \"Play\" : \"Pause\"}\r\n                        </Button>\r\n                    </Col>\r\n                    <Col span={6}>\r\n                        <Button \r\n                            onClick={ handleResetToOfficialTarget }\r\n                        >\r\n                            Resume Official Target \r\n                        </Button>\r\n                    </Col>\r\n\r\n                    <Col span={6}>\r\n                        <Button \r\n                            onClick={ handleJumpToCustomTarget }\r\n                        >\r\n                            Jump to Customized Target \r\n                        </Button>\r\n                    </Col>\r\n\r\n                    <Col span={6}>\r\n                        <Button \r\n                            onClick={ handleSetCurrentAsTarget }\r\n                        >\r\n                            Set Curret Value as Target\r\n                        </Button>\r\n                    </Col>\r\n            </Row>\r\n            <Row>\r\n                <Col span={24}>\r\n                    <span className=\"label\">Current Frequency Value: {targetPos}</span>\r\n                </Col>\r\n            </Row>\r\n            <Row>\r\n                <Col span={24}>\r\n                    <div className=\"canvasandslider\">\r\n                        <WaveCanvas\r\n                            className=\"waveCanvas\"\r\n                            draw={waveDrawLoop}\r\n                            isPaused={waveIsPaused}\r\n                        />\r\n                        <Slider\r\n                            className=\"custom-slider\"\r\n                            min={0}\r\n                            max={4096}\r\n                            value={targetPos}\r\n                            onChange={handleOnChangeSlider}\r\n                            defaultValue={1500}\r\n                            style={{ margin: 0}}\r\n                            tooltip={{open: false}}\r\n                        />\r\n                    </div>\r\n                </Col>\r\n            </Row>\r\n        </div>\r\n    )\r\n}\r\n\r\nexport default Wave;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}