@iobroker/adapter-react-v5 7.4.22 → 7.5.1

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 (119) hide show
  1. package/LICENSE +22 -22
  2. package/build/AdminConnection.js.map +1 -1
  3. package/build/Components/404.js +13 -13
  4. package/build/Components/404.js.map +1 -1
  5. package/build/Components/ColorPicker.js.map +1 -1
  6. package/build/Components/ComplexCron.js.map +1 -1
  7. package/build/Components/CopyToClipboard.js.map +1 -1
  8. package/build/Components/CustomModal.js.map +1 -1
  9. package/build/Components/FileBrowser.js +1 -1
  10. package/build/Components/FileBrowser.js.map +1 -1
  11. package/build/Components/FileViewer.js.map +1 -1
  12. package/build/Components/Icon.js.map +1 -1
  13. package/build/Components/IconPicker.js.map +1 -1
  14. package/build/Components/IconSelector.js.map +1 -1
  15. package/build/Components/IobUri.js.map +1 -1
  16. package/build/Components/Loader.js +223 -223
  17. package/build/Components/Loader.js.map +1 -1
  18. package/build/Components/Loaders/MV.js.map +1 -1
  19. package/build/Components/Loaders/PT.js +103 -103
  20. package/build/Components/Loaders/PT.js.map +1 -1
  21. package/build/Components/Loaders/Vendor.js +7 -7
  22. package/build/Components/Loaders/Vendor.js.map +1 -1
  23. package/build/Components/MDUtils.js.map +1 -1
  24. package/build/Components/ObjectBrowser.d.ts +25 -8
  25. package/build/Components/ObjectBrowser.js +46 -12
  26. package/build/Components/ObjectBrowser.js.map +1 -1
  27. package/build/Components/Router.js.map +1 -1
  28. package/build/Components/SaveCloseButtons.js.map +1 -1
  29. package/build/Components/Schedule.js.map +1 -1
  30. package/build/Components/SelectWithIcon.js.map +1 -1
  31. package/build/Components/SimpleCron/cronText.js.map +1 -1
  32. package/build/Components/SimpleCron/index.js.map +1 -1
  33. package/build/Components/TabContainer.js.map +1 -1
  34. package/build/Components/TabContent.js.map +1 -1
  35. package/build/Components/TabHeader.js.map +1 -1
  36. package/build/Components/TableResize.js.map +1 -1
  37. package/build/Components/TextWithIcon.js.map +1 -1
  38. package/build/Components/ToggleThemeMenu.js.map +1 -1
  39. package/build/Components/TreeTable.js.map +1 -1
  40. package/build/Components/UploadImage.js +305 -305
  41. package/build/Components/UploadImage.js.map +1 -1
  42. package/build/Components/withWidth.js.map +1 -1
  43. package/build/Connection.js.map +1 -1
  44. package/build/Dialogs/ComplexCron.js.map +1 -1
  45. package/build/Dialogs/Confirm.js.map +1 -1
  46. package/build/Dialogs/Cron.js.map +1 -1
  47. package/build/Dialogs/Error.js.map +1 -1
  48. package/build/Dialogs/Message.js.map +1 -1
  49. package/build/Dialogs/SelectFile.js.map +1 -1
  50. package/build/Dialogs/SelectID.d.ts +3 -0
  51. package/build/Dialogs/SelectID.js +17 -4
  52. package/build/Dialogs/SelectID.js.map +1 -1
  53. package/build/Dialogs/SimpleCron.js.map +1 -1
  54. package/build/Dialogs/TextInput.d.ts +1 -1
  55. package/build/Dialogs/TextInput.js.map +1 -1
  56. package/build/GenericApp.js.map +1 -1
  57. package/build/LegacyConnection.d.ts +4 -46
  58. package/build/LegacyConnection.js.map +1 -1
  59. package/build/Prompt.js +7 -7
  60. package/build/Prompt.js.map +1 -1
  61. package/build/assets/devices/parseNames.js.map +1 -1
  62. package/build/assets/devices.json +1 -1
  63. package/build/assets/lamp_ceiling.svg +8 -8
  64. package/build/assets/lamp_table.svg +7 -7
  65. package/build/assets/no_icon.svg +9 -9
  66. package/build/assets/rooms/parseNames.js.map +1 -1
  67. package/build/assets/rooms.json +1 -1
  68. package/build/dictionary.js.map +1 -1
  69. package/build/i18n/de.json +6 -0
  70. package/build/i18n/en.json +6 -0
  71. package/build/i18n/es.json +6 -0
  72. package/build/i18n/fr.json +6 -0
  73. package/build/i18n/it.json +6 -0
  74. package/build/i18n/nl.json +6 -0
  75. package/build/i18n/pl.json +6 -0
  76. package/build/i18n/pt.json +6 -0
  77. package/build/i18n/ru.json +6 -0
  78. package/build/i18n/uk.json +6 -0
  79. package/build/i18n/zh-cn.json +6 -0
  80. package/build/i18n.js.map +1 -1
  81. package/build/icons/IconAdapter.js.map +1 -1
  82. package/build/icons/IconAlias.js.map +1 -1
  83. package/build/icons/IconButtonImage.js.map +1 -1
  84. package/build/icons/IconChannel.js.map +1 -1
  85. package/build/icons/IconClearFilter.js.map +1 -1
  86. package/build/icons/IconClosed.js.map +1 -1
  87. package/build/icons/IconCopy.js.map +1 -1
  88. package/build/icons/IconDevice.js.map +1 -1
  89. package/build/icons/IconDocument.js.map +1 -1
  90. package/build/icons/IconDocumentReadOnly.js.map +1 -1
  91. package/build/icons/IconExpert.js.map +1 -1
  92. package/build/icons/IconFx.js +1 -1
  93. package/build/icons/IconFx.js.map +1 -1
  94. package/build/icons/IconInstance.js.map +1 -1
  95. package/build/icons/IconLogout.js +1 -1
  96. package/build/icons/IconLogout.js.map +1 -1
  97. package/build/icons/IconNoIcon.js.map +1 -1
  98. package/build/icons/IconOpen.js.map +1 -1
  99. package/build/icons/IconProps.js.map +1 -1
  100. package/build/icons/IconState.js.map +1 -1
  101. package/build/icons/IconVacuum.js.map +1 -1
  102. package/build/index.css +56 -56
  103. package/build/index.js.map +1 -1
  104. package/craco-module-federation.js +62 -62
  105. package/i18n/de.json +6 -0
  106. package/i18n/en.json +6 -0
  107. package/i18n/es.json +6 -0
  108. package/i18n/fr.json +6 -0
  109. package/i18n/it.json +6 -0
  110. package/i18n/nl.json +6 -0
  111. package/i18n/pl.json +6 -0
  112. package/i18n/pt.json +6 -0
  113. package/i18n/ru.json +6 -0
  114. package/i18n/uk.json +6 -0
  115. package/i18n/zh-cn.json +6 -0
  116. package/index.css +56 -56
  117. package/modulefederation.admin.config.js +33 -33
  118. package/package.json +4 -5
  119. package/tasksExample.js +91 -91
