@iobroker/adapter-react-v5 4.0.13 → 4.0.14

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.
Files changed (139) hide show
  1. package/AdminConnection.js.map +1 -1
  2. package/Components/404.js.map +1 -1
  3. package/Components/ColorPicker.d.ts +1 -0
  4. package/Components/ColorPicker.js +12 -9
  5. package/Components/ColorPicker.js.map +1 -1
  6. package/Components/ComplexCron.js +24 -22
  7. package/Components/ComplexCron.js.map +1 -1
  8. package/Components/CustomModal.js.map +1 -1
  9. package/Components/FileBrowser.js.map +1 -1
  10. package/Components/FileViewer.js.map +1 -1
  11. package/Components/Icon.js.map +1 -1
  12. package/Components/IconPicker.js.map +1 -1
  13. package/Components/IconSelector.js.map +1 -1
  14. package/Components/Image.js.map +1 -1
  15. package/Components/JsonConfigComponent/ChipInput.js +8 -10
  16. package/Components/JsonConfigComponent/ChipInput.js.map +1 -1
  17. package/Components/JsonConfigComponent/ConfigAlive.js.map +1 -1
  18. package/Components/JsonConfigComponent/ConfigAutocomplete.js.map +1 -1
  19. package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js.map +1 -1
  20. package/Components/JsonConfigComponent/ConfigCRON.js.map +1 -1
  21. package/Components/JsonConfigComponent/ConfigCertificateSelect.js.map +1 -1
  22. package/Components/JsonConfigComponent/ConfigCheckLicense.js.map +1 -1
  23. package/Components/JsonConfigComponent/ConfigCheckbox.js.map +1 -1
  24. package/Components/JsonConfigComponent/ConfigChip.js.map +1 -1
  25. package/Components/JsonConfigComponent/ConfigColor.js.map +1 -1
  26. package/Components/JsonConfigComponent/ConfigCoordinates.js.map +1 -1
  27. package/Components/JsonConfigComponent/ConfigCustom.js.map +1 -1
  28. package/Components/JsonConfigComponent/ConfigDatePicker.js.map +1 -1
  29. package/Components/JsonConfigComponent/ConfigFile.js.map +1 -1
  30. package/Components/JsonConfigComponent/ConfigFileSelector.js.map +1 -1
  31. package/Components/JsonConfigComponent/ConfigFunc.js.map +1 -1
  32. package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
  33. package/Components/JsonConfigComponent/ConfigIP.js.map +1 -1
  34. package/Components/JsonConfigComponent/ConfigImageUpload.js.map +1 -1
  35. package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -1
  36. package/Components/JsonConfigComponent/ConfigJsonEditor.js.map +1 -1
  37. package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -1
  38. package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -1
  39. package/Components/JsonConfigComponent/ConfigObjectId.js.map +1 -1
  40. package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -1
  41. package/Components/JsonConfigComponent/ConfigPassword.js.map +1 -1
  42. package/Components/JsonConfigComponent/ConfigPattern.js.map +1 -1
  43. package/Components/JsonConfigComponent/ConfigRoom.js.map +1 -1
  44. package/Components/JsonConfigComponent/ConfigSelect.js.map +1 -1
  45. package/Components/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -1
  46. package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -1
  47. package/Components/JsonConfigComponent/ConfigSetState.js.map +1 -1
  48. package/Components/JsonConfigComponent/ConfigSlider.js.map +1 -1
  49. package/Components/JsonConfigComponent/ConfigStaticDivider.js.map +1 -1
  50. package/Components/JsonConfigComponent/ConfigStaticHeader.js.map +1 -1
  51. package/Components/JsonConfigComponent/ConfigStaticImage.js.map +1 -1
  52. package/Components/JsonConfigComponent/ConfigStaticText.js.map +1 -1
  53. package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
  54. package/Components/JsonConfigComponent/ConfigTabs.js.map +1 -1
  55. package/Components/JsonConfigComponent/ConfigText.js.map +1 -1
  56. package/Components/JsonConfigComponent/ConfigTextSendTo.js.map +1 -1
  57. package/Components/JsonConfigComponent/ConfigTimePicker.js.map +1 -1
  58. package/Components/JsonConfigComponent/ConfigTopic.js.map +1 -1
  59. package/Components/JsonConfigComponent/ConfigUUID.js.map +1 -1
  60. package/Components/JsonConfigComponent/ConfigUser.js.map +1 -1
  61. package/Components/JsonConfigComponent/index.js.map +1 -1
  62. package/Components/JsonConfigComponent/wrapper/Components/ColorPicker.js.map +1 -1
  63. package/Components/JsonConfigComponent/wrapper/Components/Icon.js.map +1 -1
  64. package/Components/JsonConfigComponent/wrapper/Components/TextWithIcon.js.map +1 -1
  65. package/Components/JsonConfigComponent/wrapper/Components/UploadImage.js.map +1 -1
  66. package/Components/JsonConfigComponent/wrapper/Components/Utils.js.map +1 -1
  67. package/Components/JsonConfigComponent/wrapper/Dialogs/Confirm.js.map +1 -1
  68. package/Components/JsonConfigComponent/wrapper/Dialogs/Cron.js.map +1 -1
  69. package/Components/JsonConfigComponent/wrapper/Dialogs/Error.js.map +1 -1
  70. package/Components/JsonConfigComponent/wrapper/Dialogs/Message.js.map +1 -1
  71. package/Components/JsonConfigComponent/wrapper/Dialogs/SelectFile.js.map +1 -1
  72. package/Components/JsonConfigComponent/wrapper/Dialogs/SelectID.js.map +1 -1
  73. package/Components/JsonConfigComponent/wrapper/i18n.js.map +1 -1
  74. package/Components/JsonConfigComponent/wrapper/icons/IconCopy.js.map +1 -1
  75. package/Components/Loader.js.map +1 -1
  76. package/Components/Loaders/PT.js.map +1 -1
  77. package/Components/Loaders/Vendor.js.map +1 -1
  78. package/Components/Logo.js.map +1 -1
  79. package/Components/MDUtils.js.map +1 -1
  80. package/Components/ObjectBrowser.js +26 -21
  81. package/Components/ObjectBrowser.js.map +1 -1
  82. package/Components/Router.js.map +1 -1
  83. package/Components/SaveCloseButtons.js.map +1 -1
  84. package/Components/Schedule.js.map +1 -1
  85. package/Components/SelectWithIcon.js.map +1 -1
  86. package/Components/SimpleCron/cron2text.js.map +1 -1
  87. package/Components/SimpleCron/cronText.js.map +1 -1
  88. package/Components/SimpleCron/index.js +38 -32
  89. package/Components/SimpleCron/index.js.map +1 -1
  90. package/Components/SimpleCron/jquery.cron.locale.js.map +1 -1
  91. package/Components/TabContainer.js.map +1 -1
  92. package/Components/TabContent.js.map +1 -1
  93. package/Components/TabHeader.js.map +1 -1
  94. package/Components/TableResize.js.map +1 -1
  95. package/Components/TextWithIcon.js.map +1 -1
  96. package/Components/ToggleThemeMenu.js.map +1 -1
  97. package/Components/TreeTable.js.map +1 -1
  98. package/Components/UploadImage.js.map +1 -1
  99. package/Components/Utils.js.map +1 -1
  100. package/Components/copy-to-clipboard.js.map +1 -1
  101. package/Components/withWidth.js.map +1 -1
  102. package/Connection.js.map +1 -1
  103. package/Dialogs/ComplexCron.js +1 -1
  104. package/Dialogs/ComplexCron.js.map +1 -1
  105. package/Dialogs/Confirm.js.map +1 -1
  106. package/Dialogs/Cron.js +6 -6
  107. package/Dialogs/Cron.js.map +1 -1
  108. package/Dialogs/Error.js.map +1 -1
  109. package/Dialogs/Message.js.map +1 -1
  110. package/Dialogs/SelectFile.js.map +1 -1
  111. package/Dialogs/SelectID.js.map +1 -1
  112. package/Dialogs/SimpleCron.js +2 -2
  113. package/Dialogs/SimpleCron.js.map +1 -1
  114. package/Dialogs/TextInput.js.map +1 -1
  115. package/GenericApp.d.ts +11 -0
  116. package/GenericApp.js +109 -42
  117. package/GenericApp.js.map +1 -1
  118. package/Prompt.js.map +1 -1
  119. package/README.md +3 -0
  120. package/Theme.js.map +1 -1
  121. package/_Connection.js.map +1 -1
  122. package/i18n.js.map +1 -1
  123. package/icons/IconAdapter.js.map +1 -1
  124. package/icons/IconAlias.js.map +1 -1
  125. package/icons/IconChannel.js.map +1 -1
  126. package/icons/IconClearFilter.js.map +1 -1
  127. package/icons/IconClosed.js.map +1 -1
  128. package/icons/IconCopy.js.map +1 -1
  129. package/icons/IconDevice.js.map +1 -1
  130. package/icons/IconDocument.js.map +1 -1
  131. package/icons/IconDocumentReadOnly.js.map +1 -1
  132. package/icons/IconExpert.js.map +1 -1
  133. package/icons/IconFx.js.map +1 -1
  134. package/icons/IconInstance.js.map +1 -1
  135. package/icons/IconLogout.js.map +1 -1
  136. package/icons/IconNoIcon.js.map +1 -1
  137. package/icons/IconOpen.js.map +1 -1
  138. package/icons/IconState.js.map +1 -1
  139. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigCustom.js","names":["getOrLoadRemote","remote","shareScope","remoteFallbackUrl","undefined","Promise","resolve","reject","window","existingRemote","document","querySelector","onload","__initialized","__webpack_share_scopes__","init","console","error","onerror","d","script","createElement","type","setAttribute","async","src","getElementsByTagName","appendChild","loadComponent","sharedScope","module","url","container","get","factory","Module","ConfigCustom","props","state","Component","schema","setState","startsWith","location","protocol","host","replace","adapterName","i18n","pos","lastIndexOf","i18nURL","substring","lang","I18n","getLanguage","file","fetch","then","data","json","extendTranslations","log","name","split","uniqueName","fileToLoad","componentName","join","component","keys","Object","item","xs","lg","md","sm","assign","marginBottom","textAlign","width","style","themeType","darkStyle","newLine","flexBasis","height","propTypes","socket","PropTypes","object","string","themeName","className","attr","isRequired","onError","func","onChange"],"sources":["JsonConfigComponent/ConfigCustom.jsx"],"sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport LinearProgress from '@mui/material/LinearProgress';\nimport Grid from '@mui/material/Grid';\n\nimport I18n from './wrapper/i18n';\n\nconst getOrLoadRemote = (remote, shareScope, remoteFallbackUrl = undefined) =>\n new Promise((resolve, reject) => {\n // check if remote exists on window\n if (!window[remote]) {\n // search dom to see if remote tag exists, but might still be loading (async)\n const existingRemote = document.querySelector(`script[data-webpack=\"${remote}\"]`);\n // when remote is loaded.\n const onload = async () => {\n // check if it was initialized\n if (window[remote]) {\n if (!window[remote].__initialized) {\n // if share scope doesn't exist (like in webpack 4) then expect shareScope to be a manual object\n if (typeof __webpack_share_scopes__ === 'undefined') {\n // use default share scope object passed in manually\n await window[remote].init(shareScope.default);\n } else {\n // otherwise, init share scope as usual\n // eslint-disable-next-line\n await window[remote].init(__webpack_share_scopes__[shareScope]);\n }\n // mark remote as initialized\n window[remote].__initialized = true;\n }\n } else {\n console.error(`Cannot load ${remote}`);\n return reject(`Cannot load ${remote}`);\n }\n // resolve promise so marking remote as loaded\n resolve(window[remote]);\n };\n\n if (existingRemote) {\n // if existing remote but not loaded, hook into its onload and wait for it to be ready\n existingRemote.onload = onload;\n existingRemote.onerror = reject;\n // check if remote fallback exists as param passed to function\n // TODO: should scan public config for a matching key if no override exists\n } else if (remoteFallbackUrl) {\n // inject remote if a fallback exists and call the same onload function\n const d = document;\n const script = d.createElement('script');\n script.type = 'text/javascript';\n // mark as data-webpack so runtime can track it internally\n script.setAttribute('data-webpack', `${remote}`);\n script.async = true;\n script.onerror = reject;\n script.onload = onload;\n script.src = remoteFallbackUrl;\n d.getElementsByTagName('head')[0].appendChild(script);\n } else {\n // no remote and no fallback exist, reject\n reject(`Cannot Find Remote ${remote} to inject`);\n }\n } else {\n // remote already instantiated, resolve\n resolve(window[remote]);\n }\n });\n\nconst loadComponent = (remote, sharedScope, module, url) => async () => {\n const container = await getOrLoadRemote(remote, sharedScope, url);\n const factory = await container.get(module);\n const Module = factory();\n return Module;\n};\n\nclass ConfigCustom extends Component {\n constructor(props) {\n super(props);\n // schema.url - location of Widget\n // schema.name - Component name\n // schema.i18n - i18n\n\n this.state = {\n Component: null,\n error: '',\n };\n }\n\n // load component dynamically\n async componentDidMount() {\n if (!this.props.schema.url) {\n console.error('URL is empty. Cannot load custom component!');\n this.setState({ error: 'URL is empty. Cannot load custom component!' });\n return;\n }\n\n let url;\n /*if (this.props.schema.url.startsWith('http:') || this.props.schema.url.startsWith('https:')) {\n url = this.props.schema.url;\n } else */\n if (this.props.schema.url.startsWith('./')) {\n url = `${window.location.protocol}//${window.location.host}${this.props.schema.url.replace(/^\\./, '')}`;\n } else {\n url = `${window.location.protocol}//${window.location.host}/adapter/${this.props.adapterName}/${this.props.schema.url}`;\n }\n\n if (this.props.schema.i18n === true) {\n // load i18n from files\n const pos = url.lastIndexOf('/');\n let i18nURL;\n if (pos !== -1) {\n i18nURL = url.substring(0, pos);\n } else {\n i18nURL = url;\n }\n const lang = I18n.getLanguage();\n const file = `${i18nURL}/i18n/${lang}.json`;\n\n await fetch(file)\n .then(data => data.json())\n .then(json => I18n.extendTranslations(json, lang))\n .catch(error => {\n if (lang !== 'en') {\n // try to load English\n return fetch(`${i18nURL}/i18n/en.json`)\n .then(data => data.json())\n .then(json => I18n.extendTranslations(json, lang))\n .catch(error => console.log(`Cannot load i18n \"${file}\": ${error}`));\n } else {\n console.log(`Cannot load i18n \"${file}\": ${error}`);\n }\n });\n } else if (this.props.schema.i18n && typeof this.props.schema.i18n === 'object') {\n try {\n I18n.extendTranslations(this.props.schema.i18n);\n } catch (error) {\n console.error(`Cannot import i18n: ${error}`);\n }\n }\n\n try {\n const [uniqueName, fileToLoad, ...componentName] = this.props.schema.name.split('/');\n console.log(uniqueName, fileToLoad, componentName.join('/'));\n // const component = await window.importFederation(uniqueName, {url, format: 'esm', from: 'vite'}, fileToLoad);\n const component = (await loadComponent(uniqueName, 'default', `./${fileToLoad}`, url)()).default;\n\n if (!component || !component || !component[componentName.join('/')]) {\n const keys = Object.keys(component || {});\n console.error('URL is empty. Cannot load custom component!');\n this.setState({ error: `Component ${this.props.schema.name} not found in ${this.props.schema.url}. Found: ${keys.join(', ')}` });\n } else {\n this.setState({ Component: component[componentName.join('/')] });\n }\n } catch (error) {\n this.setState({ error: `Cannot import from ${this.props.schema.url}: ${error}` });\n }\n }\n\n render() {\n const Component = this.state.Component;\n\n // render temporary placeholder\n if (!Component) {\n if (this.state.error) {\n return;\n } else {\n const schema = this.props.schema || {};\n\n const item = <Grid\n item\n xs={schema.xs || undefined}\n lg={schema.lg || undefined}\n md={schema.md || undefined}\n sm={schema.sm || undefined}\n style={Object.assign({}, {\n marginBottom: 0,\n //marginRight: 8,\n textAlign: 'left',\n width: schema.type === 'divider' || schema.type === 'header' ? schema.width || '100%' : undefined\n }, schema.style, this.props.themeType === 'dark' ? schema.darkStyle : {})}>\n {this.state.error ? <div>{this.state.error}</div> : <LinearProgress />}\n </Grid>;\n\n if (schema.newLine) {\n return <>\n <div style={{ flexBasis: '100%', height: 0 }} />\n {item}\n </>;\n } else {\n return item;\n }\n }\n }\n\n return <Component {...this.props} />;\n }\n}\n\nConfigCustom.propTypes = {\n socket: PropTypes.object,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n attr: PropTypes.string,\n data: PropTypes.object.isRequired,\n schema: PropTypes.object.isRequired,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default ConfigCustom;"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AACA;AAEA;AACA;AAEA;AAAkC;AAAA;AAAA;AAAA;AAElC,IAAMA,eAAe,GAAG,SAAlBA,eAAe,CAAIC,MAAM,EAAEC,UAAU;EAAA,IAAEC,iBAAiB,uEAAGC,SAAS;EAAA,OACtE,IAAIC,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM,EAAK;IACjC;IACI,IAAI,CAACC,MAAM,CAACP,MAAM,CAAC,EAAE;MACjB;MACA,IAAMQ,cAAc,GAAGC,QAAQ,CAACC,aAAa,iCAAyBV,MAAM,SAAK;MACjF;MACA,IAAMW,MAAM;QAAA,yFAAG;UAAA;YAAA;cAAA;gBAAA,KAEPJ,MAAM,CAACP,MAAM,CAAC;kBAAA;kBAAA;gBAAA;gBAAA,IACTO,MAAM,CAACP,MAAM,CAAC,CAACY,aAAa;kBAAA;kBAAA;gBAAA;gBAAA,MAEzB,OAAOC,wBAAwB,KAAK,WAAW;kBAAA;kBAAA;gBAAA;gBAAA;gBAAA,OAEzCN,MAAM,CAACP,MAAM,CAAC,CAACc,IAAI,CAACb,UAAU,WAAQ,CAAC;cAAA;gBAAA;gBAAA;cAAA;gBAAA;gBAAA,OAIvCM,MAAM,CAACP,MAAM,CAAC,CAACc,IAAI,CAACD,wBAAwB,CAACZ,UAAU,CAAC,CAAC;cAAA;gBAEnE;gBACAM,MAAM,CAACP,MAAM,CAAC,CAACY,aAAa,GAAG,IAAI;cAAC;gBAAA;gBAAA;cAAA;gBAGxCG,OAAO,CAACC,KAAK,uBAAgBhB,MAAM,EAAG;gBAAC,iCAChCM,MAAM,uBAAgBN,MAAM,EAAG;cAAA;gBAE1C;gBACAK,OAAO,CAACE,MAAM,CAACP,MAAM,CAAC,CAAC;cAAC;cAAA;gBAAA;YAAA;UAAA;QAAA,CAC3B;QAAA,gBAtBKW,MAAM;UAAA;QAAA;MAAA,GAsBX;MAED,IAAIH,cAAc,EAAE;QAChB;QACAA,cAAc,CAACG,MAAM,GAAGA,MAAM;QAC9BH,cAAc,CAACS,OAAO,GAAGX,MAAM;QAC/B;QACA;MACJ,CAAC,MAAM,IAAIJ,iBAAiB,EAAE;QAC1B;QACA,IAAMgB,CAAC,GAAGT,QAAQ;QAClB,IAAMU,MAAM,GAAGD,CAAC,CAACE,aAAa,CAAC,QAAQ,CAAC;QACxCD,MAAM,CAACE,IAAI,GAAG,iBAAiB;QAC/B;QACAF,MAAM,CAACG,YAAY,CAAC,cAAc,YAAKtB,MAAM,EAAG;QAChDmB,MAAM,CAACI,KAAK,GAAG,IAAI;QACnBJ,MAAM,CAACF,OAAO,GAAGX,MAAM;QACvBa,MAAM,CAACR,MAAM,GAAGA,MAAM;QACtBQ,MAAM,CAACK,GAAG,GAAGtB,iBAAiB;QAC9BgB,CAAC,CAACO,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAACC,WAAW,CAACP,MAAM,CAAC;MACzD,CAAC,MAAM;QACH;QACAb,MAAM,8BAAuBN,MAAM,gBAAa;MACpD;IACJ,CAAC,MAAM;MACH;MACAK,OAAO,CAACE,MAAM,CAACP,MAAM,CAAC,CAAC;IAC3B;EACJ,CAAC,CAAC;AAAA;AAEN,IAAM2B,aAAa,GAAG,SAAhBA,aAAa,CAAI3B,MAAM,EAAE4B,WAAW,EAAEC,MAAM,EAAEC,GAAG;EAAA,kGAAK;IAAA;IAAA;MAAA;QAAA;UAAA;UAAA,OAChC/B,eAAe,CAACC,MAAM,EAAE4B,WAAW,EAAEE,GAAG,CAAC;QAAA;UAA3DC,SAAS;UAAA;UAAA,OACOA,SAAS,CAACC,GAAG,CAACH,MAAM,CAAC;QAAA;UAArCI,OAAO;UACPC,MAAM,GAAGD,OAAO,EAAE;UAAA,kCACjBC,MAAM;QAAA;QAAA;UAAA;MAAA;IAAA;EAAA,CAChB;AAAA;AAAC,IAEIC,YAAY;EAAA;EAAA;EACd,sBAAYC,KAAK,EAAE;IAAA;IAAA;IACf,0BAAMA,KAAK;IACX;IACA;IACA;;IAEA,MAAKC,KAAK,GAAG;MACTC,SAAS,EAAE,IAAI;MACftB,KAAK,EAAE;IACX,CAAC;IAAC;EACN;;EAEA;EAAA;IAAA;IAAA;MAAA,uGACA;QAAA;QAAA;UAAA;YAAA;cAAA,IACS,IAAI,CAACoB,KAAK,CAACG,MAAM,CAACT,GAAG;gBAAA;gBAAA;cAAA;cACtBf,OAAO,CAACC,KAAK,CAAC,6CAA6C,CAAC;cAC5D,IAAI,CAACwB,QAAQ,CAAC;gBAAExB,KAAK,EAAE;cAA8C,CAAC,CAAC;cAAC;YAAA;cAK5E;AACR;AACA;cACQ,IAAI,IAAI,CAACoB,KAAK,CAACG,MAAM,CAACT,GAAG,CAACW,UAAU,CAAC,IAAI,CAAC,EAAE;gBACxCX,GAAG,aAAMvB,MAAM,CAACmC,QAAQ,CAACC,QAAQ,eAAKpC,MAAM,CAACmC,QAAQ,CAACE,IAAI,SAAG,IAAI,CAACR,KAAK,CAACG,MAAM,CAACT,GAAG,CAACe,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAE;cAC3G,CAAC,MAAM;gBACHf,GAAG,aAAMvB,MAAM,CAACmC,QAAQ,CAACC,QAAQ,eAAKpC,MAAM,CAACmC,QAAQ,CAACE,IAAI,sBAAY,IAAI,CAACR,KAAK,CAACU,WAAW,cAAI,IAAI,CAACV,KAAK,CAACG,MAAM,CAACT,GAAG,CAAE;cAC3H;cAAC,MAEG,IAAI,CAACM,KAAK,CAACG,MAAM,CAACQ,IAAI,KAAK,IAAI;gBAAA;gBAAA;cAAA;cAC/B;cACMC,GAAG,GAAGlB,GAAG,CAACmB,WAAW,CAAC,GAAG,CAAC;cAEhC,IAAID,GAAG,KAAK,CAAC,CAAC,EAAE;gBACZE,OAAO,GAAGpB,GAAG,CAACqB,SAAS,CAAC,CAAC,EAAEH,GAAG,CAAC;cACnC,CAAC,MAAM;gBACHE,OAAO,GAAGpB,GAAG;cACjB;cACMsB,IAAI,GAAGC,gBAAI,CAACC,WAAW,EAAE;cACzBC,IAAI,aAAML,OAAO,mBAASE,IAAI;cAAA;cAAA,OAE9BI,KAAK,CAACD,IAAI,CAAC,CACZE,IAAI,CAAC,UAAAC,IAAI;gBAAA,OAAIA,IAAI,CAACC,IAAI,EAAE;cAAA,EAAC,CACzBF,IAAI,CAAC,UAAAE,IAAI;gBAAA,OAAIN,gBAAI,CAACO,kBAAkB,CAACD,IAAI,EAAEP,IAAI,CAAC;cAAA,EAAC,SAC5C,CAAC,UAAApC,KAAK,EAAI;gBACZ,IAAIoC,IAAI,KAAK,IAAI,EAAE;kBACf;kBACA,OAAOI,KAAK,WAAIN,OAAO,mBAAgB,CAClCO,IAAI,CAAC,UAAAC,IAAI;oBAAA,OAAIA,IAAI,CAACC,IAAI,EAAE;kBAAA,EAAC,CACzBF,IAAI,CAAC,UAAAE,IAAI;oBAAA,OAAIN,gBAAI,CAACO,kBAAkB,CAACD,IAAI,EAAEP,IAAI,CAAC;kBAAA,EAAC,SAC5C,CAAC,UAAApC,KAAK;oBAAA,OAAID,OAAO,CAAC8C,GAAG,8BAAsBN,IAAI,iBAAMvC,KAAK,EAAG;kBAAA,EAAC;gBAC5E,CAAC,MAAM;kBACHD,OAAO,CAAC8C,GAAG,8BAAsBN,IAAI,iBAAMvC,KAAK,EAAG;gBACvD;cACJ,CAAC,CAAC;YAAA;cAAA;cAAA;YAAA;cACH,IAAI,IAAI,CAACoB,KAAK,CAACG,MAAM,CAACQ,IAAI,IAAI,yBAAO,IAAI,CAACX,KAAK,CAACG,MAAM,CAACQ,IAAI,MAAK,QAAQ,EAAE;gBAC7E,IAAI;kBACAM,gBAAI,CAACO,kBAAkB,CAAC,IAAI,CAACxB,KAAK,CAACG,MAAM,CAACQ,IAAI,CAAC;gBACnD,CAAC,CAAC,OAAO/B,KAAK,EAAE;kBACZD,OAAO,CAACC,KAAK,+BAAwBA,KAAK,EAAG;gBACjD;cACJ;YAAC;cAAA;cAAA,wBAGsD,IAAI,CAACoB,KAAK,CAACG,MAAM,CAACuB,IAAI,CAACC,KAAK,CAAC,GAAG,CAAC,6EAA7EC,UAAU,8BAAEC,UAAU,8BAAKC,aAAa;cAC/CnD,OAAO,CAAC8C,GAAG,CAACG,UAAU,EAAEC,UAAU,EAAEC,aAAa,CAACC,IAAI,CAAC,GAAG,CAAC,CAAC;cAC5D;cAAA;cAAA,OACyBxC,aAAa,CAACqC,UAAU,EAAE,SAAS,cAAOC,UAAU,GAAInC,GAAG,CAAC,EAAE;YAAA;cAAjFsC,SAAS;cAEf,IAAI,CAACA,SAAS,IAAI,CAACA,SAAS,IAAI,CAACA,SAAS,CAACF,aAAa,CAACC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC3DE,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACD,SAAS,IAAI,CAAC,CAAC,CAAC;gBACzCrD,OAAO,CAACC,KAAK,CAAC,6CAA6C,CAAC;gBAC5D,IAAI,CAACwB,QAAQ,CAAC;kBAAExB,KAAK,sBAAe,IAAI,CAACoB,KAAK,CAACG,MAAM,CAACuB,IAAI,2BAAiB,IAAI,CAAC1B,KAAK,CAACG,MAAM,CAACT,GAAG,sBAAYuC,IAAI,CAACF,IAAI,CAAC,IAAI,CAAC;gBAAG,CAAC,CAAC;cACpI,CAAC,MAAM;gBACH,IAAI,CAAC3B,QAAQ,CAAC;kBAAEF,SAAS,EAAE8B,SAAS,CAACF,aAAa,CAACC,IAAI,CAAC,GAAG,CAAC;gBAAE,CAAC,CAAC;cACpE;cAAC;cAAA;YAAA;cAAA;cAAA;cAED,IAAI,CAAC3B,QAAQ,CAAC;gBAAExB,KAAK,+BAAwB,IAAI,CAACoB,KAAK,CAACG,MAAM,CAACT,GAAG;cAAa,CAAC,CAAC;YAAC;YAAA;cAAA;UAAA;QAAA;MAAA,CAEzF;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA,OAED,kBAAS;MACL,IAAMQ,SAAS,GAAG,IAAI,CAACD,KAAK,CAACC,SAAS;;MAEtC;MACA,IAAI,CAACA,SAAS,EAAE;QACZ,IAAI,IAAI,CAACD,KAAK,CAACrB,KAAK,EAAE;UAClB;QACJ,CAAC,MAAM;UACH,IAAMuB,MAAM,GAAG,IAAI,CAACH,KAAK,CAACG,MAAM,IAAI,CAAC,CAAC;UAEtC,IAAMgC,IAAI,gBAAG,gCAAC,gBAAI;YACd,IAAI;YACJ,EAAE,EAAEhC,MAAM,CAACiC,EAAE,IAAIrE,SAAU;YAC3B,EAAE,EAAEoC,MAAM,CAACkC,EAAE,IAAItE,SAAU;YAC3B,EAAE,EAAEoC,MAAM,CAACmC,EAAE,IAAIvE,SAAU;YAC3B,EAAE,EAAEoC,MAAM,CAACoC,EAAE,IAAIxE,SAAU;YAC3B,KAAK,EAAEmE,MAAM,CAACM,MAAM,CAAC,CAAC,CAAC,EAAE;cACrBC,YAAY,EAAE,CAAC;cACf;cACAC,SAAS,EAAE,MAAM;cACjBC,KAAK,EAAExC,MAAM,CAAClB,IAAI,KAAK,SAAS,IAAIkB,MAAM,CAAClB,IAAI,KAAK,QAAQ,GAAGkB,MAAM,CAACwC,KAAK,IAAI,MAAM,GAAG5E;YAC5F,CAAC,EAAEoC,MAAM,CAACyC,KAAK,EAAE,IAAI,CAAC5C,KAAK,CAAC6C,SAAS,KAAK,MAAM,GAAG1C,MAAM,CAAC2C,SAAS,GAAG,CAAC,CAAC;UAAE,GACzE,IAAI,CAAC7C,KAAK,CAACrB,KAAK,gBAAG,6CAAM,IAAI,CAACqB,KAAK,CAACrB,KAAK,CAAO,gBAAG,gCAAC,0BAAc,OAAG,CACnE;UAEP,IAAIuB,MAAM,CAAC4C,OAAO,EAAE;YAChB,oBAAO,+EACH;cAAK,KAAK,EAAE;gBAAEC,SAAS,EAAE,MAAM;gBAAEC,MAAM,EAAE;cAAE;YAAE,EAAG,EAC/Cd,IAAI,CACN;UACP,CAAC,MAAM;YACH,OAAOA,IAAI;UACf;QACJ;MACJ;MAEA,oBAAO,gCAAC,SAAS,EAAK,IAAI,CAACnC,KAAK,CAAI;IACxC;EAAC;EAAA;AAAA,EAxHsBE,gBAAS;AA2HpCH,YAAY,CAACmD,SAAS,GAAG;EACrBC,MAAM,EAAEC,qBAAS,CAACC,MAAM;EACxBR,SAAS,EAAEO,qBAAS,CAACE,MAAM;EAC3BC,SAAS,EAAEH,qBAAS,CAACE,MAAM;EAC3BV,KAAK,EAAEQ,qBAAS,CAACC,MAAM;EACvBG,SAAS,EAAEJ,qBAAS,CAACE,MAAM;EAC3BG,IAAI,EAAEL,qBAAS,CAACE,MAAM;EACtBhC,IAAI,EAAE8B,qBAAS,CAACC,MAAM,CAACK,UAAU;EACjCvD,MAAM,EAAEiD,qBAAS,CAACC,MAAM,CAACK,UAAU;EACnCC,OAAO,EAAEP,qBAAS,CAACQ,IAAI;EACvBC,QAAQ,EAAET,qBAAS,CAACQ;AACxB,CAAC;AAAC,eAEa7D,YAAY;AAAA"}
1
+ {"version":3,"file":"ConfigCustom.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_LinearProgress","_Grid","_i18n","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof3","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","e","getOrLoadRemote","remote","shareScope","remoteFallbackUrl","length","undefined","Promise","resolve","reject","window","existingRemote","document","querySelector","concat","onload","_ref","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","__initialized","__webpack_share_scopes__","init","console","error","abrupt","stop","onerror","d","script","createElement","type","setAttribute","async","src","getElementsByTagName","appendChild","loadComponent","sharedScope","module","url","_callee2","container","factory","Module","_callee2$","_context2","sent","ConfigCustom","_Component","_inherits2","_super","props","_this","_classCallCheck2","state","Component","_createClass2","value","_componentDidMount","_callee3","pos","i18nURL","lang","file","_this$props$schema$na","_this$props$schema$na2","uniqueName","fileToLoad","componentName","component","keys","_callee3$","_context3","schema","setState","startsWith","location","protocol","host","replace","adapterName","i18n","lastIndexOf","substring","I18n","getLanguage","fetch","then","data","json","extendTranslations","log","_typeof2","name","split","_toArray2","slice","join","t0","componentDidMount","render","item","xs","lg","md","sm","style","assign","marginBottom","textAlign","width","themeType","darkStyle","newLine","Fragment","flexBasis","height","propTypes","socket","PropTypes","object","string","themeName","className","attr","isRequired","onError","func","onChange","_default","exports"],"sources":["JsonConfigComponent/ConfigCustom.jsx"],"sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport LinearProgress from '@mui/material/LinearProgress';\nimport Grid from '@mui/material/Grid';\n\nimport I18n from './wrapper/i18n';\n\nconst getOrLoadRemote = (remote, shareScope, remoteFallbackUrl = undefined) =>\n new Promise((resolve, reject) => {\n // check if remote exists on window\n if (!window[remote]) {\n // search dom to see if remote tag exists, but might still be loading (async)\n const existingRemote = document.querySelector(`script[data-webpack=\"${remote}\"]`);\n // when remote is loaded.\n const onload = async () => {\n // check if it was initialized\n if (window[remote]) {\n if (!window[remote].__initialized) {\n // if share scope doesn't exist (like in webpack 4) then expect shareScope to be a manual object\n if (typeof __webpack_share_scopes__ === 'undefined') {\n // use default share scope object passed in manually\n await window[remote].init(shareScope.default);\n } else {\n // otherwise, init share scope as usual\n // eslint-disable-next-line\n await window[remote].init(__webpack_share_scopes__[shareScope]);\n }\n // mark remote as initialized\n window[remote].__initialized = true;\n }\n } else {\n console.error(`Cannot load ${remote}`);\n return reject(`Cannot load ${remote}`);\n }\n // resolve promise so marking remote as loaded\n resolve(window[remote]);\n };\n\n if (existingRemote) {\n // if existing remote but not loaded, hook into its onload and wait for it to be ready\n existingRemote.onload = onload;\n existingRemote.onerror = reject;\n // check if remote fallback exists as param passed to function\n // TODO: should scan public config for a matching key if no override exists\n } else if (remoteFallbackUrl) {\n // inject remote if a fallback exists and call the same onload function\n const d = document;\n const script = d.createElement('script');\n script.type = 'text/javascript';\n // mark as data-webpack so runtime can track it internally\n script.setAttribute('data-webpack', `${remote}`);\n script.async = true;\n script.onerror = reject;\n script.onload = onload;\n script.src = remoteFallbackUrl;\n d.getElementsByTagName('head')[0].appendChild(script);\n } else {\n // no remote and no fallback exist, reject\n reject(`Cannot Find Remote ${remote} to inject`);\n }\n } else {\n // remote already instantiated, resolve\n resolve(window[remote]);\n }\n });\n\nconst loadComponent = (remote, sharedScope, module, url) => async () => {\n const container = await getOrLoadRemote(remote, sharedScope, url);\n const factory = await container.get(module);\n const Module = factory();\n return Module;\n};\n\nclass ConfigCustom extends Component {\n constructor(props) {\n super(props);\n // schema.url - location of Widget\n // schema.name - Component name\n // schema.i18n - i18n\n\n this.state = {\n Component: null,\n error: '',\n };\n }\n\n // load component dynamically\n async componentDidMount() {\n if (!this.props.schema.url) {\n console.error('URL is empty. Cannot load custom component!');\n this.setState({ error: 'URL is empty. Cannot load custom component!' });\n return;\n }\n\n let url;\n /*if (this.props.schema.url.startsWith('http:') || this.props.schema.url.startsWith('https:')) {\n url = this.props.schema.url;\n } else */\n if (this.props.schema.url.startsWith('./')) {\n url = `${window.location.protocol}//${window.location.host}${this.props.schema.url.replace(/^\\./, '')}`;\n } else {\n url = `${window.location.protocol}//${window.location.host}/adapter/${this.props.adapterName}/${this.props.schema.url}`;\n }\n\n if (this.props.schema.i18n === true) {\n // load i18n from files\n const pos = url.lastIndexOf('/');\n let i18nURL;\n if (pos !== -1) {\n i18nURL = url.substring(0, pos);\n } else {\n i18nURL = url;\n }\n const lang = I18n.getLanguage();\n const file = `${i18nURL}/i18n/${lang}.json`;\n\n await fetch(file)\n .then(data => data.json())\n .then(json => I18n.extendTranslations(json, lang))\n .catch(error => {\n if (lang !== 'en') {\n // try to load English\n return fetch(`${i18nURL}/i18n/en.json`)\n .then(data => data.json())\n .then(json => I18n.extendTranslations(json, lang))\n .catch(error => console.log(`Cannot load i18n \"${file}\": ${error}`));\n } else {\n console.log(`Cannot load i18n \"${file}\": ${error}`);\n }\n });\n } else if (this.props.schema.i18n && typeof this.props.schema.i18n === 'object') {\n try {\n I18n.extendTranslations(this.props.schema.i18n);\n } catch (error) {\n console.error(`Cannot import i18n: ${error}`);\n }\n }\n\n try {\n const [uniqueName, fileToLoad, ...componentName] = this.props.schema.name.split('/');\n console.log(uniqueName, fileToLoad, componentName.join('/'));\n // const component = await window.importFederation(uniqueName, {url, format: 'esm', from: 'vite'}, fileToLoad);\n const component = (await loadComponent(uniqueName, 'default', `./${fileToLoad}`, url)()).default;\n\n if (!component || !component || !component[componentName.join('/')]) {\n const keys = Object.keys(component || {});\n console.error('URL is empty. Cannot load custom component!');\n this.setState({ error: `Component ${this.props.schema.name} not found in ${this.props.schema.url}. Found: ${keys.join(', ')}` });\n } else {\n this.setState({ Component: component[componentName.join('/')] });\n }\n } catch (error) {\n this.setState({ error: `Cannot import from ${this.props.schema.url}: ${error}` });\n }\n }\n\n render() {\n const Component = this.state.Component;\n\n // render temporary placeholder\n if (!Component) {\n if (this.state.error) {\n return;\n } else {\n const schema = this.props.schema || {};\n\n const item = <Grid\n item\n xs={schema.xs || undefined}\n lg={schema.lg || undefined}\n md={schema.md || undefined}\n sm={schema.sm || undefined}\n style={Object.assign({}, {\n marginBottom: 0,\n //marginRight: 8,\n textAlign: 'left',\n width: schema.type === 'divider' || schema.type === 'header' ? schema.width || '100%' : undefined\n }, schema.style, this.props.themeType === 'dark' ? schema.darkStyle : {})}>\n {this.state.error ? <div>{this.state.error}</div> : <LinearProgress />}\n </Grid>;\n\n if (schema.newLine) {\n return <>\n <div style={{ flexBasis: '100%', height: 0 }} />\n {item}\n </>;\n } else {\n return item;\n }\n }\n }\n\n return <Component {...this.props} />;\n }\n}\n\nConfigCustom.propTypes = {\n socket: PropTypes.object,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n attr: PropTypes.string,\n data: PropTypes.object.isRequired,\n schema: PropTypes.object.isRequired,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default ConfigCustom;"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigDatePicker.js","names":["styles","theme","indeterminate","opacity","ConfigDatePicker","value","ConfigGeneric","getValue","props","data","attr","setState","error","disabled","defaultValue","systemConfig","dateFormat","toLowerCase","replace","state","undefined","Date","maxLength","schema","max","onChange","shrink","getText","placeholder","label","renderHelp","help","helpLink","noTranslation","propTypes","socket","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","withStyles"],"sources":["JsonConfigComponent/ConfigDatePicker.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport { DatePicker } from '@mui/x-date-pickers';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n indeterminate: {\n opacity: 0.5\n }\n});\n\nclass ConfigDatePicker extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n this.setState({ value });\n }\n\n renderItem(error, disabled, defaultValue) {\n return <DatePicker\n fullWidth\n margin=\"normal\"\n format={this.props.systemConfig.dateFormat.toLowerCase().replace('mm','MM')}\n error={!!error}\n disabled={!!disabled}\n value={this.state.value === null || this.state.value === undefined ? new Date() : this.state.value}\n KeyboardButtonProps={{\n 'aria-label': 'change date',\n }}\n inputProps={{ maxLength: this.props.schema.maxLength || this.props.schema.max || undefined }}\n onChange={value => {\n this.setState({ value }, () =>\n this.onChange(this.props.attr, value));\n }}\n InputLabelProps={{\n shrink: true,\n }}\n placeholder={this.getText(this.props.schema.placeholder)}\n label={this.getText(this.props.schema.label)}\n helperText={this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}\n />;\n }\n}\n\nConfigDatePicker.propTypes = {\n socket: PropTypes.object.isRequired,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n data: PropTypes.object.isRequired,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigDatePicker);"],"mappings":"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"}
1
+ {"version":3,"file":"ConfigDatePicker.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_xDatePickers","_ConfigGeneric2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","styles","theme","indeterminate","opacity","ConfigDatePicker","_ConfigGeneric","_inherits2","_super","_classCallCheck2","_createClass2","key","value","componentDidMount","_get2","ConfigGeneric","getValue","props","data","attr","setState","renderItem","error","disabled","defaultValue","_this","createElement","DatePicker","fullWidth","margin","format","systemConfig","dateFormat","toLowerCase","replace","state","undefined","Date","KeyboardButtonProps","inputProps","maxLength","schema","max","onChange","InputLabelProps","shrink","placeholder","getText","label","helperText","renderHelp","help","helpLink","noTranslation","propTypes","socket","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","_default","withStyles","exports"],"sources":["JsonConfigComponent/ConfigDatePicker.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport { DatePicker } from '@mui/x-date-pickers';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n indeterminate: {\n opacity: 0.5\n }\n});\n\nclass ConfigDatePicker extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n this.setState({ value });\n }\n\n renderItem(error, disabled, defaultValue) {\n return <DatePicker\n fullWidth\n margin=\"normal\"\n format={this.props.systemConfig.dateFormat.toLowerCase().replace('mm','MM')}\n error={!!error}\n disabled={!!disabled}\n value={this.state.value === null || this.state.value === undefined ? new Date() : this.state.value}\n KeyboardButtonProps={{\n 'aria-label': 'change date',\n }}\n inputProps={{ maxLength: this.props.schema.maxLength || this.props.schema.max || undefined }}\n onChange={value => {\n this.setState({ value }, () =>\n this.onChange(this.props.attr, value));\n }}\n InputLabelProps={{\n shrink: true,\n }}\n placeholder={this.getText(this.props.schema.placeholder)}\n label={this.getText(this.props.schema.label)}\n helperText={this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}\n />;\n }\n}\n\nConfigDatePicker.propTypes = {\n socket: PropTypes.object.isRequired,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n data: PropTypes.object.isRequired,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigDatePicker);"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigFile.js","names":["styles","theme","fullWidth","width","fullWidthOneButton","marginRight","fullWidthIcon","selectedImage","height","display","IMAGE_EXT","AUDIO_EXT","VIDEO_EXT","DOC_EXT","JS_EXT","ConfigFile","value","ConfigGeneric","getValue","props","data","attr","imagePrefix","undefined","setState","pos","state","indexOf","adapter","substring","path","socket","readFile","loadFile","then","AudioContext","context","buf","ConfigFileSelector","base64ToArrayBuffer","file","decodeAudioData","buffer","source","createBufferSource","connect","destination","start","err","window","alert","extension","split","pop","toLowerCase","includes","classes","backgroundImage","backgroundSize","backgroundRepeat","color","play","showFileBrowser","onChange","schema","trim","selectOnlyFolders","allowUpload","allowDownload","allowCreateFolder","allowView","showToolbar","limitPath","error","disabled","defaultValue","icon","getIcon","maxLength","max","readOnly","disableEdit","e","target","getText","placeholder","label","renderHelp","help","helpLink","noTranslation","renderFileBrowser","toString","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","withStyles"],"sources":["JsonConfigComponent/ConfigFile.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/TextField';\nimport IconButton from '@mui/material/IconButton';\n\nimport IconText from '@mui/icons-material/Article';\nimport IconVideo from '@mui/icons-material/Videocam';\nimport IconCode from '@mui/icons-material/Code';\nimport IconPlay from '@mui/icons-material/PlayArrow';\n\nimport SelectFileDialog from './wrapper/Dialogs/SelectFile';\n\nimport ConfigGeneric from './ConfigGeneric';\nimport ConfigFileSelector from './ConfigFileSelector';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n },\n fullWidthOneButton: {\n width: 'calc(100% - 69px)',\n marginRight: 4,\n },\n fullWidthIcon: {\n width: 'calc(100% - 119px)',\n marginRight: 4,\n },\n selectedImage: {\n height: 40,\n width: 40,\n display: 'inline-block',\n marginRight: 8,\n }\n});\n\nconst IMAGE_EXT = ['jpg', 'jpeg', 'svg', 'png', 'webp'];\nconst AUDIO_EXT = ['mp3', 'ogg', 'wav', 'aac'];\nconst VIDEO_EXT = ['avi', 'mp4', 'mov'];\nconst DOC_EXT = ['txt', 'log', 'html', 'htm'];\nconst JS_EXT = ['json', 'js', 'ts'];\n\nclass ConfigFile extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n this.imagePrefix = this.props.imagePrefix === undefined ? './files' : this.props.imagePrefix;\n this.setState({ value });\n }\n\n static getDerivedStateFromProps(props, state) {\n const value = ConfigGeneric.getValue(props.data, props.attr);\n if (value === null || value === undefined || value.toString().trim() !== (state.value || '').toString().trim()) {\n return { value };\n } else {\n return null;\n }\n }\n\n loadFile() {\n const pos = this.state.value.indexOf('/');\n if (pos !== -1) {\n const adapter = this.state.value.substring(0, pos);\n const path = this.state.value.substring(pos + 1);\n return this.props.socket.readFile(adapter, path, true);\n }\n }\n\n play() {\n this.loadFile()\n .then(data => {\n if (typeof AudioContext !== 'undefined') {\n const context = new AudioContext();\n const buf = ConfigFileSelector.base64ToArrayBuffer(data.file);\n context.decodeAudioData(buf, buffer => {\n const source = context.createBufferSource(); // creates a sound source\n source.buffer = buffer; // tell the source which sound to play\n source.connect(context.destination); // connect the source to the context's destination (the speakers)\n source.start(0);\n }, err => window.alert('Cannot play: ' + err));\n }\n });\n }\n\n getIcon() {\n const extension = this.state.value.split('.').pop().toLowerCase();\n if (IMAGE_EXT.includes(extension)) {\n return <div className={this.props.classes.selectedImage} style={{\n backgroundImage: `url(${this.imagePrefix}/${this.state.value})`,\n backgroundSize: 'contain',\n backgroundRepeat: 'no-repeat',\n }} />;\n } else if (AUDIO_EXT.includes(extension)) {\n return <IconButton style={{ color: '#00FF00' }} onClick={() => this.play()}><IconPlay /></IconButton>;\n } else if (DOC_EXT.includes(extension)) {\n return <IconText />;\n } else if (VIDEO_EXT.includes(extension)) {\n return <IconVideo />;\n } else if (JS_EXT.includes(extension)) {\n return <IconCode />;\n }\n return null;\n }\n\n renderFileBrowser() {\n if (!this.state.showFileBrowser) {\n return null;\n } else {\n return <SelectFileDialog\n imagePrefix={this.props.imagePrefix}\n socket={this.props.socket}\n selected={this.state.value}\n onClose={() => this.setState({ showFileBrowser: false})}\n onOk={value => {\n this.setState({ value }, () =>\n this.onChange(this.props.attr, this.props.schema.trim === false ? value : (value || '').trim()));\n }}\n selectOnlyFolders={this.props.schema.selectOnlyFolders}\n allowUpload={this.props.schema.allowUpload}\n allowDownload={this.props.schema.allowDownload}\n allowCreateFolder={this.props.schema.allowCreateFolder}\n allowView={this.props.schema.allowView}\n showToolbar={this.props.schema.showToolbar}\n limitPath={this.props.schema.limitPath}\n />;\n }\n }\n\n renderItem(error, disabled, defaultValue) {\n const icon = this.getIcon();\n\n return <div className={this.props.classes.fullWidth}>\n {icon}\n <TextField\n variant=\"standard\"\n className={icon ? this.props.classes.fullWidthIcon : this.props.classes.fullWidthOneButton}\n value={this.state.value === null || this.state.value === undefined ? '' : this.state.value}\n error={!!error}\n disabled={!!disabled}\n inputProps={{\n maxLength: this.props.schema.maxLength || this.props.schema.max || undefined,\n readOnly: !!this.props.schema.disableEdit\n }}\n onChange={e => {\n const value = e.target.value;\n this.setState({ value }, () =>\n this.onChange(this.props.attr, this.props.schema.trim === false ? value : (value || '').trim()));\n }}\n placeholder={this.getText(this.props.schema.placeholder)}\n label={this.getText(this.props.schema.label)}\n helperText={this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}\n />\n <Button variant=\"outlined\" onClick={() => this.setState({ showFileBrowser: true })}>...</Button>\n {this.renderFileBrowser()}\n </div>;\n }\n}\n\nConfigFile.propTypes = {\n socket: PropTypes.object.isRequired,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n data: PropTypes.object.isRequired,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n imagePrefix: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigFile);"],"mappings":";;;;;;;;;;;;;AAAA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAAsD;AAAA;AAEtD,IAAMA,MAAM,GAAG,SAATA,MAAM,CAAGC,KAAK;EAAA,OAAK;IACrBC,SAAS,EAAE;MACPC,KAAK,EAAE;IACX,CAAC;IACDC,kBAAkB,EAAE;MAChBD,KAAK,EAAE,mBAAmB;MAC1BE,WAAW,EAAE;IACjB,CAAC;IACDC,aAAa,EAAE;MACXH,KAAK,EAAE,oBAAoB;MAC3BE,WAAW,EAAE;IACjB,CAAC;IACDE,aAAa,EAAE;MACXC,MAAM,EAAE,EAAE;MACVL,KAAK,EAAE,EAAE;MACTM,OAAO,EAAE,cAAc;MACvBJ,WAAW,EAAE;IACjB;EACJ,CAAC;AAAA,CAAC;AAEF,IAAMK,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC;AACvD,IAAMC,SAAS,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AAC9C,IAAMC,SAAS,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AACvC,IAAMC,OAAO,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;AAC7C,IAAMC,MAAM,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;AAAC,IAE9BC,UAAU;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA,OACZ,6BAAoB;MAChB;MACA,IAAMC,KAAK,GAAGC,0BAAa,CAACC,QAAQ,CAAC,IAAI,CAACC,KAAK,CAACC,IAAI,EAAE,IAAI,CAACD,KAAK,CAACE,IAAI,CAAC;MACtE,IAAI,CAACC,WAAW,GAAG,IAAI,CAACH,KAAK,CAACG,WAAW,KAAKC,SAAS,GAAG,SAAS,GAAG,IAAI,CAACJ,KAAK,CAACG,WAAW;MAC5F,IAAI,CAACE,QAAQ,CAAC;QAAER,KAAK,EAALA;MAAM,CAAC,CAAC;IAC5B;EAAC;IAAA;IAAA,OAWD,oBAAW;MACP,IAAMS,GAAG,GAAG,IAAI,CAACC,KAAK,CAACV,KAAK,CAACW,OAAO,CAAC,GAAG,CAAC;MACzC,IAAIF,GAAG,KAAK,CAAC,CAAC,EAAE;QACZ,IAAMG,OAAO,GAAG,IAAI,CAACF,KAAK,CAACV,KAAK,CAACa,SAAS,CAAC,CAAC,EAAEJ,GAAG,CAAC;QAClD,IAAMK,IAAI,GAAG,IAAI,CAACJ,KAAK,CAACV,KAAK,CAACa,SAAS,CAACJ,GAAG,GAAG,CAAC,CAAC;QAChD,OAAO,IAAI,CAACN,KAAK,CAACY,MAAM,CAACC,QAAQ,CAACJ,OAAO,EAAEE,IAAI,EAAE,IAAI,CAAC;MAC1D;IACJ;EAAC;IAAA;IAAA,OAED,gBAAO;MACH,IAAI,CAACG,QAAQ,EAAE,CACVC,IAAI,CAAC,UAAAd,IAAI,EAAI;QACV,IAAI,OAAOe,YAAY,KAAK,WAAW,EAAE;UACrC,IAAMC,OAAO,GAAG,IAAID,YAAY,EAAE;UAClC,IAAME,GAAG,GAAGC,8BAAkB,CAACC,mBAAmB,CAACnB,IAAI,CAACoB,IAAI,CAAC;UAC7DJ,OAAO,CAACK,eAAe,CAACJ,GAAG,EAAE,UAAAK,MAAM,EAAI;YACnC,IAAMC,MAAM,GAAGP,OAAO,CAACQ,kBAAkB,EAAE,CAAC,CAAC;YAC7CD,MAAM,CAACD,MAAM,GAAGA,MAAM,CAAC,CAAsB;YAC7CC,MAAM,CAACE,OAAO,CAACT,OAAO,CAACU,WAAW,CAAC,CAAC,CAAS;YAC7CH,MAAM,CAACI,KAAK,CAAC,CAAC,CAAC;UACnB,CAAC,EAAE,UAAAC,GAAG;YAAA,OAAIC,MAAM,CAACC,KAAK,CAAC,eAAe,GAAGF,GAAG,CAAC;UAAA,EAAC;QAClD;MACJ,CAAC,CAAC;IACV;EAAC;IAAA;IAAA,OAED,mBAAU;MAAA;MACN,IAAMG,SAAS,GAAG,IAAI,CAACzB,KAAK,CAACV,KAAK,CAACoC,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,EAAE,CAACC,WAAW,EAAE;MACjE,IAAI5C,SAAS,CAAC6C,QAAQ,CAACJ,SAAS,CAAC,EAAE;QAC/B,oBAAO;UAAK,SAAS,EAAE,IAAI,CAAChC,KAAK,CAACqC,OAAO,CAACjD,aAAc;UAAC,KAAK,EAAE;YAC5DkD,eAAe,gBAAS,IAAI,CAACnC,WAAW,cAAI,IAAI,CAACI,KAAK,CAACV,KAAK,MAAG;YAC/D0C,cAAc,EAAE,SAAS;YACzBC,gBAAgB,EAAE;UACtB;QAAE,EAAG;MACT,CAAC,MAAM,IAAIhD,SAAS,CAAC4C,QAAQ,CAACJ,SAAS,CAAC,EAAE;QACtC,oBAAO,gCAAC,sBAAU;UAAC,KAAK,EAAE;YAAES,KAAK,EAAE;UAAU,CAAE;UAAC,OAAO,EAAE;YAAA,OAAM,KAAI,CAACC,IAAI,EAAE;UAAA;QAAC,gBAAC,gCAAC,qBAAQ,OAAG,CAAa;MACzG,CAAC,MAAM,IAAIhD,OAAO,CAAC0C,QAAQ,CAACJ,SAAS,CAAC,EAAE;QACpC,oBAAO,gCAAC,mBAAQ,OAAG;MACvB,CAAC,MAAM,IAAIvC,SAAS,CAAC2C,QAAQ,CAACJ,SAAS,CAAC,EAAE;QACtC,oBAAO,gCAAC,oBAAS,OAAG;MACxB,CAAC,MAAM,IAAIrC,MAAM,CAACyC,QAAQ,CAACJ,SAAS,CAAC,EAAE;QACnC,oBAAO,gCAAC,gBAAQ,OAAG;MACvB;MACA,OAAO,IAAI;IACf;EAAC;IAAA;IAAA,OAED,6BAAoB;MAAA;MAChB,IAAI,CAAC,IAAI,CAACzB,KAAK,CAACoC,eAAe,EAAE;QAC7B,OAAO,IAAI;MACf,CAAC,MAAM;QACH,oBAAO,gCAAC,sBAAgB;UACpB,WAAW,EAAE,IAAI,CAAC3C,KAAK,CAACG,WAAY;UACpC,MAAM,EAAE,IAAI,CAACH,KAAK,CAACY,MAAO;UAC1B,QAAQ,EAAE,IAAI,CAACL,KAAK,CAACV,KAAM;UAC3B,OAAO,EAAE;YAAA,OAAM,MAAI,CAACQ,QAAQ,CAAC;cAAEsC,eAAe,EAAE;YAAK,CAAC,CAAC;UAAA,CAAC;UACxD,IAAI,EAAE,cAAA9C,KAAK,EAAI;YACX,MAAI,CAACQ,QAAQ,CAAC;cAAER,KAAK,EAALA;YAAM,CAAC,EAAE;cAAA,OACrB,MAAI,CAAC+C,QAAQ,CAAC,MAAI,CAAC5C,KAAK,CAACE,IAAI,EAAE,MAAI,CAACF,KAAK,CAAC6C,MAAM,CAACC,IAAI,KAAK,KAAK,GAAGjD,KAAK,GAAG,CAACA,KAAK,IAAI,EAAE,EAAEiD,IAAI,EAAE,CAAC;YAAA,EAAC;UACxG,CAAE;UACF,iBAAiB,EAAE,IAAI,CAAC9C,KAAK,CAAC6C,MAAM,CAACE,iBAAkB;UACvD,WAAW,EAAE,IAAI,CAAC/C,KAAK,CAAC6C,MAAM,CAACG,WAAY;UAC3C,aAAa,EAAE,IAAI,CAAChD,KAAK,CAAC6C,MAAM,CAACI,aAAc;UAC/C,iBAAiB,EAAE,IAAI,CAACjD,KAAK,CAAC6C,MAAM,CAACK,iBAAkB;UACvD,SAAS,EAAE,IAAI,CAAClD,KAAK,CAAC6C,MAAM,CAACM,SAAU;UACvC,WAAW,EAAE,IAAI,CAACnD,KAAK,CAAC6C,MAAM,CAACO,WAAY;UAC3C,SAAS,EAAE,IAAI,CAACpD,KAAK,CAAC6C,MAAM,CAACQ;QAAU,EACzC;MACN;IACJ;EAAC;IAAA;IAAA,OAED,oBAAWC,KAAK,EAAEC,QAAQ,EAAEC,YAAY,EAAE;MAAA;MACtC,IAAMC,IAAI,GAAG,IAAI,CAACC,OAAO,EAAE;MAE3B,oBAAO;QAAK,SAAS,EAAE,IAAI,CAAC1D,KAAK,CAACqC,OAAO,CAACtD;MAAU,GAC/C0E,IAAI,eACL,gCAAC,qBAAS;QACN,OAAO,EAAC,UAAU;QAClB,SAAS,EAAEA,IAAI,GAAG,IAAI,CAACzD,KAAK,CAACqC,OAAO,CAAClD,aAAa,GAAG,IAAI,CAACa,KAAK,CAACqC,OAAO,CAACpD,kBAAmB;QAC3F,KAAK,EAAE,IAAI,CAACsB,KAAK,CAACV,KAAK,KAAK,IAAI,IAAI,IAAI,CAACU,KAAK,CAACV,KAAK,KAAKO,SAAS,GAAG,EAAE,GAAG,IAAI,CAACG,KAAK,CAACV,KAAM;QAC3F,KAAK,EAAE,CAAC,CAACyD,KAAM;QACf,QAAQ,EAAE,CAAC,CAACC,QAAS;QACrB,UAAU,EAAE;UACRI,SAAS,EAAE,IAAI,CAAC3D,KAAK,CAAC6C,MAAM,CAACc,SAAS,IAAI,IAAI,CAAC3D,KAAK,CAAC6C,MAAM,CAACe,GAAG,IAAIxD,SAAS;UAC5EyD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC7D,KAAK,CAAC6C,MAAM,CAACiB;QAClC,CAAE;QACF,QAAQ,EAAE,kBAAAC,CAAC,EAAI;UACX,IAAMlE,KAAK,GAAGkE,CAAC,CAACC,MAAM,CAACnE,KAAK;UAC5B,MAAI,CAACQ,QAAQ,CAAC;YAAER,KAAK,EAALA;UAAM,CAAC,EAAE;YAAA,OACrB,MAAI,CAAC+C,QAAQ,CAAC,MAAI,CAAC5C,KAAK,CAACE,IAAI,EAAE,MAAI,CAACF,KAAK,CAAC6C,MAAM,CAACC,IAAI,KAAK,KAAK,GAAGjD,KAAK,GAAG,CAACA,KAAK,IAAI,EAAE,EAAEiD,IAAI,EAAE,CAAC;UAAA,EAAC;QACxG,CAAE;QACF,WAAW,EAAE,IAAI,CAACmB,OAAO,CAAC,IAAI,CAACjE,KAAK,CAAC6C,MAAM,CAACqB,WAAW,CAAE;QACzD,KAAK,EAAE,IAAI,CAACD,OAAO,CAAC,IAAI,CAACjE,KAAK,CAAC6C,MAAM,CAACsB,KAAK,CAAE;QAC7C,UAAU,EAAE,IAAI,CAACC,UAAU,CAAC,IAAI,CAACpE,KAAK,CAAC6C,MAAM,CAACwB,IAAI,EAAE,IAAI,CAACrE,KAAK,CAAC6C,MAAM,CAACyB,QAAQ,EAAE,IAAI,CAACtE,KAAK,CAAC6C,MAAM,CAAC0B,aAAa;MAAE,EACnH,eACF,gCAAC,kBAAM;QAAC,OAAO,EAAC,UAAU;QAAC,OAAO,EAAE;UAAA,OAAM,MAAI,CAAClE,QAAQ,CAAC;YAAEsC,eAAe,EAAE;UAAK,CAAC,CAAC;QAAA;MAAC,GAAC,KAAG,CAAS,EAC/F,IAAI,CAAC6B,iBAAiB,EAAE,CACvB;IACV;EAAC;IAAA;IAAA,OAzGD,kCAAgCxE,KAAK,EAAEO,KAAK,EAAE;MAC1C,IAAMV,KAAK,GAAGC,0BAAa,CAACC,QAAQ,CAACC,KAAK,CAACC,IAAI,EAAED,KAAK,CAACE,IAAI,CAAC;MAC5D,IAAIL,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKO,SAAS,IAAIP,KAAK,CAAC4E,QAAQ,EAAE,CAAC3B,IAAI,EAAE,KAAK,CAACvC,KAAK,CAACV,KAAK,IAAK,EAAE,EAAE4E,QAAQ,EAAE,CAAC3B,IAAI,EAAE,EAAE;QAC7G,OAAO;UAAEjD,KAAK,EAALA;QAAM,CAAC;MACpB,CAAC,MAAM;QACH,OAAO,IAAI;MACf;IACJ;EAAC;EAAA;AAAA,EAfoBC,0BAAa;AAoHtCF,UAAU,CAAC8E,SAAS,GAAG;EACnB9D,MAAM,EAAE+D,qBAAS,CAACC,MAAM,CAACC,UAAU;EACnCC,SAAS,EAAEH,qBAAS,CAACI,MAAM;EAC3BC,SAAS,EAAEL,qBAAS,CAACI,MAAM;EAC3BE,KAAK,EAAEN,qBAAS,CAACC,MAAM;EACvBM,SAAS,EAAEP,qBAAS,CAACI,MAAM;EAC3B9E,IAAI,EAAE0E,qBAAS,CAACC,MAAM,CAACC,UAAU;EACjChC,MAAM,EAAE8B,qBAAS,CAACC,MAAM;EACxBO,OAAO,EAAER,qBAAS,CAACS,IAAI;EACvBxC,QAAQ,EAAE+B,qBAAS,CAACS,IAAI;EACxBjF,WAAW,EAAEwE,qBAAS,CAACS;AAC3B,CAAC;AAAC,eAEa,IAAAC,kBAAU,EAACxG,MAAM,CAAC,CAACe,UAAU,CAAC;AAAA"}
1
+ {"version":3,"file":"ConfigFile.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_Button","_TextField","_IconButton","_Article","_Videocam","_Code","_PlayArrow","_SelectFile","_ConfigGeneric2","_ConfigFileSelector","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","styles","theme","fullWidth","width","fullWidthOneButton","marginRight","fullWidthIcon","selectedImage","height","display","IMAGE_EXT","AUDIO_EXT","VIDEO_EXT","DOC_EXT","JS_EXT","ConfigFile","_ConfigGeneric","_inherits2","_super","_classCallCheck2","_createClass2","key","value","componentDidMount","_get2","ConfigGeneric","getValue","props","data","attr","imagePrefix","undefined","setState","loadFile","pos","state","indexOf","adapter","substring","path","socket","readFile","play","then","AudioContext","context","buf","ConfigFileSelector","base64ToArrayBuffer","file","decodeAudioData","buffer","source","createBufferSource","connect","destination","start","err","window","alert","getIcon","_this","extension","split","pop","toLowerCase","includes","createElement","className","classes","style","backgroundImage","concat","backgroundSize","backgroundRepeat","color","onClick","renderFileBrowser","_this2","showFileBrowser","selected","onClose","onOk","onChange","schema","trim","selectOnlyFolders","allowUpload","allowDownload","allowCreateFolder","allowView","showToolbar","limitPath","renderItem","error","disabled","defaultValue","_this3","icon","variant","inputProps","maxLength","max","readOnly","disableEdit","target","placeholder","getText","label","helperText","renderHelp","help","helpLink","noTranslation","getDerivedStateFromProps","toString","propTypes","PropTypes","object","isRequired","themeType","string","themeName","onError","func","_default","withStyles","exports"],"sources":["JsonConfigComponent/ConfigFile.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/TextField';\nimport IconButton from '@mui/material/IconButton';\n\nimport IconText from '@mui/icons-material/Article';\nimport IconVideo from '@mui/icons-material/Videocam';\nimport IconCode from '@mui/icons-material/Code';\nimport IconPlay from '@mui/icons-material/PlayArrow';\n\nimport SelectFileDialog from './wrapper/Dialogs/SelectFile';\n\nimport ConfigGeneric from './ConfigGeneric';\nimport ConfigFileSelector from './ConfigFileSelector';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n },\n fullWidthOneButton: {\n width: 'calc(100% - 69px)',\n marginRight: 4,\n },\n fullWidthIcon: {\n width: 'calc(100% - 119px)',\n marginRight: 4,\n },\n selectedImage: {\n height: 40,\n width: 40,\n display: 'inline-block',\n marginRight: 8,\n }\n});\n\nconst IMAGE_EXT = ['jpg', 'jpeg', 'svg', 'png', 'webp'];\nconst AUDIO_EXT = ['mp3', 'ogg', 'wav', 'aac'];\nconst VIDEO_EXT = ['avi', 'mp4', 'mov'];\nconst DOC_EXT = ['txt', 'log', 'html', 'htm'];\nconst JS_EXT = ['json', 'js', 'ts'];\n\nclass ConfigFile extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n this.imagePrefix = this.props.imagePrefix === undefined ? './files' : this.props.imagePrefix;\n this.setState({ value });\n }\n\n static getDerivedStateFromProps(props, state) {\n const value = ConfigGeneric.getValue(props.data, props.attr);\n if (value === null || value === undefined || value.toString().trim() !== (state.value || '').toString().trim()) {\n return { value };\n } else {\n return null;\n }\n }\n\n loadFile() {\n const pos = this.state.value.indexOf('/');\n if (pos !== -1) {\n const adapter = this.state.value.substring(0, pos);\n const path = this.state.value.substring(pos + 1);\n return this.props.socket.readFile(adapter, path, true);\n }\n }\n\n play() {\n this.loadFile()\n .then(data => {\n if (typeof AudioContext !== 'undefined') {\n const context = new AudioContext();\n const buf = ConfigFileSelector.base64ToArrayBuffer(data.file);\n context.decodeAudioData(buf, buffer => {\n const source = context.createBufferSource(); // creates a sound source\n source.buffer = buffer; // tell the source which sound to play\n source.connect(context.destination); // connect the source to the context's destination (the speakers)\n source.start(0);\n }, err => window.alert('Cannot play: ' + err));\n }\n });\n }\n\n getIcon() {\n const extension = this.state.value.split('.').pop().toLowerCase();\n if (IMAGE_EXT.includes(extension)) {\n return <div className={this.props.classes.selectedImage} style={{\n backgroundImage: `url(${this.imagePrefix}/${this.state.value})`,\n backgroundSize: 'contain',\n backgroundRepeat: 'no-repeat',\n }} />;\n } else if (AUDIO_EXT.includes(extension)) {\n return <IconButton style={{ color: '#00FF00' }} onClick={() => this.play()}><IconPlay /></IconButton>;\n } else if (DOC_EXT.includes(extension)) {\n return <IconText />;\n } else if (VIDEO_EXT.includes(extension)) {\n return <IconVideo />;\n } else if (JS_EXT.includes(extension)) {\n return <IconCode />;\n }\n return null;\n }\n\n renderFileBrowser() {\n if (!this.state.showFileBrowser) {\n return null;\n } else {\n return <SelectFileDialog\n imagePrefix={this.props.imagePrefix}\n socket={this.props.socket}\n selected={this.state.value}\n onClose={() => this.setState({ showFileBrowser: false})}\n onOk={value => {\n this.setState({ value }, () =>\n this.onChange(this.props.attr, this.props.schema.trim === false ? value : (value || '').trim()));\n }}\n selectOnlyFolders={this.props.schema.selectOnlyFolders}\n allowUpload={this.props.schema.allowUpload}\n allowDownload={this.props.schema.allowDownload}\n allowCreateFolder={this.props.schema.allowCreateFolder}\n allowView={this.props.schema.allowView}\n showToolbar={this.props.schema.showToolbar}\n limitPath={this.props.schema.limitPath}\n />;\n }\n }\n\n renderItem(error, disabled, defaultValue) {\n const icon = this.getIcon();\n\n return <div className={this.props.classes.fullWidth}>\n {icon}\n <TextField\n variant=\"standard\"\n className={icon ? this.props.classes.fullWidthIcon : this.props.classes.fullWidthOneButton}\n value={this.state.value === null || this.state.value === undefined ? '' : this.state.value}\n error={!!error}\n disabled={!!disabled}\n inputProps={{\n maxLength: this.props.schema.maxLength || this.props.schema.max || undefined,\n readOnly: !!this.props.schema.disableEdit\n }}\n onChange={e => {\n const value = e.target.value;\n this.setState({ value }, () =>\n this.onChange(this.props.attr, this.props.schema.trim === false ? value : (value || '').trim()));\n }}\n placeholder={this.getText(this.props.schema.placeholder)}\n label={this.getText(this.props.schema.label)}\n helperText={this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}\n />\n <Button variant=\"outlined\" onClick={() => this.setState({ showFileBrowser: true })}>...</Button>\n {this.renderFileBrowser()}\n </div>;\n }\n}\n\nConfigFile.propTypes = {\n socket: PropTypes.object.isRequired,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n data: PropTypes.object.isRequired,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n imagePrefix: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigFile);"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigFileSelector.js","names":["styles","fullWidth","width","fullWidthOneButton","fullWidthTwoButtons","fullWidthThreeButtons","dropZone","height","position","dropZoneEmpty","image","objectFit","margin","display","uploadDiv","uploadDivDragging","opacity","background","uploadCenterDiv","border","borderRadius","uploadCenterIcon","paddingTop","uploadCenterText","fontSize","uploadCenterTextAndIcon","textAlign","top","bottom","left","right","flexDirection","alignItems","justifyContent","disabledOpacity","cursor","error","deleteButton","selectedImage","marginRight","IMAGE_EXT","AUDIO_EXT","VIDEO_EXT","DOC_EXT","JS_EXT","ConfigFileSelector","props","dropzoneRef","React","createRef","imagePrefix","undefined","objectID","schema","replace","instance","path","upload","endsWith","updateFiles","then","value","ConfigGeneric","getValue","data","attr","setState","readFiles","pattern","files","folderName","filter","socket","readDir","dirFiles","f","length","file","isDir","readFolder","ok","includes","startsWith","regExp","RegExp","test","push","name","size","stats","Utils","formatBytes","console","pos","lastIndexOf","substring","folder","acceptedFiles","reader","FileReader","maxSize","onabort","log","onerror","onload","ext","split","pop","toLowerCase","window","alert","I18n","t","Math","round","base64","btoa","Uint8Array","result","reduce","byte","String","fromCharCode","writeFile64","e","readAsArrayBuffer","state","deleteFile","isOk","readFile","loadFile","AudioContext","context","buf","base64ToArrayBuffer","decodeAudioData","buffer","source","createBufferSource","connect","destination","start","err","item","extension","classes","backgroundImage","backgroundSize","backgroundRepeat","disabled","defaultValue","folders","withFolder","forEach","selectOptions","map","label","noSize","noNone","unshift","find","buttons","refresh","play","element","getText","getIcon","target","onChange","help","renderHelp","helpLink","noTranslation","current","open","color","renderDeleteDialog","accept","last","uploadFile","errors","message","onDrop","getRootProps","getInputProps","clsx","uploadError","binaryString","atob","len","bytes","i","charCodeAt","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","withStyles"],"sources":["JsonConfigComponent/ConfigFileSelector.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\nimport Dropzone from 'react-dropzone';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport MenuItem from '@mui/material/MenuItem';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport FormControl from '@mui/material/FormControl';\nimport Select from '@mui/material/Select';\nimport IconButton from '@mui/material/IconButton';\nimport ListItemText from '@mui/material/ListItemText';\nimport ListItemIcon from '@mui/material/ListItemIcon';\n\nimport IconRefresh from '@mui/icons-material/Refresh';\nimport IconUpload from '@mui/icons-material/UploadFile';\nimport IconDelete from '@mui/icons-material/Delete';\nimport IconPlay from '@mui/icons-material/PlayArrow';\nimport IconAudio from '@mui/icons-material/MusicNote';\nimport IconVideo from '@mui/icons-material/Videocam';\nimport IconText from '@mui/icons-material/Article';\nimport IconCode from '@mui/icons-material/Code';\nimport { FaFileUpload as UploadIcon } from 'react-icons/fa';\n\nimport Utils from './wrapper/Components/Utils';\nimport I18n from './wrapper/i18n';\nimport ConfirmDialog from './wrapper/Dialogs/Confirm';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = () => ({\n fullWidth: {\n width: '100%',\n },\n fullWidthOneButton: {\n width: 'calc(100% - 42px)',\n },\n fullWidthTwoButtons: {\n width: 'calc(100% - 84px)',\n },\n fullWidthThreeButtons: {\n width: 'calc(100% - 126x)',\n },\n dropZone: {\n width: '100%',\n height: '100%',\n position: 'absolute',\n },\n dropZoneEmpty: {\n\n },\n image: {\n objectFit: 'contain',\n margin: 'auto',\n display: 'flex',\n width: '100%',\n height: '100%',\n },\n uploadDiv: {\n position: 'relative',\n width: '100%',\n },\n uploadDivDragging: {\n opacity: 1,\n background: 'rgba(128,255,128,0.1)',\n },\n uploadCenterDiv: {\n margin: 5,\n border: '3px dashed grey',\n borderRadius: 5,\n width: '100%',\n height: '100%',\n position: 'absolute',\n display: 'flex',\n },\n uploadCenterIcon: {\n paddingTop: 10,\n width: 48,\n height: 48,\n },\n uploadCenterText: {\n fontSize: 16,\n },\n uploadCenterTextAndIcon: {\n textAlign: 'center',\n position: 'absolute',\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n },\n disabledOpacity: {\n opacity: 0.3,\n cursor: 'default',\n },\n error: {\n border: '2px solid red',\n },\n deleteButton: {\n\n },\n selectedImage: {\n height: 40,\n width: 40,\n display: 'inline-block',\n marginRight: 8,\n },\n});\n\nconst IMAGE_EXT = ['jpg', 'jpeg', 'svg', 'png', 'webp'];\nconst AUDIO_EXT = ['mp3', 'ogg', 'wav', 'aac'];\nconst VIDEO_EXT = ['avi', 'mp4', 'mov'];\nconst DOC_EXT = ['txt', 'log', 'html', 'htm'];\nconst JS_EXT = ['json', 'js', 'ts'];\n\nclass ConfigFileSelector extends ConfigGeneric {\n constructor(props) {\n super(props);\n this.dropzoneRef = React.createRef();\n this.imagePrefix = this.props.imagePrefix === undefined ? './files' : this.props.imagePrefix;\n }\n\n componentDidMount() {\n super.componentDidMount();\n\n this.objectID = (this.props.schema.objectID || '0_userdata.0').replace('%INSTANCE%', this.props.instance);\n this.path = this.props.schema.upload;\n if (this.path) {\n if (this.path === '/') {\n this.path = '';\n } else {\n if (!this.path.endsWith('/')) {\n this.path = this.path + '/';\n }\n }\n }\n\n // read files\n this.updateFiles()\n .then(() => {\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n this.setState({ value });\n });\n }\n\n updateFiles() {\n return this.readFiles(this.props.schema.pattern)\n .then(files => this.setState({ files }));\n }\n\n async readFolder(folderName, files, filter) {\n try {\n const dirFiles = await this.props.socket.readDir(this.objectID, folderName.replace(/^\\//, '') || null);\n for (let f = 0; f < dirFiles.length; f++) {\n const file = dirFiles[f];\n if (file.isDir) {\n // read it\n await this.readFolder(`${folderName + file.file}/`, files, filter);\n } else {\n let ok = false;\n if (filter === '*.*' && file.file.includes('.')) {\n ok = true;\n } else if (!filter || filter === '*') {\n ok = true;\n } else if (filter === '.*' && file.file.startsWith('.')) {\n ok = true;\n } else {\n const regExp = new RegExp('^' + filter.replace(/\\./g, '\\\\.').replace(/\\*/g,'.*') + '$');\n ok = regExp.test(file.file);\n }\n\n ok && files.push({ name: folderName + file.file, size: file.stats ? Utils.formatBytes(file.stats.size) : '--' })\n }\n }\n } catch (e) {\n console.error(`Cannot read \"${folderName}\": ${e}`);\n }\n\n return files;\n }\n\n async readFiles(pattern) {\n const files = [];\n pattern = pattern || this.props.schema.pattern;\n if (!pattern) {\n pattern = '**/*.*';\n }\n let filter;\n const pos = pattern.lastIndexOf('/');\n if (pos === -1) {\n filter = pattern;\n } else {\n filter = pattern.substring(pos + 1);\n }\n\n if (pattern.startsWith('**')) {\n // read all folders\n await this.readFolder('/', files, filter);\n } else {\n const pos = pattern.lastIndexOf('/');\n if (pos === -1) {\n await this.readFolder('/', files, filter);\n } else {\n const folder = pattern.substring(0, pos + 1);\n await this.readFolder(folder, files, filter);\n }\n }\n\n return files;\n }\n\n onDrop(acceptedFiles) {\n const file = acceptedFiles[0];\n const reader = new FileReader();\n const maxSize = this.props.schema.maxSize || (2 * 1024 * 1024);\n\n reader.onabort = () => console.log('file reading was aborted');\n reader.onerror = () => console.log('file reading has failed');\n reader.onload = () => {\n let ext = 'image/' + file.name.split('.').pop().toLowerCase();\n if (ext === 'image/jpg') {\n ext = 'image/jpeg';\n } else if (ext.includes('svg')) {\n ext = 'image/svg+xml';\n }\n if (file.size > maxSize) {\n return window.alert(I18n.t('File is too big. Max %sk allowed. Try use SVG.', Math.round(maxSize / 1024)));\n }\n const base64 = `data:${ext};base64,${btoa(\n new Uint8Array(reader.result)\n .reduce((data, byte) => data + String.fromCharCode(byte), ''))}`;\n\n this.props.socket.writeFile64(this.objectID, this.path + file.name, base64)\n .then(() => this.updateFiles())\n .catch(e => window.alert('Cannot upload file: ' + e));\n };\n reader.readAsArrayBuffer(file);\n }\n\n renderDeleteDialog() {\n if (!this.state.deleteFile) {\n return null;\n }\n return <ConfirmDialog\n title={ I18n.t('ra_Are you sure?') }\n text={ I18n.t('ra_File will be deleted') }\n ok={ I18n.t('ra_Delete') }\n cancel={ I18n.t('ra_Cancel') }\n onClose={isOk => {\n const deleteFile = this.state.deleteFile;\n this.setState({deleteFile: false}, () => {\n if (isOk) {\n this.props.socket.deleteFile(this.objectID, deleteFile)\n .then(() => this.updateFiles())\n .catch(e => window.alert('Cannot delete file: ' + e));\n }\n });\n }}\n />;\n }\n\n static base64ToArrayBuffer(base64) {\n const binaryString = window.atob(base64);\n const len = binaryString.length;\n const bytes = new Uint8Array(len);\n for (let i = 0; i < len; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes.buffer;\n }\n\n loadFile() {\n return this.props.socket.readFile(this.objectID, this.state.value, true);\n }\n\n play() {\n this.loadFile()\n .then(data => {\n if (typeof AudioContext !== 'undefined') {\n const context = new AudioContext();\n const buf = ConfigFileSelector.base64ToArrayBuffer(data.file);\n context.decodeAudioData(buf, buffer => {\n const source = context.createBufferSource(); // creates a sound source\n source.buffer = buffer; // tell the source which sound to play\n source.connect(context.destination); // connect the source to the context's destination (the speakers)\n source.start(0);\n }, err => window.alert('Cannot play: ' + err));\n }\n });\n }\n\n getIcon(item) {\n if (!item || !item.extension) {\n return null;\n }\n if (IMAGE_EXT.includes(item.extension)) {\n return <div className={this.props.classes.selectedImage} style={{\n backgroundImage: `url(${this.imagePrefix}/${this.objectID}/${item.value})`,\n backgroundSize: 'contain',\n backgroundRepeat: 'no-repeat',\n }} />;\n } else if (AUDIO_EXT.includes(item.extension)) {\n return <IconAudio />;\n } else if (DOC_EXT.includes(item.extension)) {\n return <IconText />;\n } else if (VIDEO_EXT.includes(item.extension)) {\n return <IconVideo />;\n } else if (JS_EXT.includes(item.extension)) {\n return <IconCode />;\n }\n return null;\n }\n\n renderItem(error, disabled, defaultValue) {\n if (!this.state.files) {\n return null;\n }\n let folders = [];\n if (!this.props.schema.withFolder) {\n this.state.files.forEach(file => {\n const pos = file.name.lastIndexOf('/');\n if (pos === -1) {\n if (!folders.includes('/')) {\n folders.push('/');\n }\n } else {\n const folder = file.name.substring(0, pos + 1);\n if (!folders.includes(folder)) {\n folders.push(folder);\n }\n }\n });\n }\n\n const selectOptions = this.state.files\n .map(file => ({\n value: file.name,\n label: !this.props.schema.withFolder && folders.length === 1 ? `${file.name.substring(folders[0].length)}` : `${file.name}` + (this.props.schema.noSize ? '' : `(${file.size})`),\n extension: file.name.toLowerCase().split('.').pop(),\n }));\n\n if (!this.props.schema.noNone) {\n selectOptions.unshift({label: I18n.t('ra_none'), value: ''});\n }\n\n // eslint-disable-next-line\n const item = selectOptions.find(item => item.value === this.state.value);\n\n let buttons = 0;\n\n if (this.props.schema.upload) {\n buttons++;\n }\n if (this.props.schema.refresh) {\n buttons++;\n }\n let play = this.state.value && (this.state.value.endsWith('.mp3') || this.state.value.endsWith('.ogg') || this.state.value.endsWith('.wav'));\n // show play button\n if (play) {\n buttons++;\n }\n\n const element = <div className={this.props.classes.fullWidth}>\n <FormControl variant=\"standard\" style={{width: `calc(100% - ${buttons * 42}px)`}}>\n {this.props.schema.label ? <InputLabel>{this.getText(this.props.schema.label)}</InputLabel> : null}\n <Select\n variant=\"standard\"\n error={!!error}\n disabled={!!disabled}\n value={this.state.value || '_'}\n renderValue={() => <>{this.getIcon(item)}<span>{item?.label || ''}</span></>}\n onChange={e => {\n this.setState({ value: e.target.value === '_' ? '' : e.target.value }, () =>\n this.onChange(this.props.attr, this.state.value));\n }}\n >\n {selectOptions.map(item => {\n return <MenuItem key={item.value} value={item.value}>\n <ListItemIcon>{this.getIcon(item)}</ListItemIcon>\n <ListItemText>{item.label}</ListItemText>\n {this.props.schema.delete && item.value ?\n <IconButton\n className={this.props.classes.deleteButton}\n size=\"small\"\n onClick={() => this.setState({ deleteFile: item.value })}><IconDelete/>\n </IconButton> : null}\n </MenuItem>;\n })}\n </Select>\n {this.props.schema.help ? <FormHelperText>{this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}</FormHelperText> : null}\n </FormControl>\n { this.props.schema.refresh && <IconButton onClick={() => this.updateFiles()}><IconRefresh /></IconButton> }\n { this.props.schema.upload && <IconButton onClick={() => this.dropzoneRef.current?.open()}><IconUpload /></IconButton> }\n { play && <IconButton style={{ color: '#00FF00' }} onClick={() => this.play()}><IconPlay /></IconButton> }\n </div>;\n\n if (!this.props.schema.upload) {\n return <>{element}{this.renderDeleteDialog()}</>;\n } else {\n let accept = {'*/*': []};\n if (this.props.schema.pattern) {\n const last = this.props.schema.pattern.split('/').pop().toLowerCase().replace(/.*\\./, '');\n if (last === 'png' || last === 'jpg' || last === 'svg') {\n accept = {\n 'image/*': ['.png', '.jpg', '.svg']\n };\n } else if (last === 'mp3' || last === 'ogg' || last === 'wav') {\n accept = {\n 'audio/*': ['.mp3', '.ogg', '.wav', '.mp4']\n };\n } else if (last === 'ics') {\n accept = {\n 'text/calendar': ['.mp3', '.ogg', '.wav', '.mp4']\n };\n } else if (last === 'txt') {\n accept = {\n 'text/plain': ['.txt']\n };\n } else if (last === 'pem') {\n accept = {\n 'text/plain': ['.pem']\n };\n } else if (last === 'pem') {\n accept = {\n '*/*': ['.' + last]\n };\n }\n }\n\n return <Dropzone\n ref={this.dropzoneRef}\n multiple={false}\n accept={accept}\n noKeyboard\n noClick\n maxSize={this.props.schema.maxSize || 2 * 1024 * 1024}\n onDragEnter={() => {\n this.setState({ uploadFile: 'dragging' });\n }}\n onDragLeave={() => this.setState({ uploadFile: true })}\n onDrop={(acceptedFiles, errors) => {\n this.setState({ uploadFile: false });\n if (!acceptedFiles.length) {\n window.alert((errors && errors[0] && errors[0].errors && errors[0].errors[0] && errors[0].errors[0].message) || I18n.t('Cannot upload'));\n } else {\n return this.onDrop(acceptedFiles);\n }\n }}\n >\n {({ getRootProps, getInputProps }) => <div\n className={Utils.clsx(\n this.props.classes.uploadDiv,\n this.state.uploadFile === 'dragging' && this.props.classes.uploadDivDragging,\n disabled && this.props.classes.disabledOpacity,\n )}\n {...getRootProps()}\n >\n <input {...getInputProps()} />\n {this.state.uploadFile === 'dragging' ? <div className={Utils.clsx(this.props.classes.uploadCenterDiv, this.state.uploadError && this.props.classes.error)}>\n <div className={this.props.classes.uploadCenterTextAndIcon}>\n <UploadIcon className={this.props.classes.uploadCenterIcon} />\n <div className={this.props.classes.uploadCenterText}>{\n this.state.uploadFile === 'dragging' ? I18n.t('ra_Drop file here') :\n I18n.t('ra_Place your files here or click here to open the browse dialog')}</div>\n </div>\n </div> : null}\n {element}\n {this.renderDeleteDialog()}\n </div>}\n </Dropzone>;\n }\n }\n}\n\nConfigFileSelector.propTypes = {\n socket: PropTypes.object.isRequired,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n data: PropTypes.object.isRequired,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n imagePrefix: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigFileSelector);"],"mappings":"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"}
1
+ {"version":3,"file":"ConfigFileSelector.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_reactDropzone","_InputLabel","_MenuItem","_FormHelperText","_FormControl","_Select","_IconButton","_ListItemText","_ListItemIcon","_Refresh","_UploadFile","_Delete","_PlayArrow","_MusicNote","_Videocam","_Article","_Code","_fa","_Utils","_i18n","_Confirm","_ConfigGeneric2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","styles","fullWidth","width","fullWidthOneButton","fullWidthTwoButtons","fullWidthThreeButtons","dropZone","height","position","dropZoneEmpty","image","objectFit","margin","display","uploadDiv","uploadDivDragging","opacity","background","uploadCenterDiv","border","borderRadius","uploadCenterIcon","paddingTop","uploadCenterText","fontSize","uploadCenterTextAndIcon","textAlign","top","bottom","left","right","flexDirection","alignItems","justifyContent","disabledOpacity","cursor","error","deleteButton","selectedImage","marginRight","IMAGE_EXT","AUDIO_EXT","VIDEO_EXT","DOC_EXT","JS_EXT","ConfigFileSelector","_ConfigGeneric","_inherits2","_super","props","_this","_classCallCheck2","dropzoneRef","React","createRef","imagePrefix","undefined","_createClass2","key","value","componentDidMount","_this2","_get2","objectID","schema","replace","instance","path","upload","endsWith","updateFiles","then","ConfigGeneric","getValue","data","attr","setState","_this3","readFiles","pattern","files","_readFolder","_asyncToGenerator2","_regenerator","mark","_callee","folderName","filter","dirFiles","f","file","ok","regExp","wrap","_callee$","_context","prev","next","socket","readDir","sent","length","isDir","readFolder","concat","includes","startsWith","RegExp","test","push","name","size","stats","Utils","formatBytes","t0","console","abrupt","stop","_x","_x2","_x3","_readFiles","_callee2","pos","_pos","folder","_callee2$","_context2","lastIndexOf","substring","_x4","onDrop","acceptedFiles","_this4","reader","FileReader","maxSize","onabort","log","onerror","onload","ext","split","pop","toLowerCase","window","alert","I18n","t","Math","round","base64","btoa","Uint8Array","reduce","byte","String","fromCharCode","writeFile64","readAsArrayBuffer","renderDeleteDialog","_this5","state","deleteFile","createElement","title","text","cancel","onClose","isOk","loadFile","readFile","play","AudioContext","context","buf","base64ToArrayBuffer","decodeAudioData","buffer","source","createBufferSource","connect","destination","start","err","getIcon","item","extension","className","classes","style","backgroundImage","backgroundSize","backgroundRepeat","renderItem","disabled","defaultValue","_this6","folders","withFolder","forEach","selectOptions","map","label","noSize","noNone","unshift","find","buttons","refresh","element","variant","getText","renderValue","Fragment","onChange","target","onClick","help","renderHelp","helpLink","noTranslation","_this6$dropzoneRef$cu","current","open","color","accept","last","ref","multiple","noKeyboard","noClick","onDragEnter","uploadFile","onDragLeave","errors","message","_ref","getRootProps","getInputProps","_extends2","clsx","uploadError","FaFileUpload","binaryString","atob","len","bytes","i","charCodeAt","propTypes","PropTypes","object","isRequired","themeType","string","themeName","onError","func","_default","withStyles","exports"],"sources":["JsonConfigComponent/ConfigFileSelector.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\nimport Dropzone from 'react-dropzone';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport MenuItem from '@mui/material/MenuItem';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport FormControl from '@mui/material/FormControl';\nimport Select from '@mui/material/Select';\nimport IconButton from '@mui/material/IconButton';\nimport ListItemText from '@mui/material/ListItemText';\nimport ListItemIcon from '@mui/material/ListItemIcon';\n\nimport IconRefresh from '@mui/icons-material/Refresh';\nimport IconUpload from '@mui/icons-material/UploadFile';\nimport IconDelete from '@mui/icons-material/Delete';\nimport IconPlay from '@mui/icons-material/PlayArrow';\nimport IconAudio from '@mui/icons-material/MusicNote';\nimport IconVideo from '@mui/icons-material/Videocam';\nimport IconText from '@mui/icons-material/Article';\nimport IconCode from '@mui/icons-material/Code';\nimport { FaFileUpload as UploadIcon } from 'react-icons/fa';\n\nimport Utils from './wrapper/Components/Utils';\nimport I18n from './wrapper/i18n';\nimport ConfirmDialog from './wrapper/Dialogs/Confirm';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = () => ({\n fullWidth: {\n width: '100%',\n },\n fullWidthOneButton: {\n width: 'calc(100% - 42px)',\n },\n fullWidthTwoButtons: {\n width: 'calc(100% - 84px)',\n },\n fullWidthThreeButtons: {\n width: 'calc(100% - 126x)',\n },\n dropZone: {\n width: '100%',\n height: '100%',\n position: 'absolute',\n },\n dropZoneEmpty: {\n\n },\n image: {\n objectFit: 'contain',\n margin: 'auto',\n display: 'flex',\n width: '100%',\n height: '100%',\n },\n uploadDiv: {\n position: 'relative',\n width: '100%',\n },\n uploadDivDragging: {\n opacity: 1,\n background: 'rgba(128,255,128,0.1)',\n },\n uploadCenterDiv: {\n margin: 5,\n border: '3px dashed grey',\n borderRadius: 5,\n width: '100%',\n height: '100%',\n position: 'absolute',\n display: 'flex',\n },\n uploadCenterIcon: {\n paddingTop: 10,\n width: 48,\n height: 48,\n },\n uploadCenterText: {\n fontSize: 16,\n },\n uploadCenterTextAndIcon: {\n textAlign: 'center',\n position: 'absolute',\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n },\n disabledOpacity: {\n opacity: 0.3,\n cursor: 'default',\n },\n error: {\n border: '2px solid red',\n },\n deleteButton: {\n\n },\n selectedImage: {\n height: 40,\n width: 40,\n display: 'inline-block',\n marginRight: 8,\n },\n});\n\nconst IMAGE_EXT = ['jpg', 'jpeg', 'svg', 'png', 'webp'];\nconst AUDIO_EXT = ['mp3', 'ogg', 'wav', 'aac'];\nconst VIDEO_EXT = ['avi', 'mp4', 'mov'];\nconst DOC_EXT = ['txt', 'log', 'html', 'htm'];\nconst JS_EXT = ['json', 'js', 'ts'];\n\nclass ConfigFileSelector extends ConfigGeneric {\n constructor(props) {\n super(props);\n this.dropzoneRef = React.createRef();\n this.imagePrefix = this.props.imagePrefix === undefined ? './files' : this.props.imagePrefix;\n }\n\n componentDidMount() {\n super.componentDidMount();\n\n this.objectID = (this.props.schema.objectID || '0_userdata.0').replace('%INSTANCE%', this.props.instance);\n this.path = this.props.schema.upload;\n if (this.path) {\n if (this.path === '/') {\n this.path = '';\n } else {\n if (!this.path.endsWith('/')) {\n this.path = this.path + '/';\n }\n }\n }\n\n // read files\n this.updateFiles()\n .then(() => {\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n this.setState({ value });\n });\n }\n\n updateFiles() {\n return this.readFiles(this.props.schema.pattern)\n .then(files => this.setState({ files }));\n }\n\n async readFolder(folderName, files, filter) {\n try {\n const dirFiles = await this.props.socket.readDir(this.objectID, folderName.replace(/^\\//, '') || null);\n for (let f = 0; f < dirFiles.length; f++) {\n const file = dirFiles[f];\n if (file.isDir) {\n // read it\n await this.readFolder(`${folderName + file.file}/`, files, filter);\n } else {\n let ok = false;\n if (filter === '*.*' && file.file.includes('.')) {\n ok = true;\n } else if (!filter || filter === '*') {\n ok = true;\n } else if (filter === '.*' && file.file.startsWith('.')) {\n ok = true;\n } else {\n const regExp = new RegExp('^' + filter.replace(/\\./g, '\\\\.').replace(/\\*/g,'.*') + '$');\n ok = regExp.test(file.file);\n }\n\n ok && files.push({ name: folderName + file.file, size: file.stats ? Utils.formatBytes(file.stats.size) : '--' })\n }\n }\n } catch (e) {\n console.error(`Cannot read \"${folderName}\": ${e}`);\n }\n\n return files;\n }\n\n async readFiles(pattern) {\n const files = [];\n pattern = pattern || this.props.schema.pattern;\n if (!pattern) {\n pattern = '**/*.*';\n }\n let filter;\n const pos = pattern.lastIndexOf('/');\n if (pos === -1) {\n filter = pattern;\n } else {\n filter = pattern.substring(pos + 1);\n }\n\n if (pattern.startsWith('**')) {\n // read all folders\n await this.readFolder('/', files, filter);\n } else {\n const pos = pattern.lastIndexOf('/');\n if (pos === -1) {\n await this.readFolder('/', files, filter);\n } else {\n const folder = pattern.substring(0, pos + 1);\n await this.readFolder(folder, files, filter);\n }\n }\n\n return files;\n }\n\n onDrop(acceptedFiles) {\n const file = acceptedFiles[0];\n const reader = new FileReader();\n const maxSize = this.props.schema.maxSize || (2 * 1024 * 1024);\n\n reader.onabort = () => console.log('file reading was aborted');\n reader.onerror = () => console.log('file reading has failed');\n reader.onload = () => {\n let ext = 'image/' + file.name.split('.').pop().toLowerCase();\n if (ext === 'image/jpg') {\n ext = 'image/jpeg';\n } else if (ext.includes('svg')) {\n ext = 'image/svg+xml';\n }\n if (file.size > maxSize) {\n return window.alert(I18n.t('File is too big. Max %sk allowed. Try use SVG.', Math.round(maxSize / 1024)));\n }\n const base64 = `data:${ext};base64,${btoa(\n new Uint8Array(reader.result)\n .reduce((data, byte) => data + String.fromCharCode(byte), ''))}`;\n\n this.props.socket.writeFile64(this.objectID, this.path + file.name, base64)\n .then(() => this.updateFiles())\n .catch(e => window.alert('Cannot upload file: ' + e));\n };\n reader.readAsArrayBuffer(file);\n }\n\n renderDeleteDialog() {\n if (!this.state.deleteFile) {\n return null;\n }\n return <ConfirmDialog\n title={ I18n.t('ra_Are you sure?') }\n text={ I18n.t('ra_File will be deleted') }\n ok={ I18n.t('ra_Delete') }\n cancel={ I18n.t('ra_Cancel') }\n onClose={isOk => {\n const deleteFile = this.state.deleteFile;\n this.setState({deleteFile: false}, () => {\n if (isOk) {\n this.props.socket.deleteFile(this.objectID, deleteFile)\n .then(() => this.updateFiles())\n .catch(e => window.alert('Cannot delete file: ' + e));\n }\n });\n }}\n />;\n }\n\n static base64ToArrayBuffer(base64) {\n const binaryString = window.atob(base64);\n const len = binaryString.length;\n const bytes = new Uint8Array(len);\n for (let i = 0; i < len; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes.buffer;\n }\n\n loadFile() {\n return this.props.socket.readFile(this.objectID, this.state.value, true);\n }\n\n play() {\n this.loadFile()\n .then(data => {\n if (typeof AudioContext !== 'undefined') {\n const context = new AudioContext();\n const buf = ConfigFileSelector.base64ToArrayBuffer(data.file);\n context.decodeAudioData(buf, buffer => {\n const source = context.createBufferSource(); // creates a sound source\n source.buffer = buffer; // tell the source which sound to play\n source.connect(context.destination); // connect the source to the context's destination (the speakers)\n source.start(0);\n }, err => window.alert('Cannot play: ' + err));\n }\n });\n }\n\n getIcon(item) {\n if (!item || !item.extension) {\n return null;\n }\n if (IMAGE_EXT.includes(item.extension)) {\n return <div className={this.props.classes.selectedImage} style={{\n backgroundImage: `url(${this.imagePrefix}/${this.objectID}/${item.value})`,\n backgroundSize: 'contain',\n backgroundRepeat: 'no-repeat',\n }} />;\n } else if (AUDIO_EXT.includes(item.extension)) {\n return <IconAudio />;\n } else if (DOC_EXT.includes(item.extension)) {\n return <IconText />;\n } else if (VIDEO_EXT.includes(item.extension)) {\n return <IconVideo />;\n } else if (JS_EXT.includes(item.extension)) {\n return <IconCode />;\n }\n return null;\n }\n\n renderItem(error, disabled, defaultValue) {\n if (!this.state.files) {\n return null;\n }\n let folders = [];\n if (!this.props.schema.withFolder) {\n this.state.files.forEach(file => {\n const pos = file.name.lastIndexOf('/');\n if (pos === -1) {\n if (!folders.includes('/')) {\n folders.push('/');\n }\n } else {\n const folder = file.name.substring(0, pos + 1);\n if (!folders.includes(folder)) {\n folders.push(folder);\n }\n }\n });\n }\n\n const selectOptions = this.state.files\n .map(file => ({\n value: file.name,\n label: !this.props.schema.withFolder && folders.length === 1 ? `${file.name.substring(folders[0].length)}` : `${file.name}` + (this.props.schema.noSize ? '' : `(${file.size})`),\n extension: file.name.toLowerCase().split('.').pop(),\n }));\n\n if (!this.props.schema.noNone) {\n selectOptions.unshift({label: I18n.t('ra_none'), value: ''});\n }\n\n // eslint-disable-next-line\n const item = selectOptions.find(item => item.value === this.state.value);\n\n let buttons = 0;\n\n if (this.props.schema.upload) {\n buttons++;\n }\n if (this.props.schema.refresh) {\n buttons++;\n }\n let play = this.state.value && (this.state.value.endsWith('.mp3') || this.state.value.endsWith('.ogg') || this.state.value.endsWith('.wav'));\n // show play button\n if (play) {\n buttons++;\n }\n\n const element = <div className={this.props.classes.fullWidth}>\n <FormControl variant=\"standard\" style={{width: `calc(100% - ${buttons * 42}px)`}}>\n {this.props.schema.label ? <InputLabel>{this.getText(this.props.schema.label)}</InputLabel> : null}\n <Select\n variant=\"standard\"\n error={!!error}\n disabled={!!disabled}\n value={this.state.value || '_'}\n renderValue={() => <>{this.getIcon(item)}<span>{item?.label || ''}</span></>}\n onChange={e => {\n this.setState({ value: e.target.value === '_' ? '' : e.target.value }, () =>\n this.onChange(this.props.attr, this.state.value));\n }}\n >\n {selectOptions.map(item => {\n return <MenuItem key={item.value} value={item.value}>\n <ListItemIcon>{this.getIcon(item)}</ListItemIcon>\n <ListItemText>{item.label}</ListItemText>\n {this.props.schema.delete && item.value ?\n <IconButton\n className={this.props.classes.deleteButton}\n size=\"small\"\n onClick={() => this.setState({ deleteFile: item.value })}><IconDelete/>\n </IconButton> : null}\n </MenuItem>;\n })}\n </Select>\n {this.props.schema.help ? <FormHelperText>{this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}</FormHelperText> : null}\n </FormControl>\n { this.props.schema.refresh && <IconButton onClick={() => this.updateFiles()}><IconRefresh /></IconButton> }\n { this.props.schema.upload && <IconButton onClick={() => this.dropzoneRef.current?.open()}><IconUpload /></IconButton> }\n { play && <IconButton style={{ color: '#00FF00' }} onClick={() => this.play()}><IconPlay /></IconButton> }\n </div>;\n\n if (!this.props.schema.upload) {\n return <>{element}{this.renderDeleteDialog()}</>;\n } else {\n let accept = {'*/*': []};\n if (this.props.schema.pattern) {\n const last = this.props.schema.pattern.split('/').pop().toLowerCase().replace(/.*\\./, '');\n if (last === 'png' || last === 'jpg' || last === 'svg') {\n accept = {\n 'image/*': ['.png', '.jpg', '.svg']\n };\n } else if (last === 'mp3' || last === 'ogg' || last === 'wav') {\n accept = {\n 'audio/*': ['.mp3', '.ogg', '.wav', '.mp4']\n };\n } else if (last === 'ics') {\n accept = {\n 'text/calendar': ['.mp3', '.ogg', '.wav', '.mp4']\n };\n } else if (last === 'txt') {\n accept = {\n 'text/plain': ['.txt']\n };\n } else if (last === 'pem') {\n accept = {\n 'text/plain': ['.pem']\n };\n } else if (last === 'pem') {\n accept = {\n '*/*': ['.' + last]\n };\n }\n }\n\n return <Dropzone\n ref={this.dropzoneRef}\n multiple={false}\n accept={accept}\n noKeyboard\n noClick\n maxSize={this.props.schema.maxSize || 2 * 1024 * 1024}\n onDragEnter={() => {\n this.setState({ uploadFile: 'dragging' });\n }}\n onDragLeave={() => this.setState({ uploadFile: true })}\n onDrop={(acceptedFiles, errors) => {\n this.setState({ uploadFile: false });\n if (!acceptedFiles.length) {\n window.alert((errors && errors[0] && errors[0].errors && errors[0].errors[0] && errors[0].errors[0].message) || I18n.t('Cannot upload'));\n } else {\n return this.onDrop(acceptedFiles);\n }\n }}\n >\n {({ getRootProps, getInputProps }) => <div\n className={Utils.clsx(\n this.props.classes.uploadDiv,\n this.state.uploadFile === 'dragging' && this.props.classes.uploadDivDragging,\n disabled && this.props.classes.disabledOpacity,\n )}\n {...getRootProps()}\n >\n <input {...getInputProps()} />\n {this.state.uploadFile === 'dragging' ? <div className={Utils.clsx(this.props.classes.uploadCenterDiv, this.state.uploadError && this.props.classes.error)}>\n <div className={this.props.classes.uploadCenterTextAndIcon}>\n <UploadIcon className={this.props.classes.uploadCenterIcon} />\n <div className={this.props.classes.uploadCenterText}>{\n this.state.uploadFile === 'dragging' ? I18n.t('ra_Drop file here') :\n I18n.t('ra_Place your files here or click here to open the browse dialog')}</div>\n </div>\n </div> : null}\n {element}\n {this.renderDeleteDialog()}\n </div>}\n </Dropzone>;\n }\n }\n}\n\nConfigFileSelector.propTypes = {\n socket: PropTypes.object.isRequired,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n data: PropTypes.object.isRequired,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n imagePrefix: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigFileSelector);"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigFunc.js","names":["styles","fullWidth","width","ConfigFunc","value","ConfigGeneric","getValue","props","data","attr","socket","getEnums","then","enums","selectOptions","Object","keys","map","id","schema","replace","label","getText","common","name","obj","allowDeactivate","unshift","I18n","t","NONE_LABEL","NONE_VALUE","setState","error","disabled","defaultValue","state","item","find","classes","themeType","getLanguage","e","target","onChange","DIFFERENT_VALUE","opacity","help","renderHelp","helpLink","noTranslation","propTypes","PropTypes","object","isRequired","string","themeName","style","className","onError","func","withStyles"],"sources":["JsonConfigComponent/ConfigFunc.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport MenuItem from '@mui/material/MenuItem';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport FormControl from '@mui/material/FormControl';\nimport Select from '@mui/material/Select';\n\nimport TextWithIcon from './wrapper/Components/TextWithIcon';\nimport I18n from './wrapper/i18n';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = () => ({\n fullWidth: {\n width: '100%',\n },\n});\n\nclass ConfigFunc extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n\n this.props.socket.getEnums('functions')\n .then(enums => {\n const selectOptions = Object.keys(enums)\n .map(id => ({ value: this.props.schema.short ? id.replace('enum.functions.', '') : id, label: this.getText(enums[id].common.name), obj: enums[id]}));\n\n if (this.props.schema.allowDeactivate !== false) {\n selectOptions.unshift({ label: I18n.t(ConfigGeneric.NONE_LABEL), value: ConfigGeneric.NONE_VALUE });\n }\n\n this.setState({ value, selectOptions });\n });\n }\n\n renderItem(error, disabled, defaultValue) {\n if (!this.state.selectOptions) {\n return null;\n }\n\n const item = this.state.selectOptions.find(item => item.value === this.state.value);\n\n return <FormControl\n variant=\"standard\"\n className={this.props.classes.fullWidth}\n >\n {this.props.schema.label ? <InputLabel>{this.getText(this.props.schema.label)}</InputLabel> : null}\n <Select\n variant=\"standard\"\n error={!!error}\n disabled={!!disabled}\n value={this.state.value || '_'}\n renderValue={() => item ? (item.obj ? <TextWithIcon value={item.obj} themeType={this.props.themeType} lang={I18n.getLanguage()} /> : item.label) : ''}\n onChange={e => {\n this.setState({ value: e.target.value === '_' ? '' : e.target.value }, () =>\n this.onChange(this.props.attr, this.state.value));\n }}\n >\n {this.state.selectOptions.map(item =>\n <MenuItem key={item.value} value={item.value} style={item.value === ConfigGeneric.DIFFERENT_VALUE ? { opacity: 0.5 } : {}}>\n {item.obj ? <TextWithIcon value={item.obj} themeType={this.props.themeType} lang={I18n.getLanguage()} /> : item.label}\n </MenuItem>)}\n </Select>\n {this.props.schema.help ? <FormHelperText>{this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}</FormHelperText> : null}\n </FormControl>;\n }\n}\n\nConfigFunc.propTypes = {\n socket: PropTypes.object.isRequired,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n data: PropTypes.object.isRequired,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigFunc);"],"mappings":"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"}
1
+ {"version":3,"file":"ConfigFunc.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_InputLabel","_MenuItem","_FormHelperText","_FormControl","_Select","_TextWithIcon","_i18n","_ConfigGeneric2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","styles","fullWidth","width","ConfigFunc","_ConfigGeneric","_inherits2","_super","_classCallCheck2","_createClass2","key","value","componentDidMount","_this","_get2","ConfigGeneric","getValue","props","data","attr","socket","getEnums","then","enums","selectOptions","Object","keys","map","id","schema","replace","label","getText","common","name","obj","allowDeactivate","unshift","I18n","t","NONE_LABEL","NONE_VALUE","setState","renderItem","error","disabled","defaultValue","_this2","state","item","find","createElement","variant","className","classes","renderValue","themeType","lang","getLanguage","onChange","target","style","DIFFERENT_VALUE","opacity","help","renderHelp","helpLink","noTranslation","propTypes","PropTypes","object","isRequired","string","themeName","onError","func","_default","withStyles","exports"],"sources":["JsonConfigComponent/ConfigFunc.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport MenuItem from '@mui/material/MenuItem';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport FormControl from '@mui/material/FormControl';\nimport Select from '@mui/material/Select';\n\nimport TextWithIcon from './wrapper/Components/TextWithIcon';\nimport I18n from './wrapper/i18n';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = () => ({\n fullWidth: {\n width: '100%',\n },\n});\n\nclass ConfigFunc extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n\n this.props.socket.getEnums('functions')\n .then(enums => {\n const selectOptions = Object.keys(enums)\n .map(id => ({ value: this.props.schema.short ? id.replace('enum.functions.', '') : id, label: this.getText(enums[id].common.name), obj: enums[id]}));\n\n if (this.props.schema.allowDeactivate !== false) {\n selectOptions.unshift({ label: I18n.t(ConfigGeneric.NONE_LABEL), value: ConfigGeneric.NONE_VALUE });\n }\n\n this.setState({ value, selectOptions });\n });\n }\n\n renderItem(error, disabled, defaultValue) {\n if (!this.state.selectOptions) {\n return null;\n }\n\n const item = this.state.selectOptions.find(item => item.value === this.state.value);\n\n return <FormControl\n variant=\"standard\"\n className={this.props.classes.fullWidth}\n >\n {this.props.schema.label ? <InputLabel>{this.getText(this.props.schema.label)}</InputLabel> : null}\n <Select\n variant=\"standard\"\n error={!!error}\n disabled={!!disabled}\n value={this.state.value || '_'}\n renderValue={() => item ? (item.obj ? <TextWithIcon value={item.obj} themeType={this.props.themeType} lang={I18n.getLanguage()} /> : item.label) : ''}\n onChange={e => {\n this.setState({ value: e.target.value === '_' ? '' : e.target.value }, () =>\n this.onChange(this.props.attr, this.state.value));\n }}\n >\n {this.state.selectOptions.map(item =>\n <MenuItem key={item.value} value={item.value} style={item.value === ConfigGeneric.DIFFERENT_VALUE ? { opacity: 0.5 } : {}}>\n {item.obj ? <TextWithIcon value={item.obj} themeType={this.props.themeType} lang={I18n.getLanguage()} /> : item.label}\n </MenuItem>)}\n </Select>\n {this.props.schema.help ? <FormHelperText>{this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}</FormHelperText> : null}\n </FormControl>;\n }\n}\n\nConfigFunc.propTypes = {\n socket: PropTypes.object.isRequired,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n data: PropTypes.object.isRequired,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigFunc);"],"mappings":"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"}