package/LICENSE CHANGED
@@ -1,22 +1,22 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2019-2024 bluefox <dogafox@gmail.com>
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
22
-
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2019-2024 bluefox <dogafox@gmail.com>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
@@ -1 +1 @@
1
- {"version":3,"file":"AdminConnection.js","sourceRoot":"./src/","sources":["AdminConnection.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC","sourcesContent":["export { AdminConnection } from '@iobroker/socket-client';\n"]}
1
+ {"version":3,"file":"AdminConnection.js","sourceRoot":"./src/","sources":["AdminConnection.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC","sourcesContent":["export { AdminConnection } from '@iobroker/socket-client';\r\n"]}
@@ -23,17 +23,17 @@ const styles = {
23
23
  fontFamily: "'Inconsolata', Helvetica, sans-serif",
24
24
  fontSize: '1.5rem',
25
25
  color: 'rgba(128, 175, 255, 0.8)',
26
- textShadow: `0 0 1ex rgba(51, 70, 255, 1),
26
+ textShadow: `0 0 1ex rgba(51, 70, 255, 1),
27
27
  0 0 2px rgba(255, 255, 255, 0.8)`,
28
28
  },
29
29
  overlay: {
30
30
  pointerEvents: 'none',
31
31
  width: '100%',
32
32
  height: '100%',
33
- background: `repeating-linear-gradient(
34
- 180deg,
35
- rgba(0, 0, 0, 0) 0,
36
- rgba(0, 0, 0, 0.3) 50%,
33
+ background: `repeating-linear-gradient(
34
+ 180deg,
35
+ rgba(0, 0, 0, 0) 0,
36
+ rgba(0, 0, 0, 0.3) 50%,
37
37
  rgba(0, 0, 0, 0) 100%)`,
38
38
  backgroundSize: 'auto 4px',
39
39
  zIndex: 99,
@@ -48,12 +48,12 @@ const styles = {
48
48
  bottom: 0,
49
49
  width: '100%',
50
50
  height: '100%',
51
- backgroundImage: `linear-gradient(
52
- 0deg,
53
- transparent 0%,
54
- rgba(32, 50, 128, 0.2) 2%,
55
- rgba(32, 50, 128, 0.8) 3%,
56
- rgba(32, 50, 128, 0.2) 3%,
51
+ backgroundImage: `linear-gradient(
52
+ 0deg,
53
+ transparent 0%,
54
+ rgba(32, 50, 128, 0.2) 2%,
55
+ rgba(32, 50, 128, 0.8) 3%,
56
+ rgba(32, 50, 128, 0.2) 3%,
57
57
  transparent 100%)`,
58
58
  backgroundRepeat: 'no-repeat',
59
59
  animation: 'scan 7.5s linear 0s infinite',
@@ -70,8 +70,8 @@ const styles = {
70
70
  },
71
71
  output: {
72
72
  color: 'rgba(128, 175, 255, 0.8)',
73
- textShadow: `
74
- 0 0 1px rgba(51, 70, 255, 0.4),
73
+ textShadow: `
74
+ 0 0 1px rgba(51, 70, 255, 0.4),
75
75
  0 0 2px rgba(255, 255, 255, 0.8)`,
76
76
  '&::before': {
77
77
  content: '"> "',
@@ -1 +1 @@
1
- {"version":3,"file":"404.js","sourceRoot":"./src/","sources":["Components/404.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC;;;EAGE;AAEF,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,MAAM,MAAM,GAAwB;IAChC,OAAO,EAAE;QACL,UAAU,EAAE,OAAO;QACnB,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,CAAC;QACN,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;KACX;IACD,IAAI,EAAE;QACF,SAAS,EAAE,YAAY;QACvB,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,MAAM;QACb,eAAe,EAAE,SAAS;QAC1B,eAAe,EAAE,oCAAoC;QACrD,UAAU,EAAE,sCAAsC;QAClD,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,0BAA0B;QACjC,UAAU,EAAE;yCACqB;KACpC;IACD,OAAO,EAAE;QACL,aAAa,EAAE,MAAM;QACrB,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;QACd,UAAU,EAAE;;;;mCAIe;QAC3B,cAAc,EAAE,UAAU;QAC1B,MAAM,EAAE,EAAE;QACV,WAAW,EAAE;YACT,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,MAAM;YACrB,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,OAAO;YAChB,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,eAAe,EAAE;;;;;;kCAMK;YACtB,gBAAgB,EAAE,WAAW;YAC7B,SAAS,EAAE,8BAA8B;SAC5C;KACJ;IAED,QAAQ,EAAE;QACN,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,WAAW;KAC7B;IACD,MAAM,EAAE;QACJ,KAAK,EAAE,0BAA0B;QACjC,UAAU,EAAE;;6CAEyB;QACrC,WAAW,EAAE;YACT,OAAO,EAAE,MAAM;SAClB;KACJ;IACD,SAAS,EAAE;QACP,KAAK,EAAE,OAAO;KACjB;CACJ,CAAC;AAEF,mCAAmC;AACnC,SAAS,OAAO;IACZ,OAAO,CACH,6BAAK,KAAK,EAAE,MAAM,CAAC,OAAO;QACtB,6BAAK,KAAK,EAAE,MAAM,CAAC,IAAI;YACnB,oBAAC,GAAG,IACA,SAAS,EAAC,KAAK,EACf,EAAE,EAAE,MAAM,CAAC,OAAO;gBAElB,6BAAK,KAAK,EAAE,MAAM,CAAC,QAAQ;oBACvB;wBACK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;wBACnB,8BAAM,KAAK,EAAE,MAAM,CAAC,SAAS,UAAY,CACxC;oBACL,oBAAC,GAAG,IACA,SAAS,EAAC,GAAG,EACb,EAAE,EAAE,MAAM,CAAC,MAAM,IAEhB,IAAI,CAAC,CAAC,CAAC,+CAA+C,CAAC,CACtD;oBACN,oBAAC,GAAG,IACA,SAAS,EAAC,GAAG,EACb,EAAE,EAAE,MAAM,CAAC,MAAM,IAEhB,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CACrB,CACJ,CACJ,CACJ,CACJ,CACT,CAAC;AACN,CAAC;AAED,eAAe,OAAO,CAAC","sourcesContent":["import React, { type JSX } from 'react';\nimport { Box } from '@mui/material';\n\n/*\nCopyright 2019 Robin Selmer\nhttps://codepen.io/robinselmer/pen/vJjbOZ\n*/\n\nimport { I18n } from '../i18n';\n\nconst styles: Record<string, any> = {\n content: {\n background: 'black',\n position: 'absolute',\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n },\n root: {\n boxSizing: 'border-box',\n height: '100%',\n width: '100%',\n backgroundColor: '#000000',\n backgroundImage: 'radial-gradient(#104254 , #05181c)',\n fontFamily: \"'Inconsolata', Helvetica, sans-serif\",\n fontSize: '1.5rem',\n color: 'rgba(128, 175, 255, 0.8)',\n textShadow: `0 0 1ex rgba(51, 70, 255, 1),\n 0 0 2px rgba(255, 255, 255, 0.8)`,\n },\n overlay: {\n pointerEvents: 'none',\n width: '100%',\n height: '100%',\n background: `repeating-linear-gradient(\n 180deg,\n rgba(0, 0, 0, 0) 0,\n rgba(0, 0, 0, 0.3) 50%,\n rgba(0, 0, 0, 0) 100%)`,\n backgroundSize: 'auto 4px',\n zIndex: 99,\n '&::before': {\n content: '\"\"',\n pointerEvents: 'none',\n position: 'absolute',\n display: 'block',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n width: '100%',\n height: '100%',\n backgroundImage: `linear-gradient(\n 0deg,\n transparent 0%,\n rgba(32, 50, 128, 0.2) 2%,\n rgba(32, 50, 128, 0.8) 3%,\n rgba(32, 50, 128, 0.2) 3%,\n transparent 100%)`,\n backgroundRepeat: 'no-repeat',\n animation: 'scan 7.5s linear 0s infinite',\n },\n },\n\n terminal: {\n boxSizing: 'inherit',\n position: 'absolute',\n height: '100%',\n width: 'calc(100% - 8rem)',\n maxWidth: '100%',\n padding: '4rem',\n textTransform: 'uppercase',\n },\n output: {\n color: 'rgba(128, 175, 255, 0.8)',\n textShadow: `\n 0 0 1px rgba(51, 70, 255, 0.4),\n 0 0 2px rgba(255, 255, 255, 0.8)`,\n '&::before': {\n content: '\"> \"',\n },\n },\n errorCode: {\n color: 'white',\n },\n};\n\n/** Generates the 404 error page */\nfunction Page404(): JSX.Element {\n return (\n <div style={styles.content}>\n <div style={styles.root}>\n <Box\n component=\"div\"\n sx={styles.overlay}\n >\n <div style={styles.terminal}>\n <h1>\n {I18n.t('ra_Error')}\n <span style={styles.errorCode}>404</span>\n </h1>\n <Box\n component=\"p\"\n sx={styles.output}\n >\n {I18n.t('ra_The page you are looking for was not found')}\n </Box>\n <Box\n component=\"p\"\n sx={styles.output}\n >\n {I18n.t('ra_Good luck')}\n </Box>\n </div>\n </Box>\n </div>\n </div>\n );\n}\n\nexport default Page404;\n"]}
1
+ {"version":3,"file":"404.js","sourceRoot":"./src/","sources":["Components/404.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC;;;EAGE;AAEF,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,MAAM,MAAM,GAAwB;IAChC,OAAO,EAAE;QACL,UAAU,EAAE,OAAO;QACnB,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,CAAC;QACN,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;KACX;IACD,IAAI,EAAE;QACF,SAAS,EAAE,YAAY;QACvB,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,MAAM;QACb,eAAe,EAAE,SAAS;QAC1B,eAAe,EAAE,oCAAoC;QACrD,UAAU,EAAE,sCAAsC;QAClD,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,0BAA0B;QACjC,UAAU,EAAE;yCACqB;KACpC;IACD,OAAO,EAAE;QACL,aAAa,EAAE,MAAM;QACrB,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;QACd,UAAU,EAAE;;;;mCAIe;QAC3B,cAAc,EAAE,UAAU;QAC1B,MAAM,EAAE,EAAE;QACV,WAAW,EAAE;YACT,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,MAAM;YACrB,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,OAAO;YAChB,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,eAAe,EAAE;;;;;;kCAMK;YACtB,gBAAgB,EAAE,WAAW;YAC7B,SAAS,EAAE,8BAA8B;SAC5C;KACJ;IAED,QAAQ,EAAE;QACN,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,WAAW;KAC7B;IACD,MAAM,EAAE;QACJ,KAAK,EAAE,0BAA0B;QACjC,UAAU,EAAE;;6CAEyB;QACrC,WAAW,EAAE;YACT,OAAO,EAAE,MAAM;SAClB;KACJ;IACD,SAAS,EAAE;QACP,KAAK,EAAE,OAAO;KACjB;CACJ,CAAC;AAEF,mCAAmC;AACnC,SAAS,OAAO;IACZ,OAAO,CACH,6BAAK,KAAK,EAAE,MAAM,CAAC,OAAO;QACtB,6BAAK,KAAK,EAAE,MAAM,CAAC,IAAI;YACnB,oBAAC,GAAG,IACA,SAAS,EAAC,KAAK,EACf,EAAE,EAAE,MAAM,CAAC,OAAO;gBAElB,6BAAK,KAAK,EAAE,MAAM,CAAC,QAAQ;oBACvB;wBACK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;wBACnB,8BAAM,KAAK,EAAE,MAAM,CAAC,SAAS,UAAY,CACxC;oBACL,oBAAC,GAAG,IACA,SAAS,EAAC,GAAG,EACb,EAAE,EAAE,MAAM,CAAC,MAAM,IAEhB,IAAI,CAAC,CAAC,CAAC,+CAA+C,CAAC,CACtD;oBACN,oBAAC,GAAG,IACA,SAAS,EAAC,GAAG,EACb,EAAE,EAAE,MAAM,CAAC,MAAM,IAEhB,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CACrB,CACJ,CACJ,CACJ,CACJ,CACT,CAAC;AACN,CAAC;AAED,eAAe,OAAO,CAAC","sourcesContent":["import React, { type JSX } from 'react';\r\nimport { Box } from '@mui/material';\r\n\r\n/*\r\nCopyright 2019 Robin Selmer\r\nhttps://codepen.io/robinselmer/pen/vJjbOZ\r\n*/\r\n\r\nimport { I18n } from '../i18n';\r\n\r\nconst styles: Record<string, any> = {\r\n content: {\r\n background: 'black',\r\n position: 'absolute',\r\n top: 0,\r\n bottom: 0,\r\n left: 0,\r\n right: 0,\r\n },\r\n root: {\r\n boxSizing: 'border-box',\r\n height: '100%',\r\n width: '100%',\r\n backgroundColor: '#000000',\r\n backgroundImage: 'radial-gradient(#104254 , #05181c)',\r\n fontFamily: \"'Inconsolata', Helvetica, sans-serif\",\r\n fontSize: '1.5rem',\r\n color: 'rgba(128, 175, 255, 0.8)',\r\n textShadow: `0 0 1ex rgba(51, 70, 255, 1),\r\n 0 0 2px rgba(255, 255, 255, 0.8)`,\r\n },\r\n overlay: {\r\n pointerEvents: 'none',\r\n width: '100%',\r\n height: '100%',\r\n background: `repeating-linear-gradient(\r\n 180deg,\r\n rgba(0, 0, 0, 0) 0,\r\n rgba(0, 0, 0, 0.3) 50%,\r\n rgba(0, 0, 0, 0) 100%)`,\r\n backgroundSize: 'auto 4px',\r\n zIndex: 99,\r\n '&::before': {\r\n content: '\"\"',\r\n pointerEvents: 'none',\r\n position: 'absolute',\r\n display: 'block',\r\n top: 0,\r\n left: 0,\r\n right: 0,\r\n bottom: 0,\r\n width: '100%',\r\n height: '100%',\r\n backgroundImage: `linear-gradient(\r\n 0deg,\r\n transparent 0%,\r\n rgba(32, 50, 128, 0.2) 2%,\r\n rgba(32, 50, 128, 0.8) 3%,\r\n rgba(32, 50, 128, 0.2) 3%,\r\n transparent 100%)`,\r\n backgroundRepeat: 'no-repeat',\r\n animation: 'scan 7.5s linear 0s infinite',\r\n },\r\n },\r\n\r\n terminal: {\r\n boxSizing: 'inherit',\r\n position: 'absolute',\r\n height: '100%',\r\n width: 'calc(100% - 8rem)',\r\n maxWidth: '100%',\r\n padding: '4rem',\r\n textTransform: 'uppercase',\r\n },\r\n output: {\r\n color: 'rgba(128, 175, 255, 0.8)',\r\n textShadow: `\r\n 0 0 1px rgba(51, 70, 255, 0.4),\r\n 0 0 2px rgba(255, 255, 255, 0.8)`,\r\n '&::before': {\r\n content: '\"> \"',\r\n },\r\n },\r\n errorCode: {\r\n color: 'white',\r\n },\r\n};\r\n\r\n/** Generates the 404 error page */\r\nfunction Page404(): JSX.Element {\r\n return (\r\n <div style={styles.content}>\r\n <div style={styles.root}>\r\n <Box\r\n component=\"div\"\r\n sx={styles.overlay}\r\n >\r\n <div style={styles.terminal}>\r\n <h1>\r\n {I18n.t('ra_Error')}\r\n <span style={styles.errorCode}>404</span>\r\n </h1>\r\n <Box\r\n component=\"p\"\r\n sx={styles.output}\r\n >\r\n {I18n.t('ra_The page you are looking for was not found')}\r\n </Box>\r\n <Box\r\n component=\"p\"\r\n sx={styles.output}\r\n >\r\n {I18n.t('ra_Good luck')}\r\n </Box>\r\n </div>\r\n </Box>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport default Page404;\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPicker.js","sourceRoot":"./src/","sources":["Components/ColorPicker.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright 2018-2024 Denis Haev (bluefox) <dogafox@gmail.com>\n *\n * Licensed under the Creative Commons Attribution-NonCommercial License, Version 4.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://creativecommons.org/licenses/by-nc/4.0/legalcode.txt\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport React, { Component, type CSSProperties } from 'react';\nimport { ChromePicker, type RGBColor } from 'react-color';\n\nimport { TextField, Menu, IconButton, Button, Box } from '@mui/material';\n\nimport { Delete as IconDelete, Close as IconClose } from '@mui/icons-material';\n\nimport { I18n } from '../i18n';\n\nimport type { IobTheme } from '../types';\n\nconst styles: Record<string, any> = {\n color: {\n width: 36,\n height: 14,\n borderRadius: 2,\n },\n delButton: {\n marginTop: 16,\n },\n swatch: {\n mt: '16px',\n p: '5px',\n backgroundColor: 'background.paper',\n borderRadius: '1px',\n boxShadow: '0 0 0 1px rgba(0,0,0,.1)',\n display: 'inline-block',\n cursor: 'pointer',\n verticalAlign: 'middle',\n },\n swatchDisabled: {\n opacity: 0.5,\n cursor: 'default',\n },\n popover: {\n '& .MuiPaper-root': {\n textAlign: 'right',\n backgroundColor: '#00000000',\n boxShadow: 'none',\n },\n },\n popoverList: {\n padding: 0,\n },\n closeButton: (theme: IobTheme) => ({\n backgroundColor: `${theme.palette.background.paper} !important`,\n borderRadius: '0 0 25% 25%',\n '&:hover': {\n backgroundColor: `${theme.palette.secondary.main} !important`,\n },\n }),\n cover: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n },\n textDense: {\n mt: 0,\n mb: 0,\n },\n picker: (theme: IobTheme) => ({\n background: `${theme.palette.background.paper} !important`,\n }),\n iconButton: {\n width: 16,\n height: 16,\n },\n button: {\n width: 32,\n height: 32,\n minWidth: 32,\n minHeight: 32,\n },\n};\n\ninterface ColorPickerProps {\n /** Set to true to disable the color picker. */\n disabled?: boolean;\n /** The currently selected color. */\n value?: string;\n /** @deprecated The currently selected color use value */\n color?: string;\n /** The color change callback. */\n onChange: (rgba: string) => void;\n /** Label of the color picker. */\n label?: string;\n /** @deprecated TLabel of the color picker use label */\n name?: string;\n /** Additional styling for this component. */\n style?: CSSProperties;\n /** The CSS class name. */\n className?: string;\n customPalette?: string[];\n noInputField?: boolean;\n barWidth?: number;\n sx?: Record<string, any>;\n theme?: IobTheme;\n}\n\ninterface ColorPickerState {\n displayColorPicker: boolean;\n color: string | RGBColor;\n anchorEl: HTMLDivElement | null;\n}\n\n/**\n * A color picker component.\n */\nexport class ColorPicker extends Component<ColorPickerProps, ColorPickerState> {\n /**\n * Constructor for the color picker.\n *\n * @param props The properties.\n */\n constructor(props: ColorPickerProps) {\n super(props);\n this.state = {\n displayColorPicker: false,\n color: this.props.value || this.props.color || '',\n anchorEl: null,\n };\n }\n\n private handleClick = (e: React.MouseEvent<HTMLDivElement>): void => {\n this.setState({\n displayColorPicker: !this.state.displayColorPicker,\n anchorEl: this.state.displayColorPicker ? null : e.currentTarget,\n });\n };\n\n private handleClose = (): void => {\n this.setState({ displayColorPicker: false, anchorEl: null });\n };\n\n /**\n * Convert the given color to hex ('#rrggbb') or rgba ('rgba(r,g,b,a)') format.\n *\n * @param color The color to convert.\n * @param isHex If true, the color will be converted to hex format.\n * @returns the hex or rgba representation of the given color.\n */\n static getColor(color: string | { rgb: RGBColor } | RGBColor, isHex?: boolean): string {\n if (color && typeof color === 'object') {\n const oColor = color as { rgb: RGBColor };\n if (oColor.rgb) {\n if (isHex) {\n return `#${oColor.rgb.r.toString(16).padStart(2, '0')}${oColor.rgb.g.toString(16).padStart(2, '0')}${oColor.rgb.b.toString(16).padStart(2, '0')}`;\n }\n return `rgba(${oColor.rgb.r},${oColor.rgb.g},${oColor.rgb.b},${oColor.rgb.a})`;\n }\n const rColor = color as RGBColor;\n if (isHex) {\n return `#${rColor.r.toString(16).padStart(2, '0')}${rColor.g.toString(16).padStart(2, '0')}${rColor.b.toString(16).padStart(2, '0')}`;\n }\n return `rgba(${rColor.r},${rColor.g},${rColor.b},${rColor.a})`;\n }\n if (typeof color === 'string') {\n return isHex ? ColorPicker.rgb2hex(color || '') : color || '';\n }\n return '';\n }\n\n /**\n * Convert rgb() or rgba() format to hex format #rrggbb.\n *\n * @param rgb The color in rgb() or rgba() format. if not in this format, the color will be returned as is.\n */\n static rgb2hex(rgb: string): string {\n const m = rgb.match(/^rgba?[\\s+]?\\([\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?/i);\n\n if (m) {\n const r = parseInt(m[1], 10).toString(16).padStart(2, '0');\n const g = parseInt(m[2], 10).toString(16).padStart(2, '0');\n const b = parseInt(m[3], 10).toString(16).padStart(2, '0');\n\n return m?.length === 4 ? `#${r}${g}${b}` : rgb;\n }\n return rgb;\n }\n\n private handleChange = (color: string | RGBColor): void => {\n this.setState({ color }, () => this.props.onChange && this.props.onChange(ColorPicker.getColor(color)));\n };\n\n /**\n * If the props are updated from outside, they should override the state\n *\n * @param _prevProps The previous properties.\n * @param prevState The previous state.\n */\n componentDidUpdate(_prevProps: ColorPickerProps, prevState: ColorPickerState): void {\n const color = ColorPicker.getColor(this.props.color || this.props.value || '');\n\n if (color !== prevState.color) {\n this.setState({ color });\n }\n }\n\n renderCustomPalette(): React.JSX.Element | null {\n if (!this.props.customPalette) {\n return null;\n }\n return (\n <div style={{ width: '100%', display: 'flex', flexWrap: 'wrap' }}>\n {this.props.customPalette.map(color => (\n <Button\n style={styles.button}\n key={color}\n onClick={() => {\n this.handleChange(color);\n setTimeout(() => this.handleClose(), 300);\n }}\n >\n <div style={{ ...styles.iconButton, background: color }} />\n </Button>\n ))}\n </div>\n );\n }\n\n render(): React.JSX.Element {\n const style = { ...(this.props.style || {}) };\n style.position = 'relative';\n const { color } = this.state;\n\n return (\n <Box\n component=\"div\"\n style={style}\n sx={this.props.sx || undefined}\n className={this.props.className || ''}\n >\n {this.props.noInputField ? null : (\n <TextField\n disabled={this.props.disabled}\n variant=\"standard\"\n id=\"ar_color_picker_name\"\n label={this.props.label || this.props.name}\n value={color || ''}\n margin=\"dense\"\n sx={{\n '&.MuiFormControl-root': styles.textDense,\n width: color ? 'calc(100% - 80px)' : 'calc(100% - 56px)',\n mr: color ? undefined : 1,\n }}\n onChange={e => this.handleChange(e.target.value)}\n />\n )}\n {!this.props.noInputField && color ? (\n <IconButton\n disabled={this.props.disabled}\n onClick={() => this.handleChange('')}\n size=\"small\"\n style={this.props.label || this.props.name ? styles.delButton : undefined}\n >\n <IconDelete />\n </IconButton>\n ) : null}\n <Box\n component=\"div\"\n onClick={e => !this.props.disabled && this.handleClick(e)}\n title={I18n.t('ra_Select color')}\n sx={{\n ...styles.swatch,\n ...(this.props.disabled ? styles.swatchDisabled : undefined),\n background: color ? undefined : 'transparent',\n border: color ? undefined : '1px dashed #ccc',\n boxSizing: 'border-box',\n marginTop: this.props.noInputField || !(this.props.label || this.props.name) ? 0 : undefined,\n }}\n >\n <div\n style={{\n ...styles.color,\n background: ColorPicker.getColor(color),\n width: this.props.noInputField ? this.props.barWidth || 16 : this.props.barWidth || 36,\n }}\n />\n </Box>\n {this.state.displayColorPicker && !this.props.disabled ? (\n <Menu\n sx={{\n ...styles.popover,\n '&. MuiMenu-list': styles.popoverList,\n }}\n anchorEl={this.state.anchorEl}\n open={!0}\n onClose={() => this.handleClose()}\n >\n <ChromePicker\n color={this.state.color || undefined}\n onChangeComplete={(_color: { rgb: RGBColor }) => this.handleChange(_color.rgb)}\n styles={{\n default: {\n picker: {\n backgroundColor: this.props.theme?.palette.background.paper || '#888',\n },\n },\n }}\n />\n {color && this.props.noInputField ? (\n <IconButton\n sx={styles.closeButton}\n onClick={() => this.handleChange('')}\n >\n <IconDelete />\n </IconButton>\n ) : null}\n <IconButton\n sx={styles.closeButton}\n onClick={() => this.handleClose()}\n >\n <IconClose />\n </IconButton>\n {this.renderCustomPalette()}\n </Menu>\n ) : null}\n </Box>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ColorPicker.js","sourceRoot":"./src/","sources":["Components/ColorPicker.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * Copyright 2018-2024 Denis Haev (bluefox) <dogafox@gmail.com>\r\n *\r\n * Licensed under the Creative Commons Attribution-NonCommercial License, Version 4.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * https://creativecommons.org/licenses/by-nc/4.0/legalcode.txt\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nimport React, { Component, type CSSProperties } from 'react';\r\nimport { ChromePicker, type RGBColor } from 'react-color';\r\n\r\nimport { TextField, Menu, IconButton, Button, Box } from '@mui/material';\r\n\r\nimport { Delete as IconDelete, Close as IconClose } from '@mui/icons-material';\r\n\r\nimport { I18n } from '../i18n';\r\n\r\nimport type { IobTheme } from '../types';\r\n\r\nconst styles: Record<string, any> = {\r\n color: {\r\n width: 36,\r\n height: 14,\r\n borderRadius: 2,\r\n },\r\n delButton: {\r\n marginTop: 16,\r\n },\r\n swatch: {\r\n mt: '16px',\r\n p: '5px',\r\n backgroundColor: 'background.paper',\r\n borderRadius: '1px',\r\n boxShadow: '0 0 0 1px rgba(0,0,0,.1)',\r\n display: 'inline-block',\r\n cursor: 'pointer',\r\n verticalAlign: 'middle',\r\n },\r\n swatchDisabled: {\r\n opacity: 0.5,\r\n cursor: 'default',\r\n },\r\n popover: {\r\n '& .MuiPaper-root': {\r\n textAlign: 'right',\r\n backgroundColor: '#00000000',\r\n boxShadow: 'none',\r\n },\r\n },\r\n popoverList: {\r\n padding: 0,\r\n },\r\n closeButton: (theme: IobTheme) => ({\r\n backgroundColor: `${theme.palette.background.paper} !important`,\r\n borderRadius: '0 0 25% 25%',\r\n '&:hover': {\r\n backgroundColor: `${theme.palette.secondary.main} !important`,\r\n },\r\n }),\r\n cover: {\r\n position: 'fixed',\r\n top: 0,\r\n right: 0,\r\n bottom: 0,\r\n left: 0,\r\n },\r\n textDense: {\r\n mt: 0,\r\n mb: 0,\r\n },\r\n picker: (theme: IobTheme) => ({\r\n background: `${theme.palette.background.paper} !important`,\r\n }),\r\n iconButton: {\r\n width: 16,\r\n height: 16,\r\n },\r\n button: {\r\n width: 32,\r\n height: 32,\r\n minWidth: 32,\r\n minHeight: 32,\r\n },\r\n};\r\n\r\ninterface ColorPickerProps {\r\n /** Set to true to disable the color picker. */\r\n disabled?: boolean;\r\n /** The currently selected color. */\r\n value?: string;\r\n /** @deprecated The currently selected color use value */\r\n color?: string;\r\n /** The color change callback. */\r\n onChange: (rgba: string) => void;\r\n /** Label of the color picker. */\r\n label?: string;\r\n /** @deprecated TLabel of the color picker use label */\r\n name?: string;\r\n /** Additional styling for this component. */\r\n style?: CSSProperties;\r\n /** The CSS class name. */\r\n className?: string;\r\n customPalette?: string[];\r\n noInputField?: boolean;\r\n barWidth?: number;\r\n sx?: Record<string, any>;\r\n theme?: IobTheme;\r\n}\r\n\r\ninterface ColorPickerState {\r\n displayColorPicker: boolean;\r\n color: string | RGBColor;\r\n anchorEl: HTMLDivElement | null;\r\n}\r\n\r\n/**\r\n * A color picker component.\r\n */\r\nexport class ColorPicker extends Component<ColorPickerProps, ColorPickerState> {\r\n /**\r\n * Constructor for the color picker.\r\n *\r\n * @param props The properties.\r\n */\r\n constructor(props: ColorPickerProps) {\r\n super(props);\r\n this.state = {\r\n displayColorPicker: false,\r\n color: this.props.value || this.props.color || '',\r\n anchorEl: null,\r\n };\r\n }\r\n\r\n private handleClick = (e: React.MouseEvent<HTMLDivElement>): void => {\r\n this.setState({\r\n displayColorPicker: !this.state.displayColorPicker,\r\n anchorEl: this.state.displayColorPicker ? null : e.currentTarget,\r\n });\r\n };\r\n\r\n private handleClose = (): void => {\r\n this.setState({ displayColorPicker: false, anchorEl: null });\r\n };\r\n\r\n /**\r\n * Convert the given color to hex ('#rrggbb') or rgba ('rgba(r,g,b,a)') format.\r\n *\r\n * @param color The color to convert.\r\n * @param isHex If true, the color will be converted to hex format.\r\n * @returns the hex or rgba representation of the given color.\r\n */\r\n static getColor(color: string | { rgb: RGBColor } | RGBColor, isHex?: boolean): string {\r\n if (color && typeof color === 'object') {\r\n const oColor = color as { rgb: RGBColor };\r\n if (oColor.rgb) {\r\n if (isHex) {\r\n return `#${oColor.rgb.r.toString(16).padStart(2, '0')}${oColor.rgb.g.toString(16).padStart(2, '0')}${oColor.rgb.b.toString(16).padStart(2, '0')}`;\r\n }\r\n return `rgba(${oColor.rgb.r},${oColor.rgb.g},${oColor.rgb.b},${oColor.rgb.a})`;\r\n }\r\n const rColor = color as RGBColor;\r\n if (isHex) {\r\n return `#${rColor.r.toString(16).padStart(2, '0')}${rColor.g.toString(16).padStart(2, '0')}${rColor.b.toString(16).padStart(2, '0')}`;\r\n }\r\n return `rgba(${rColor.r},${rColor.g},${rColor.b},${rColor.a})`;\r\n }\r\n if (typeof color === 'string') {\r\n return isHex ? ColorPicker.rgb2hex(color || '') : color || '';\r\n }\r\n return '';\r\n }\r\n\r\n /**\r\n * Convert rgb() or rgba() format to hex format #rrggbb.\r\n *\r\n * @param rgb The color in rgb() or rgba() format. if not in this format, the color will be returned as is.\r\n */\r\n static rgb2hex(rgb: string): string {\r\n const m = rgb.match(/^rgba?[\\s+]?\\([\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?/i);\r\n\r\n if (m) {\r\n const r = parseInt(m[1], 10).toString(16).padStart(2, '0');\r\n const g = parseInt(m[2], 10).toString(16).padStart(2, '0');\r\n const b = parseInt(m[3], 10).toString(16).padStart(2, '0');\r\n\r\n return m?.length === 4 ? `#${r}${g}${b}` : rgb;\r\n }\r\n return rgb;\r\n }\r\n\r\n private handleChange = (color: string | RGBColor): void => {\r\n this.setState({ color }, () => this.props.onChange && this.props.onChange(ColorPicker.getColor(color)));\r\n };\r\n\r\n /**\r\n * If the props are updated from outside, they should override the state\r\n *\r\n * @param _prevProps The previous properties.\r\n * @param prevState The previous state.\r\n */\r\n componentDidUpdate(_prevProps: ColorPickerProps, prevState: ColorPickerState): void {\r\n const color = ColorPicker.getColor(this.props.color || this.props.value || '');\r\n\r\n if (color !== prevState.color) {\r\n this.setState({ color });\r\n }\r\n }\r\n\r\n renderCustomPalette(): React.JSX.Element | null {\r\n if (!this.props.customPalette) {\r\n return null;\r\n }\r\n return (\r\n <div style={{ width: '100%', display: 'flex', flexWrap: 'wrap' }}>\r\n {this.props.customPalette.map(color => (\r\n <Button\r\n style={styles.button}\r\n key={color}\r\n onClick={() => {\r\n this.handleChange(color);\r\n setTimeout(() => this.handleClose(), 300);\r\n }}\r\n >\r\n <div style={{ ...styles.iconButton, background: color }} />\r\n </Button>\r\n ))}\r\n </div>\r\n );\r\n }\r\n\r\n render(): React.JSX.Element {\r\n const style = { ...(this.props.style || {}) };\r\n style.position = 'relative';\r\n const { color } = this.state;\r\n\r\n return (\r\n <Box\r\n component=\"div\"\r\n style={style}\r\n sx={this.props.sx || undefined}\r\n className={this.props.className || ''}\r\n >\r\n {this.props.noInputField ? null : (\r\n <TextField\r\n disabled={this.props.disabled}\r\n variant=\"standard\"\r\n id=\"ar_color_picker_name\"\r\n label={this.props.label || this.props.name}\r\n value={color || ''}\r\n margin=\"dense\"\r\n sx={{\r\n '&.MuiFormControl-root': styles.textDense,\r\n width: color ? 'calc(100% - 80px)' : 'calc(100% - 56px)',\r\n mr: color ? undefined : 1,\r\n }}\r\n onChange={e => this.handleChange(e.target.value)}\r\n />\r\n )}\r\n {!this.props.noInputField && color ? (\r\n <IconButton\r\n disabled={this.props.disabled}\r\n onClick={() => this.handleChange('')}\r\n size=\"small\"\r\n style={this.props.label || this.props.name ? styles.delButton : undefined}\r\n >\r\n <IconDelete />\r\n </IconButton>\r\n ) : null}\r\n <Box\r\n component=\"div\"\r\n onClick={e => !this.props.disabled && this.handleClick(e)}\r\n title={I18n.t('ra_Select color')}\r\n sx={{\r\n ...styles.swatch,\r\n ...(this.props.disabled ? styles.swatchDisabled : undefined),\r\n background: color ? undefined : 'transparent',\r\n border: color ? undefined : '1px dashed #ccc',\r\n boxSizing: 'border-box',\r\n marginTop: this.props.noInputField || !(this.props.label || this.props.name) ? 0 : undefined,\r\n }}\r\n >\r\n <div\r\n style={{\r\n ...styles.color,\r\n background: ColorPicker.getColor(color),\r\n width: this.props.noInputField ? this.props.barWidth || 16 : this.props.barWidth || 36,\r\n }}\r\n />\r\n </Box>\r\n {this.state.displayColorPicker && !this.props.disabled ? (\r\n <Menu\r\n sx={{\r\n ...styles.popover,\r\n '&. MuiMenu-list': styles.popoverList,\r\n }}\r\n anchorEl={this.state.anchorEl}\r\n open={!0}\r\n onClose={() => this.handleClose()}\r\n >\r\n <ChromePicker\r\n color={this.state.color || undefined}\r\n onChangeComplete={(_color: { rgb: RGBColor }) => this.handleChange(_color.rgb)}\r\n styles={{\r\n default: {\r\n picker: {\r\n backgroundColor: this.props.theme?.palette.background.paper || '#888',\r\n },\r\n },\r\n }}\r\n />\r\n {color && this.props.noInputField ? (\r\n <IconButton\r\n sx={styles.closeButton}\r\n onClick={() => this.handleChange('')}\r\n >\r\n <IconDelete />\r\n </IconButton>\r\n ) : null}\r\n <IconButton\r\n sx={styles.closeButton}\r\n onClick={() => this.handleClose()}\r\n >\r\n <IconClose />\r\n </IconButton>\r\n {this.renderCustomPalette()}\r\n </Menu>\r\n ) : null}\r\n </Box>\r\n );\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ComplexCron.js","sourceRoot":"./src/","sources":["Components/ComplexCron.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\n\nimport { Checkbox, Button, MenuItem, Select, FormControlLabel, AppBar, Tabs, Tab, TextField } from '@mui/material';\n\nimport { I18n } from '../i18n';\nimport { convertCronToText } from './SimpleCron/cronText';\n\nconst styles: Record<string, React.CSSProperties> = {\n mainDiv: {\n width: '100%',\n height: '100%',\n },\n periodSelect: {\n // margin: '0 10px 60px 10px',\n display: 'block',\n width: 250,\n },\n slider: {\n marginTop: 20,\n display: 'block',\n width: '100%',\n },\n tabContent: {\n padding: 20,\n height: 'calc(100% - 240px)',\n overflow: 'auto',\n },\n numberButton: {\n padding: 4,\n minWidth: 40,\n margin: 5,\n },\n numberButtonBreak: {\n display: 'block',\n },\n appBar: {\n color: 'white',\n },\n warning: {\n marginLeft: 16,\n color: 'red',\n fontSize: 12,\n },\n};\n\nconst WEEKDAYS = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];\nconst MONTHS = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n];\n\n// 5-7,9-11 => [5,6,7,9,10,11]\nfunction convertMinusIntoArray(value: string | false | undefined, max: number): number[] {\n const result: number[] = [];\n\n if (value === '*') {\n if (max === 24 || max === 60 || max === 7) {\n for (let i = 0; i < max; i++) {\n result.push(i);\n }\n } else {\n for (let i = 1; i <= max; i++) {\n result.push(i);\n }\n }\n return result; // array with entries max\n }\n\n const parts = (value || '').toString().split(',');\n\n for (let p = 0; p < parts.length; p++) {\n if (!parts[p].trim().length) {\n continue;\n }\n const items = parts[p].trim().split('-');\n if (items.length > 1) {\n const iMax = parseInt(items[1], 10);\n for (let i = parseInt(items[0], 10); i <= iMax; i++) {\n result.push(i);\n }\n } else {\n result.push(parseInt(parts[p], 10));\n }\n }\n\n result.sort();\n\n // remove double entries\n for (let p = result.length - 1; p >= 0; p--) {\n if (result[p] === result[p + 1]) {\n result.splice(p + 1, 1);\n }\n }\n\n return result;\n}\n\n// [5,6,7,9,10,11] => 5-7,9-11\nfunction convertArrayIntoMinus(value: number | number[], max: number): string {\n if (typeof value !== 'object') {\n value = [value];\n }\n if (value.length === max) {\n return '*';\n }\n const newParts = [];\n if (!value.length) {\n return '-';\n }\n value = value.map(a => parseInt(a as any as string, 10));\n\n value.sort((a, b) => a - b);\n\n let start = value[0];\n let end = value[0];\n for (let p = 1; p < value.length; p++) {\n if (value[p] - 1 !== parseInt(value[p - 1] as any as string, 10)) {\n if (start === end) {\n newParts.push(start);\n } else if (end - 1 === start) {\n newParts.push(`${start},${end}`);\n } else {\n newParts.push(`${start}-${end}`);\n }\n start = value[p];\n }\n end = value[p];\n }\n\n if (start === end) {\n newParts.push(start);\n } else if (end - 1 === start) {\n newParts.push(`${start},${end}`);\n } else {\n newParts.push(`${start}-${end}`);\n }\n\n return newParts.join(',');\n}\n\ntype CronNames = 'seconds' | 'minutes' | 'hours' | 'dates' | 'months' | 'dow';\n\ninterface CronProps {\n seconds: string | false | null;\n minutes: string | null;\n hours: string | null;\n dates: string | null;\n months: string | null;\n dow: string | null;\n}\n\ninterface ComplexCronProps {\n cronExpression: string;\n onChange: (cron: string) => void;\n language: ioBroker.Languages;\n}\n\n// type CronModes = 'every' | 'everyN' | 'specific';\n\ninterface ComplexCronState {\n extended: boolean;\n tab: number;\n cron: string;\n seconds?: string | false;\n minutes?: string;\n hours?: string;\n dates?: string;\n months?: string;\n dow?: string;\n modes: CronProps;\n}\n\nexport class ComplexCron extends Component<ComplexCronProps, ComplexCronState> {\n constructor(props: ComplexCronProps) {\n super(props);\n let cron =\n typeof this.props.cronExpression === 'string'\n ? this.props.cronExpression.replace(/^[\"']/, '').replace(/[\"']\\n?$/, '')\n : '';\n if (cron[0] === '{') {\n cron = '';\n }\n const state = ComplexCron.cron2state(cron || '* * * * *');\n\n this.state = {\n extended: false,\n tab: state.seconds !== false ? 1 : 0,\n cron: ComplexCron.state2cron(state),\n modes: {\n seconds: null,\n minutes: null,\n hours: null,\n dates: null,\n months: null,\n dow: null,\n },\n };\n Object.assign(this.state, state);\n if (this.state.cron !== this.props.cronExpression) {\n setTimeout(() => this.props.onChange && this.props.onChange(this.state.cron), 100);\n }\n }\n\n static cron2state(cron: string): CronProps {\n cron = cron.replace(/['\"]/g, '').trim();\n const cronParts = cron.split(' ').map(p => p.trim());\n let options: CronProps;\n\n if (cronParts.length === 6) {\n options = {\n seconds: cronParts[0] || '*',\n minutes: cronParts[1] || '*',\n hours: cronParts[2] || '*',\n dates: cronParts[3] || '*',\n months: cronParts[4] || '*',\n dow: cronParts[5] || '*',\n };\n } else {\n options = {\n seconds: false,\n minutes: cronParts[0] || '*',\n hours: cronParts[1] || '*',\n dates: cronParts[2] || '*',\n months: cronParts[3] || '*',\n dow: cronParts[4] || '*',\n };\n }\n return options;\n }\n\n static state2cron(state: ComplexCronState | CronProps): string {\n let text = `${state.minutes} ${state.hours} ${state.dates} ${state.months} ${state.dow}`;\n if (state.seconds !== false) {\n text = `${state.seconds} ${text}`;\n }\n return text;\n }\n\n recalcCron(): void {\n const cron = ComplexCron.state2cron(this.state);\n if (cron !== this.state.cron) {\n this.setState({ cron }, () => this.props.onChange && this.props.onChange(this.state.cron));\n }\n }\n\n onToggle(i: boolean | number, type: CronNames, max: number): void {\n if (i === true) {\n this.setCronAttr(type, '*');\n } else if (i === false) {\n if (max === 60 || max === 24) {\n this.setCronAttr(type, '0');\n } else {\n this.setCronAttr(type, '1');\n }\n } else {\n const nums = convertMinusIntoArray(this.state[type], max);\n const pos = nums.indexOf(i);\n if (pos !== -1) {\n nums.splice(pos, 1);\n } else {\n nums.push(i);\n nums.sort();\n }\n this.setCronAttr(type, convertArrayIntoMinus(nums, max));\n }\n }\n\n getDigitsSelector(type: CronNames, max: number): React.JSX.Element[] {\n let values = [];\n if (max === 7) {\n values = [1, 2, 3, 4, 5, 6, 0];\n } else if (max === 60 || max === 24) {\n for (let i = 0; i < max; i++) {\n values.push(i);\n }\n } else {\n for (let i = 1; i <= max; i++) {\n values.push(i);\n }\n }\n\n const parts = convertMinusIntoArray(this.state[type], max);\n\n return [\n <Button\n key=\"removeall\"\n variant=\"outlined\"\n style={styles.numberButton}\n // style={{paddingBottom: 20}}\n color=\"primary\"\n onClick={() => this.onToggle(false, type, max)}\n >\n {I18n.t('ra_Deselect all')}\n </Button>,\n <Button\n key=\"addall\"\n variant=\"contained\"\n // style={{paddingBottom: 20}}\n style={styles.numberButton}\n color=\"secondary\"\n onClick={() => this.onToggle(true, type, max)}\n >\n {I18n.t('ra_Select all')}\n </Button>,\n <div key=\"all\">\n {values.map(i => [\n (max === 7 && i === 4) ||\n (max === 12 && i === 7) ||\n (max === 31 && !((i - 1) % 10)) ||\n (max === 60 && i && !(i % 10)) ||\n (max === 24 && i && !(i % 6)) ? (\n <div\n key={`allInner${i}`}\n style={{ width: '100%' }}\n />\n ) : null,\n <Button\n key={`_${i}`}\n variant={parts.indexOf(i) !== -1 ? 'contained' : 'outlined'}\n style={styles.numberButton}\n color={parts.indexOf(i) !== -1 ? 'secondary' : 'primary'}\n onClick={() => this.onToggle(i, type, max)}\n >\n {max === 7 ? I18n.t(WEEKDAYS[i]) : max === 12 ? MONTHS[i - 1] : i}\n </Button>,\n ])}\n </div>,\n ];\n }\n\n getPeriodsTab(type: CronNames, max: number): React.JSX.Element | null {\n const value = this.state[type];\n let every = value === '*';\n let everyN = value === undefined || value === null ? false : value.toString().includes('/');\n let select;\n if (this.state.modes[type] === null) {\n select = every ? 'every' : everyN ? 'everyN' : 'specific';\n const modes = JSON.parse(JSON.stringify(this.state.modes));\n modes[type] = select;\n setTimeout(() => this.setState({ modes }, () => this.recalcCron()), 100);\n return null;\n }\n\n every = this.state.modes[type] === 'every';\n everyN = this.state.modes[type] === 'everyN';\n select = this.state.modes[type];\n\n let valueNumber = 1;\n if (everyN && value) {\n valueNumber = parseInt(value.replace('*/', ''), 10) || 1;\n }\n\n return (\n <div>\n <Select\n variant=\"standard\"\n style={{ ...styles.periodSelect, verticalAlign: 'bottom' }}\n value={select}\n onChange={e => {\n const modes = JSON.parse(JSON.stringify(this.state.modes));\n modes[type] = e.target.value;\n if (e.target.value === 'every') {\n this.setCronAttr(type, '*', modes);\n } else if (e.target.value === 'everyN') {\n const num = parseInt((this.state[type] || '').toString().replace('*/', ''), 10) || 1;\n this.setCronAttr(type, `*/${num}`, modes);\n } else if (e.target.value === 'specific') {\n let num = parseInt((this.state[type] || '').toString().split(',')[0], 10) || 0;\n if (!num && (type === 'months' || type === 'dates')) {\n num = 1;\n }\n this.setCronAttr(type, convertArrayIntoMinus(num, max), modes);\n }\n }}\n >\n <MenuItem\n key=\"every\"\n value=\"every\"\n >\n {I18n.t(`sc_every_${type}`)}\n </MenuItem>\n <MenuItem\n key=\"everyN\"\n value=\"everyN\"\n >\n {I18n.t(`sc_everyN_${type}`)}\n </MenuItem>\n <MenuItem\n key=\"specific\"\n value=\"specific\"\n >\n {I18n.t(`sc_specific_${type}`)}\n </MenuItem>\n </Select>\n {/* everyN && false && <span>{value}</span> */}\n {everyN && (\n <TextField\n variant=\"standard\"\n key=\"interval\"\n label={I18n.t(`sc_${type}`)}\n value={valueNumber}\n slotProps={{\n htmlInput: {\n min: 1,\n max,\n },\n inputLabel: {\n shrink: true,\n },\n }}\n onChange={e => {\n // @ts-expect-error is allowed\n this.setState({ [type]: `*/${e.target.value}` }, () => this.recalcCron());\n }}\n type=\"number\"\n margin=\"normal\"\n />\n )}\n {!every && !everyN && this.getDigitsSelector(type, max)}\n </div>\n );\n }\n\n static convertCronToText(cron: string, lang: ioBroker.Languages): string {\n if (cron.split(' ').includes('-')) {\n return I18n.t('ra_Invalid CRON');\n }\n return convertCronToText(cron, lang);\n }\n\n setCronAttr(attr: CronNames, value: string, modes?: CronProps): void {\n if (modes) {\n if (attr === 'seconds') {\n this.setState({ seconds: value, modes }, () => this.recalcCron());\n } else if (attr === 'minutes') {\n this.setState({ minutes: value, modes }, () => this.recalcCron());\n } else if (attr === 'hours') {\n this.setState({ hours: value, modes }, () => this.recalcCron());\n } else if (attr === 'dates') {\n this.setState({ dates: value, modes }, () => this.recalcCron());\n } else if (attr === 'months') {\n this.setState({ months: value, modes }, () => this.recalcCron());\n } else if (attr === 'dow') {\n this.setState({ dow: value, modes }, () => this.recalcCron());\n } else {\n this.setState({ modes }, () => this.recalcCron());\n }\n } else if (attr === 'seconds') {\n this.setState({ seconds: value }, () => this.recalcCron());\n } else if (attr === 'minutes') {\n this.setState({ minutes: value }, () => this.recalcCron());\n } else if (attr === 'hours') {\n this.setState({ hours: value }, () => this.recalcCron());\n } else if (attr === 'dates') {\n this.setState({ dates: value }, () => this.recalcCron());\n } else if (attr === 'months') {\n this.setState({ months: value }, () => this.recalcCron());\n } else if (attr === 'dow') {\n this.setState({ dow: value }, () => this.recalcCron());\n }\n }\n\n render(): React.JSX.Element {\n const tab = this.state.seconds !== false ? this.state.tab : this.state.tab + 1;\n\n // Detect if every minute or every second is activated\n const everyMinute = this.state.minutes === '*' || this.state.minutes === '*/1';\n const everySecond = this.state.seconds === '*' || this.state.seconds === '*/1';\n\n return (\n <div style={styles.mainDiv}>\n <div style={{ paddingLeft: 8, width: 'calc(100% - px)' }}>\n <TextField\n variant=\"standard\"\n style={{ width: '100%' }}\n value={this.state.cron}\n disabled\n />\n </div>\n <div style={{ paddingLeft: 8, width: 'calc(100% - px)', height: 60 }}>\n {ComplexCron.convertCronToText(this.state.cron, this.props.language || 'en')}\n <span style={styles.warning}>\n {everySecond\n ? I18n.t('ra_warning_every_second')\n : everyMinute\n ? I18n.t('ra_warning_every_minute')\n : ''}\n </span>\n </div>\n <FormControlLabel\n control={\n <Checkbox\n checked={!!this.state.seconds}\n onChange={e =>\n this.setState({ seconds: e.target.checked ? '*' : false }, () => this.recalcCron())\n }\n />\n }\n label={I18n.t('ra_use seconds')}\n />\n <AppBar\n position=\"static\"\n sx={{ '&.MuiAppBar-root': styles.appBar }}\n color=\"secondary\"\n >\n <Tabs\n value={this.state.tab}\n style={styles.appBar}\n color=\"secondary\"\n onChange={(_active, _tab) => this.setState({ tab: _tab })}\n >\n {this.state.seconds !== false && (\n <Tab\n id=\"sc_seconds\"\n label={I18n.t('sc_seconds')}\n />\n )}\n <Tab\n id=\"minutes\"\n label={I18n.t('sc_minutes')}\n />\n <Tab\n id=\"hours\"\n label={I18n.t('sc_hours')}\n />\n <Tab\n id=\"dates\"\n label={I18n.t('sc_dates')}\n />\n <Tab\n id=\"months\"\n label={I18n.t('sc_months')}\n />\n <Tab\n id=\"dow\"\n label={I18n.t('sc_dows')}\n />\n </Tabs>\n </AppBar>\n {tab === 0 && <div style={styles.tabContent}>{this.getPeriodsTab('seconds', 60)}</div>}\n {tab === 1 && <div style={styles.tabContent}>{this.getPeriodsTab('minutes', 60)}</div>}\n {tab === 2 && <div style={styles.tabContent}>{this.getPeriodsTab('hours', 24)}</div>}\n {tab === 3 && <div style={styles.tabContent}>{this.getPeriodsTab('dates', 31)}</div>}\n {tab === 4 && <div style={styles.tabContent}>{this.getPeriodsTab('months', 12)}</div>}\n {tab === 5 && <div style={styles.tabContent}>{this.getPeriodsTab('dow', 7)}</div>}\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ComplexCron.js","sourceRoot":"./src/","sources":["Components/ComplexCron.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\n\nimport { Checkbox, Button, MenuItem, Select, FormControlLabel, AppBar, Tabs, Tab, TextField } from '@mui/material';\n\nimport { I18n } from '../i18n';\nimport { convertCronToText } from './SimpleCron/cronText';\n\nconst styles: Record<string, React.CSSProperties> = {\n mainDiv: {\n width: '100%',\n height: '100%',\n },\n periodSelect: {\n // margin: '0 10px 60px 10px',\n display: 'block',\n width: 250,\n },\n slider: {\n marginTop: 20,\n display: 'block',\n width: '100%',\n },\n tabContent: {\n padding: 20,\n height: 'calc(100% - 240px)',\n overflow: 'auto',\n },\n numberButton: {\n padding: 4,\n minWidth: 40,\n margin: 5,\n },\n numberButtonBreak: {\n display: 'block',\n },\n appBar: {\n color: 'white',\n },\n warning: {\n marginLeft: 16,\n color: 'red',\n fontSize: 12,\n },\n};\n\nconst WEEKDAYS = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];\nconst MONTHS = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n];\n\n// 5-7,9-11 => [5,6,7,9,10,11]\nfunction convertMinusIntoArray(value: string | false | undefined, max: number): number[] {\n const result: number[] = [];\n\n if (value === '*') {\n if (max === 24 || max === 60 || max === 7) {\n for (let i = 0; i < max; i++) {\n result.push(i);\n }\n } else {\n for (let i = 1; i <= max; i++) {\n result.push(i);\n }\n }\n return result; // array with entries max\n }\n\n const parts = (value || '').toString().split(',');\n\n for (let p = 0; p < parts.length; p++) {\n if (!parts[p].trim().length) {\n continue;\n }\n const items = parts[p].trim().split('-');\n if (items.length > 1) {\n const iMax = parseInt(items[1], 10);\n for (let i = parseInt(items[0], 10); i <= iMax; i++) {\n result.push(i);\n }\n } else {\n result.push(parseInt(parts[p], 10));\n }\n }\n\n result.sort();\n\n // remove double entries\n for (let p = result.length - 1; p >= 0; p--) {\n if (result[p] === result[p + 1]) {\n result.splice(p + 1, 1);\n }\n }\n\n return result;\n}\n\n// [5,6,7,9,10,11] => 5-7,9-11\nfunction convertArrayIntoMinus(value: number | number[], max: number): string {\n if (typeof value !== 'object') {\n value = [value];\n }\n if (value.length === max) {\n return '*';\n }\n const newParts = [];\n if (!value.length) {\n return '-';\n }\n value = value.map(a => parseInt(a as any as string, 10));\n\n value.sort((a, b) => a - b);\n\n let start = value[0];\n let end = value[0];\n for (let p = 1; p < value.length; p++) {\n if (value[p] - 1 !== parseInt(value[p - 1] as any as string, 10)) {\n if (start === end) {\n newParts.push(start);\n } else if (end - 1 === start) {\n newParts.push(`${start},${end}`);\n } else {\n newParts.push(`${start}-${end}`);\n }\n start = value[p];\n }\n end = value[p];\n }\n\n if (start === end) {\n newParts.push(start);\n } else if (end - 1 === start) {\n newParts.push(`${start},${end}`);\n } else {\n newParts.push(`${start}-${end}`);\n }\n\n return newParts.join(',');\n}\n\ntype CronNames = 'seconds' | 'minutes' | 'hours' | 'dates' | 'months' | 'dow';\n\ninterface CronProps {\n seconds: string | false | null;\n minutes: string | null;\n hours: string | null;\n dates: string | null;\n months: string | null;\n dow: string | null;\n}\n\ninterface ComplexCronProps {\n cronExpression: string;\n onChange: (cron: string) => void;\n language: ioBroker.Languages;\n}\n\n// type CronModes = 'every' | 'everyN' | 'specific';\n\ninterface ComplexCronState {\n extended: boolean;\n tab: number;\n cron: string;\n seconds?: string | false;\n minutes?: string;\n hours?: string;\n dates?: string;\n months?: string;\n dow?: string;\n modes: CronProps;\n}\n\nexport class ComplexCron extends Component<ComplexCronProps, ComplexCronState> {\n constructor(props: ComplexCronProps) {\n super(props);\n let cron =\n typeof this.props.cronExpression === 'string'\n ? this.props.cronExpression.replace(/^[\"']/, '').replace(/[\"']\\n?$/, '')\n : '';\n if (cron[0] === '{') {\n cron = '';\n }\n const state = ComplexCron.cron2state(cron || '* * * * *');\n\n this.state = {\n extended: false,\n tab: state.seconds !== false ? 1 : 0,\n cron: ComplexCron.state2cron(state),\n modes: {\n seconds: null,\n minutes: null,\n hours: null,\n dates: null,\n months: null,\n dow: null,\n },\n };\n Object.assign(this.state, state);\n if (this.state.cron !== this.props.cronExpression) {\n setTimeout(() => this.props.onChange && this.props.onChange(this.state.cron), 100);\n }\n }\n\n static cron2state(cron: string): CronProps {\n cron = cron.replace(/['\"]/g, '').trim();\n const cronParts = cron.split(' ').map(p => p.trim());\n let options: CronProps;\n\n if (cronParts.length === 6) {\n options = {\n seconds: cronParts[0] || '*',\n minutes: cronParts[1] || '*',\n hours: cronParts[2] || '*',\n dates: cronParts[3] || '*',\n months: cronParts[4] || '*',\n dow: cronParts[5] || '*',\n };\n } else {\n options = {\n seconds: false,\n minutes: cronParts[0] || '*',\n hours: cronParts[1] || '*',\n dates: cronParts[2] || '*',\n months: cronParts[3] || '*',\n dow: cronParts[4] || '*',\n };\n }\n return options;\n }\n\n static state2cron(state: ComplexCronState | CronProps): string {\n let text = `${state.minutes} ${state.hours} ${state.dates} ${state.months} ${state.dow}`;\n if (state.seconds !== false) {\n text = `${state.seconds} ${text}`;\n }\n return text;\n }\n\n recalcCron(): void {\n const cron = ComplexCron.state2cron(this.state);\n if (cron !== this.state.cron) {\n this.setState({ cron }, () => this.props.onChange && this.props.onChange(this.state.cron));\n }\n }\n\n onToggle(i: boolean | number, type: CronNames, max: number): void {\n if (i === true) {\n this.setCronAttr(type, '*');\n } else if (i === false) {\n if (max === 60 || max === 24) {\n this.setCronAttr(type, '0');\n } else {\n this.setCronAttr(type, '1');\n }\n } else {\n const nums = convertMinusIntoArray(this.state[type], max);\n const pos = nums.indexOf(i);\n if (pos !== -1) {\n nums.splice(pos, 1);\n } else {\n nums.push(i);\n nums.sort();\n }\n this.setCronAttr(type, convertArrayIntoMinus(nums, max));\n }\n }\n\n getDigitsSelector(type: CronNames, max: number): React.JSX.Element[] {\n let values = [];\n if (max === 7) {\n values = [1, 2, 3, 4, 5, 6, 0];\n } else if (max === 60 || max === 24) {\n for (let i = 0; i < max; i++) {\n values.push(i);\n }\n } else {\n for (let i = 1; i <= max; i++) {\n values.push(i);\n }\n }\n\n const parts = convertMinusIntoArray(this.state[type], max);\n\n return [\n <Button\n key=\"removeall\"\n variant=\"outlined\"\n style={styles.numberButton}\n // style={{paddingBottom: 20}}\n color=\"primary\"\n onClick={() => this.onToggle(false, type, max)}\n >\n {I18n.t('ra_Deselect all')}\n </Button>,\n <Button\n key=\"addall\"\n variant=\"contained\"\n // style={{paddingBottom: 20}}\n style={styles.numberButton}\n color=\"secondary\"\n onClick={() => this.onToggle(true, type, max)}\n >\n {I18n.t('ra_Select all')}\n </Button>,\n <div key=\"all\">\n {values.map(i => [\n (max === 7 && i === 4) ||\n (max === 12 && i === 7) ||\n (max === 31 && !((i - 1) % 10)) ||\n (max === 60 && i && !(i % 10)) ||\n (max === 24 && i && !(i % 6)) ? (\n <div\n key={`allInner${i}`}\n style={{ width: '100%' }}\n />\n ) : null,\n <Button\n key={`_${i}`}\n variant={parts.indexOf(i) !== -1 ? 'contained' : 'outlined'}\n style={styles.numberButton}\n color={parts.indexOf(i) !== -1 ? 'secondary' : 'primary'}\n onClick={() => this.onToggle(i, type, max)}\n >\n {max === 7 ? I18n.t(WEEKDAYS[i]) : max === 12 ? MONTHS[i - 1] : i}\n </Button>,\n ])}\n </div>,\n ];\n }\n\n getPeriodsTab(type: CronNames, max: number): React.JSX.Element | null {\n const value = this.state[type];\n let every = value === '*';\n let everyN = value === undefined || value === null ? false : value.toString().includes('/');\n let select;\n if (this.state.modes[type] === null) {\n select = every ? 'every' : everyN ? 'everyN' : 'specific';\n const modes: CronProps = JSON.parse(JSON.stringify(this.state.modes));\n modes[type] = select;\n setTimeout(() => this.setState({ modes }, () => this.recalcCron()), 100);\n return null;\n }\n\n every = this.state.modes[type] === 'every';\n everyN = this.state.modes[type] === 'everyN';\n select = this.state.modes[type];\n\n let valueNumber = 1;\n if (everyN && value) {\n valueNumber = parseInt(value.replace('*/', ''), 10) || 1;\n }\n\n return (\n <div>\n <Select\n variant=\"standard\"\n style={{ ...styles.periodSelect, verticalAlign: 'bottom' }}\n value={select}\n onChange={e => {\n const modes: CronProps = JSON.parse(JSON.stringify(this.state.modes));\n modes[type] = e.target.value as string;\n if (e.target.value === 'every') {\n this.setCronAttr(type, '*', modes);\n } else if (e.target.value === 'everyN') {\n const num = parseInt((this.state[type] || '').toString().replace('*/', ''), 10) || 1;\n this.setCronAttr(type, `*/${num}`, modes);\n } else if (e.target.value === 'specific') {\n let num = parseInt((this.state[type] || '').toString().split(',')[0], 10) || 0;\n if (!num && (type === 'months' || type === 'dates')) {\n num = 1;\n }\n this.setCronAttr(type, convertArrayIntoMinus(num, max), modes);\n }\n }}\n >\n <MenuItem\n key=\"every\"\n value=\"every\"\n >\n {I18n.t(`sc_every_${type}`)}\n </MenuItem>\n <MenuItem\n key=\"everyN\"\n value=\"everyN\"\n >\n {I18n.t(`sc_everyN_${type}`)}\n </MenuItem>\n <MenuItem\n key=\"specific\"\n value=\"specific\"\n >\n {I18n.t(`sc_specific_${type}`)}\n </MenuItem>\n </Select>\n {/* everyN && false && <span>{value}</span> */}\n {everyN && (\n <TextField\n variant=\"standard\"\n key=\"interval\"\n label={I18n.t(`sc_${type}`)}\n value={valueNumber}\n slotProps={{\n htmlInput: {\n min: 1,\n max,\n },\n inputLabel: {\n shrink: true,\n },\n }}\n onChange={e => {\n // @ts-expect-error is allowed\n this.setState({ [type]: `*/${e.target.value}` }, () => this.recalcCron());\n }}\n type=\"number\"\n margin=\"normal\"\n />\n )}\n {!every && !everyN && this.getDigitsSelector(type, max)}\n </div>\n );\n }\n\n static convertCronToText(cron: string, lang: ioBroker.Languages): string {\n if (cron.split(' ').includes('-')) {\n return I18n.t('ra_Invalid CRON');\n }\n return convertCronToText(cron, lang);\n }\n\n setCronAttr(attr: CronNames, value: string, modes?: CronProps): void {\n if (modes) {\n if (attr === 'seconds') {\n this.setState({ seconds: value, modes }, () => this.recalcCron());\n } else if (attr === 'minutes') {\n this.setState({ minutes: value, modes }, () => this.recalcCron());\n } else if (attr === 'hours') {\n this.setState({ hours: value, modes }, () => this.recalcCron());\n } else if (attr === 'dates') {\n this.setState({ dates: value, modes }, () => this.recalcCron());\n } else if (attr === 'months') {\n this.setState({ months: value, modes }, () => this.recalcCron());\n } else if (attr === 'dow') {\n this.setState({ dow: value, modes }, () => this.recalcCron());\n } else {\n this.setState({ modes }, () => this.recalcCron());\n }\n } else if (attr === 'seconds') {\n this.setState({ seconds: value }, () => this.recalcCron());\n } else if (attr === 'minutes') {\n this.setState({ minutes: value }, () => this.recalcCron());\n } else if (attr === 'hours') {\n this.setState({ hours: value }, () => this.recalcCron());\n } else if (attr === 'dates') {\n this.setState({ dates: value }, () => this.recalcCron());\n } else if (attr === 'months') {\n this.setState({ months: value }, () => this.recalcCron());\n } else if (attr === 'dow') {\n this.setState({ dow: value }, () => this.recalcCron());\n }\n }\n\n render(): React.JSX.Element {\n const tab = this.state.seconds !== false ? this.state.tab : this.state.tab + 1;\n\n // Detect if every minute or every second is activated\n const everyMinute = this.state.minutes === '*' || this.state.minutes === '*/1';\n const everySecond = this.state.seconds === '*' || this.state.seconds === '*/1';\n\n return (\n <div style={styles.mainDiv}>\n <div style={{ paddingLeft: 8, width: 'calc(100% - px)' }}>\n <TextField\n variant=\"standard\"\n style={{ width: '100%' }}\n value={this.state.cron}\n disabled\n />\n </div>\n <div style={{ paddingLeft: 8, width: 'calc(100% - px)', height: 60 }}>\n {ComplexCron.convertCronToText(this.state.cron, this.props.language || 'en')}\n <span style={styles.warning}>\n {everySecond\n ? I18n.t('ra_warning_every_second')\n : everyMinute\n ? I18n.t('ra_warning_every_minute')\n : ''}\n </span>\n </div>\n <FormControlLabel\n control={\n <Checkbox\n checked={!!this.state.seconds}\n onChange={e =>\n this.setState({ seconds: e.target.checked ? '*' : false }, () => this.recalcCron())\n }\n />\n }\n label={I18n.t('ra_use seconds')}\n />\n <AppBar\n position=\"static\"\n sx={{ '&.MuiAppBar-root': styles.appBar }}\n color=\"secondary\"\n >\n <Tabs\n value={this.state.tab}\n style={styles.appBar}\n color=\"secondary\"\n onChange={(_active, _tab) => this.setState({ tab: _tab })}\n >\n {this.state.seconds !== false && (\n <Tab\n id=\"sc_seconds\"\n label={I18n.t('sc_seconds')}\n />\n )}\n <Tab\n id=\"minutes\"\n label={I18n.t('sc_minutes')}\n />\n <Tab\n id=\"hours\"\n label={I18n.t('sc_hours')}\n />\n <Tab\n id=\"dates\"\n label={I18n.t('sc_dates')}\n />\n <Tab\n id=\"months\"\n label={I18n.t('sc_months')}\n />\n <Tab\n id=\"dow\"\n label={I18n.t('sc_dows')}\n />\n </Tabs>\n </AppBar>\n {tab === 0 && <div style={styles.tabContent}>{this.getPeriodsTab('seconds', 60)}</div>}\n {tab === 1 && <div style={styles.tabContent}>{this.getPeriodsTab('minutes', 60)}</div>}\n {tab === 2 && <div style={styles.tabContent}>{this.getPeriodsTab('hours', 24)}</div>}\n {tab === 3 && <div style={styles.tabContent}>{this.getPeriodsTab('dates', 31)}</div>}\n {tab === 4 && <div style={styles.tabContent}>{this.getPeriodsTab('months', 12)}</div>}\n {tab === 5 && <div style={styles.tabContent}>{this.getPeriodsTab('dow', 7)}</div>}\n </div>\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CopyToClipboard.js","sourceRoot":"./src/","sources":["Components/CopyToClipboard.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\nMIT License\n\nCopyright (c) 2017 sudodoki <smd.deluzion@gmail.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n */\n// https://github.com/sudodoki/toggle-selection/blob/gh-pages/index.js\nfunction deselectCurrent() {\n const selection = document.getSelection();\n if (!selection?.rangeCount) {\n return () => {};\n }\n let active = document.activeElement as HTMLElement | null;\n\n const ranges: Range[] = [];\n for (let i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (\n active?.tagName.toUpperCase() // .toUpperCase handles XHTML\n ) {\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return () => {\n selection.type === 'Caret' && selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(range => selection.addRange(range));\n }\n\n active && active.focus();\n };\n}\n\n// https://github.com/sudodoki/copy-to-clipboard/blob/master/index.js\n\nconst clipboardToIE11Formatting = {\n 'text/plain': 'Text',\n 'text/html': 'Url',\n default: 'Text',\n};\n\nconst defaultMessage = 'Copy to clipboard: #{key}, Enter';\n\nfunction format(message: string): string {\n const copyKey = `${/mac os x/i.test(navigator.userAgent) ? '⌘' : 'Ctrl'}+C`;\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\n/**\n * Copy text to clipboard\n *\n * @param text Text to copy\n * @param options Options\n * @param options.debug Debug mode\n * @param options.format Format of the data\n * @param options.message Message to show in prompt\n */\nexport function copy(\n text: string,\n options?: { debug?: boolean; format?: 'text/plain' | 'text/html'; message?: string },\n): boolean {\n let reselectPrevious;\n let range;\n let selection;\n let mark;\n let success = false;\n options = options || {};\n const debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement('span');\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = 'true';\n // reset user styles for span element\n mark.style.all = 'unset';\n // prevents scrolling to the end of the page\n mark.style.position = 'fixed';\n mark.style.top = '0px';\n mark.style.clip = 'rect(0, 0, 0, 0)';\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = 'pre';\n // do not inherit user-select (it may be `none`)\n mark.style.userSelect = 'text';\n mark.addEventListener('copy', e => {\n e.stopPropagation();\n if (options?.format) {\n e.preventDefault();\n if (typeof e.clipboardData === 'undefined') {\n // IE 11\n debug && console.warn('unable to use e.clipboardData');\n debug && console.warn('trying IE specific stuff');\n (window as any).clipboardData?.clearData();\n const _format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting.default;\n (window as any).clipboardData?.setData(_format, text);\n } else {\n // all other browsers\n e.clipboardData?.clearData();\n e.clipboardData?.setData(options.format, text);\n }\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection?.addRange(range);\n\n // there is no alternative for execCommand\n const successful = document.execCommand('copy');\n if (!successful) {\n throw new Error('copy command was unsuccessful');\n }\n success = true;\n } catch (err) {\n debug && console.error('unable to copy using execCommand: ', err);\n debug && console.warn('trying IE specific stuff');\n try {\n (window as any).clipboardData.setData(options.format || 'text', text);\n // options.onCopy && options.onCopy((window as any).clipboardData);\n success = true;\n } catch (error) {\n debug && console.error('unable to copy using clipboardData: ', error);\n debug && console.error('falling back to prompt');\n const message = format('message' in options ? options.message || '' : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (range && typeof selection.removeRange === 'function') {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious && reselectPrevious();\n }\n\n return success;\n}\n"]}
1
+ {"version":3,"file":"CopyToClipboard.js","sourceRoot":"./src/","sources":["Components/CopyToClipboard.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\r\nMIT License\r\n\r\nCopyright (c) 2017 sudodoki <smd.deluzion@gmail.com>\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy\r\nof this software and associated documentation files (the \"Software\"), to deal\r\nin the Software without restriction, including without limitation the rights\r\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\ncopies of the Software, and to permit persons to whom the Software is\r\nfurnished to do so, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in all\r\ncopies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\nSOFTWARE.\r\n */\r\n// https://github.com/sudodoki/toggle-selection/blob/gh-pages/index.js\r\nfunction deselectCurrent() {\r\n const selection = document.getSelection();\r\n if (!selection?.rangeCount) {\r\n return () => {};\r\n }\r\n let active = document.activeElement as HTMLElement | null;\r\n\r\n const ranges: Range[] = [];\r\n for (let i = 0; i < selection.rangeCount; i++) {\r\n ranges.push(selection.getRangeAt(i));\r\n }\r\n\r\n switch (\r\n active?.tagName.toUpperCase() // .toUpperCase handles XHTML\r\n ) {\r\n case 'INPUT':\r\n case 'TEXTAREA':\r\n active.blur();\r\n break;\r\n\r\n default:\r\n active = null;\r\n break;\r\n }\r\n\r\n selection.removeAllRanges();\r\n return () => {\r\n selection.type === 'Caret' && selection.removeAllRanges();\r\n\r\n if (!selection.rangeCount) {\r\n ranges.forEach(range => selection.addRange(range));\r\n }\r\n\r\n active && active.focus();\r\n };\r\n}\r\n\r\n// https://github.com/sudodoki/copy-to-clipboard/blob/master/index.js\r\n\r\nconst clipboardToIE11Formatting = {\r\n 'text/plain': 'Text',\r\n 'text/html': 'Url',\r\n default: 'Text',\r\n};\r\n\r\nconst defaultMessage = 'Copy to clipboard: #{key}, Enter';\r\n\r\nfunction format(message: string): string {\r\n const copyKey = `${/mac os x/i.test(navigator.userAgent) ? '⌘' : 'Ctrl'}+C`;\r\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\r\n}\r\n\r\n/**\r\n * Copy text to clipboard\r\n *\r\n * @param text Text to copy\r\n * @param options Options\r\n * @param options.debug Debug mode\r\n * @param options.format Format of the data\r\n * @param options.message Message to show in prompt\r\n */\r\nexport function copy(\r\n text: string,\r\n options?: { debug?: boolean; format?: 'text/plain' | 'text/html'; message?: string },\r\n): boolean {\r\n let reselectPrevious;\r\n let range;\r\n let selection;\r\n let mark;\r\n let success = false;\r\n options = options || {};\r\n const debug = options.debug || false;\r\n try {\r\n reselectPrevious = deselectCurrent();\r\n\r\n range = document.createRange();\r\n selection = document.getSelection();\r\n\r\n mark = document.createElement('span');\r\n mark.textContent = text;\r\n // avoid screen readers from reading out loud the text\r\n mark.ariaHidden = 'true';\r\n // reset user styles for span element\r\n mark.style.all = 'unset';\r\n // prevents scrolling to the end of the page\r\n mark.style.position = 'fixed';\r\n mark.style.top = '0px';\r\n mark.style.clip = 'rect(0, 0, 0, 0)';\r\n // used to preserve spaces and line breaks\r\n mark.style.whiteSpace = 'pre';\r\n // do not inherit user-select (it may be `none`)\r\n mark.style.userSelect = 'text';\r\n mark.addEventListener('copy', e => {\r\n e.stopPropagation();\r\n if (options?.format) {\r\n e.preventDefault();\r\n if (typeof e.clipboardData === 'undefined') {\r\n // IE 11\r\n debug && console.warn('unable to use e.clipboardData');\r\n debug && console.warn('trying IE specific stuff');\r\n (window as any).clipboardData?.clearData();\r\n const _format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting.default;\r\n (window as any).clipboardData?.setData(_format, text);\r\n } else {\r\n // all other browsers\r\n e.clipboardData?.clearData();\r\n e.clipboardData?.setData(options.format, text);\r\n }\r\n }\r\n });\r\n\r\n document.body.appendChild(mark);\r\n\r\n range.selectNodeContents(mark);\r\n selection?.addRange(range);\r\n\r\n // there is no alternative for execCommand\r\n const successful = document.execCommand('copy');\r\n if (!successful) {\r\n throw new Error('copy command was unsuccessful');\r\n }\r\n success = true;\r\n } catch (err) {\r\n debug && console.error('unable to copy using execCommand: ', err);\r\n debug && console.warn('trying IE specific stuff');\r\n try {\r\n (window as any).clipboardData.setData(options.format || 'text', text);\r\n // options.onCopy && options.onCopy((window as any).clipboardData);\r\n success = true;\r\n } catch (error) {\r\n debug && console.error('unable to copy using clipboardData: ', error);\r\n debug && console.error('falling back to prompt');\r\n const message = format('message' in options ? options.message || '' : defaultMessage);\r\n window.prompt(message, text);\r\n }\r\n } finally {\r\n if (selection) {\r\n if (range && typeof selection.removeRange === 'function') {\r\n selection.removeRange(range);\r\n } else {\r\n selection.removeAllRanges();\r\n }\r\n }\r\n\r\n if (mark) {\r\n document.body.removeChild(mark);\r\n }\r\n reselectPrevious && reselectPrevious();\r\n }\r\n\r\n return success;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CustomModal.js","sourceRoot":"./src/","sources":["Components/CustomModal.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport { Dialog, DialogActions, DialogContent, DialogTitle, IconButton, TextField, Button } from '@mui/material';\n\nimport { Check as CheckIcon, Close as CloseIcon, Language as LanguageIcon } from '@mui/icons-material';\n\nimport { I18n } from '../i18n';\nimport type { IobTheme } from '../types';\nimport { Utils } from './Utils';\n\nconst styles: Record<string, any> = {\n modalDialog: {\n minWidth: 400,\n maxWidth: 800,\n },\n overflowHidden: {\n display: 'flex',\n overflow: 'hidden',\n },\n titleIcon: {\n marginRight: 5,\n },\n content: {\n fontSize: 16,\n },\n languageButton: {\n position: 'absolute',\n right: 8,\n top: 8,\n },\n languageButtonActive: (theme: IobTheme) => ({\n color: theme.palette.primary.main,\n }),\n};\n\ninterface CustomModalProps {\n icon?: any;\n open: boolean;\n onClose: () => void;\n children: React.JSX.Element | null;\n titleButtonClose?: string;\n titleButtonApply?: string;\n onApply: (result: string) => void;\n fullWidth?: boolean;\n maxWidth?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n applyButton?: boolean;\n applyDisabled?: boolean;\n overflowHidden?: boolean;\n help?: string;\n noTranslation?: boolean;\n toggleTranslation?: () => void;\n title?: string;\n progress?: boolean;\n textInput?: boolean;\n defaultValue?: string;\n theme: IobTheme;\n}\n\nexport function CustomModal(props: CustomModalProps): React.JSX.Element {\n const {\n open,\n toggleTranslation,\n noTranslation,\n title,\n fullWidth,\n help,\n maxWidth,\n progress,\n icon,\n applyDisabled,\n applyButton,\n onClose,\n children,\n titleButtonApply,\n titleButtonClose,\n onApply,\n textInput,\n defaultValue,\n overflowHidden,\n } = props;\n\n const [value, setValue] = useState<string>(defaultValue || '');\n\n useEffect(() => {\n setValue(defaultValue || '');\n }, [defaultValue]);\n\n let Icon = null;\n\n if (icon) {\n Icon = icon;\n }\n\n return (\n <Dialog\n open={open}\n maxWidth={maxWidth || 'md'}\n fullWidth={!!fullWidth}\n disableEscapeKeyDown={false}\n onClose={onClose}\n sx={{ '& .MuiDialog-paper': styles.modalDialog }}\n >\n {title && (\n <DialogTitle>\n {icon ? <Icon style={styles.titleIcon} /> : null}\n {title}\n {I18n.getLanguage() !== 'en' && toggleTranslation ? (\n <IconButton\n size=\"large\"\n sx={Utils.getStyle(\n props.theme,\n styles.languageButton,\n noTranslation && styles.languageButtonActive,\n )}\n onClick={() => toggleTranslation()}\n title={I18n.t('Disable/Enable translation')}\n >\n <LanguageIcon />\n </IconButton>\n ) : null}\n </DialogTitle>\n )}\n <DialogContent\n style={{ ...styles.content, ...(overflowHidden ? styles.overflowHidden : undefined), paddingTop: 8 }}\n >\n {textInput && (\n <TextField\n // className={className}\n autoComplete=\"off\"\n fullWidth\n autoFocus\n variant=\"outlined\"\n size=\"medium\"\n // rows={10}\n multiline\n value={value}\n onChange={e => setValue(e.target.value)}\n // customValue\n />\n )}\n {children}\n {help ? <div>{help}</div> : null}\n </DialogContent>\n <DialogActions>\n {applyButton !== false && (\n <Button\n startIcon={<CheckIcon />}\n disabled={progress || (applyDisabled && defaultValue === value)}\n onClick={() => onApply(textInput ? value : '')}\n variant=\"contained\"\n color=\"primary\"\n >\n {I18n.t(titleButtonApply || 'ra_Ok')}\n </Button>\n )}\n <Button\n color=\"grey\"\n onClick={onClose}\n disabled={progress}\n variant=\"contained\"\n startIcon={<CloseIcon />}\n >\n {I18n.t(titleButtonClose || 'ra_Cancel')}\n </Button>\n </DialogActions>\n </Dialog>\n );\n}\n"]}
1
+ {"version":3,"file":"CustomModal.js","sourceRoot":"./src/","sources":["Components/CustomModal.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\r\n\r\nimport { Dialog, DialogActions, DialogContent, DialogTitle, IconButton, TextField, Button } from '@mui/material';\r\n\r\nimport { Check as CheckIcon, Close as CloseIcon, Language as LanguageIcon } from '@mui/icons-material';\r\n\r\nimport { I18n } from '../i18n';\r\nimport type { IobTheme } from '../types';\r\nimport { Utils } from './Utils';\r\n\r\nconst styles: Record<string, any> = {\r\n modalDialog: {\r\n minWidth: 400,\r\n maxWidth: 800,\r\n },\r\n overflowHidden: {\r\n display: 'flex',\r\n overflow: 'hidden',\r\n },\r\n titleIcon: {\r\n marginRight: 5,\r\n },\r\n content: {\r\n fontSize: 16,\r\n },\r\n languageButton: {\r\n position: 'absolute',\r\n right: 8,\r\n top: 8,\r\n },\r\n languageButtonActive: (theme: IobTheme) => ({\r\n color: theme.palette.primary.main,\r\n }),\r\n};\r\n\r\ninterface CustomModalProps {\r\n icon?: any;\r\n open: boolean;\r\n onClose: () => void;\r\n children: React.JSX.Element | null;\r\n titleButtonClose?: string;\r\n titleButtonApply?: string;\r\n onApply: (result: string) => void;\r\n fullWidth?: boolean;\r\n maxWidth?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\n applyButton?: boolean;\r\n applyDisabled?: boolean;\r\n overflowHidden?: boolean;\r\n help?: string;\r\n noTranslation?: boolean;\r\n toggleTranslation?: () => void;\r\n title?: string;\r\n progress?: boolean;\r\n textInput?: boolean;\r\n defaultValue?: string;\r\n theme: IobTheme;\r\n}\r\n\r\nexport function CustomModal(props: CustomModalProps): React.JSX.Element {\r\n const {\r\n open,\r\n toggleTranslation,\r\n noTranslation,\r\n title,\r\n fullWidth,\r\n help,\r\n maxWidth,\r\n progress,\r\n icon,\r\n applyDisabled,\r\n applyButton,\r\n onClose,\r\n children,\r\n titleButtonApply,\r\n titleButtonClose,\r\n onApply,\r\n textInput,\r\n defaultValue,\r\n overflowHidden,\r\n } = props;\r\n\r\n const [value, setValue] = useState<string>(defaultValue || '');\r\n\r\n useEffect(() => {\r\n setValue(defaultValue || '');\r\n }, [defaultValue]);\r\n\r\n let Icon = null;\r\n\r\n if (icon) {\r\n Icon = icon;\r\n }\r\n\r\n return (\r\n <Dialog\r\n open={open}\r\n maxWidth={maxWidth || 'md'}\r\n fullWidth={!!fullWidth}\r\n disableEscapeKeyDown={false}\r\n onClose={onClose}\r\n sx={{ '& .MuiDialog-paper': styles.modalDialog }}\r\n >\r\n {title && (\r\n <DialogTitle>\r\n {icon ? <Icon style={styles.titleIcon} /> : null}\r\n {title}\r\n {I18n.getLanguage() !== 'en' && toggleTranslation ? (\r\n <IconButton\r\n size=\"large\"\r\n sx={Utils.getStyle(\r\n props.theme,\r\n styles.languageButton,\r\n noTranslation && styles.languageButtonActive,\r\n )}\r\n onClick={() => toggleTranslation()}\r\n title={I18n.t('Disable/Enable translation')}\r\n >\r\n <LanguageIcon />\r\n </IconButton>\r\n ) : null}\r\n </DialogTitle>\r\n )}\r\n <DialogContent\r\n style={{ ...styles.content, ...(overflowHidden ? styles.overflowHidden : undefined), paddingTop: 8 }}\r\n >\r\n {textInput && (\r\n <TextField\r\n // className={className}\r\n autoComplete=\"off\"\r\n fullWidth\r\n autoFocus\r\n variant=\"outlined\"\r\n size=\"medium\"\r\n // rows={10}\r\n multiline\r\n value={value}\r\n onChange={e => setValue(e.target.value)}\r\n // customValue\r\n />\r\n )}\r\n {children}\r\n {help ? <div>{help}</div> : null}\r\n </DialogContent>\r\n <DialogActions>\r\n {applyButton !== false && (\r\n <Button\r\n startIcon={<CheckIcon />}\r\n disabled={progress || (applyDisabled && defaultValue === value)}\r\n onClick={() => onApply(textInput ? value : '')}\r\n variant=\"contained\"\r\n color=\"primary\"\r\n >\r\n {I18n.t(titleButtonApply || 'ra_Ok')}\r\n </Button>\r\n )}\r\n <Button\r\n color=\"grey\"\r\n onClick={onClose}\r\n disabled={progress}\r\n variant=\"contained\"\r\n startIcon={<CloseIcon />}\r\n >\r\n {I18n.t(titleButtonClose || 'ra_Cancel')}\r\n </Button>\r\n </DialogActions>\r\n </Dialog>\r\n );\r\n}\r\n"]}
@@ -1579,7 +1579,7 @@ export class FileBrowserClass extends Component {
1579
1579
  // used in tabs/Files
1580
1580
  // eslint-disable-next-line react/no-unused-class-component-methods
1581
1581
  updateItemsAcl(info) {
1582
- this.cacheFolders = this.cacheFolders || JSON.parse(JSON.stringify(this.state.folders));
1582
+ this.cacheFolders ||= JSON.parse(JSON.stringify(this.state.folders));
1583
1583
  let changed;
1584
1584
  info.forEach(it => {
1585
1585
  const item = this.findItem(it.id, this.cacheFolders);