@iobroker/json-config 1.0.0

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 (221) hide show
  1. package/LICENSE +21 -0
  2. package/build/JsonConfig.d.ts +22 -0
  3. package/build/JsonConfig.js +535 -0
  4. package/build/JsonConfig.js.map +1 -0
  5. package/build/JsonConfigComponent/ChipInput.d.ts +12 -0
  6. package/build/JsonConfigComponent/ChipInput.js +595 -0
  7. package/build/JsonConfigComponent/ChipInput.js.map +1 -0
  8. package/build/JsonConfigComponent/ConfigAccordion.d.ts +15 -0
  9. package/build/JsonConfigComponent/ConfigAccordion.js +185 -0
  10. package/build/JsonConfigComponent/ConfigAccordion.js.map +1 -0
  11. package/build/JsonConfigComponent/ConfigAlive.d.ts +10 -0
  12. package/build/JsonConfigComponent/ConfigAlive.js +63 -0
  13. package/build/JsonConfigComponent/ConfigAlive.js.map +1 -0
  14. package/build/JsonConfigComponent/ConfigAutocomplete.d.ts +37 -0
  15. package/build/JsonConfigComponent/ConfigAutocomplete.js +69 -0
  16. package/build/JsonConfigComponent/ConfigAutocomplete.js.map +1 -0
  17. package/build/JsonConfigComponent/ConfigAutocompleteSendTo.d.ts +17 -0
  18. package/build/JsonConfigComponent/ConfigAutocompleteSendTo.js +127 -0
  19. package/build/JsonConfigComponent/ConfigAutocompleteSendTo.js.map +1 -0
  20. package/build/JsonConfigComponent/ConfigCRON.d.ts +15 -0
  21. package/build/JsonConfigComponent/ConfigCRON.js +55 -0
  22. package/build/JsonConfigComponent/ConfigCRON.js.map +1 -0
  23. package/build/JsonConfigComponent/ConfigCertCollection.d.ts +14 -0
  24. package/build/JsonConfigComponent/ConfigCertCollection.js +50 -0
  25. package/build/JsonConfigComponent/ConfigCertCollection.js.map +1 -0
  26. package/build/JsonConfigComponent/ConfigCertificateSelect.d.ts +14 -0
  27. package/build/JsonConfigComponent/ConfigCertificateSelect.js +59 -0
  28. package/build/JsonConfigComponent/ConfigCertificateSelect.js.map +1 -0
  29. package/build/JsonConfigComponent/ConfigCertificates.d.ts +14 -0
  30. package/build/JsonConfigComponent/ConfigCertificates.js +104 -0
  31. package/build/JsonConfigComponent/ConfigCertificates.js.map +1 -0
  32. package/build/JsonConfigComponent/ConfigCheckLicense.d.ts +3 -0
  33. package/build/JsonConfigComponent/ConfigCheckLicense.js +546 -0
  34. package/build/JsonConfigComponent/ConfigCheckLicense.js.map +1 -0
  35. package/build/JsonConfigComponent/ConfigCheckbox.d.ts +15 -0
  36. package/build/JsonConfigComponent/ConfigCheckbox.js +36 -0
  37. package/build/JsonConfigComponent/ConfigCheckbox.js.map +1 -0
  38. package/build/JsonConfigComponent/ConfigChip.d.ts +14 -0
  39. package/build/JsonConfigComponent/ConfigChip.js +67 -0
  40. package/build/JsonConfigComponent/ConfigChip.js.map +1 -0
  41. package/build/JsonConfigComponent/ConfigColor.d.ts +22 -0
  42. package/build/JsonConfigComponent/ConfigColor.js +57 -0
  43. package/build/JsonConfigComponent/ConfigColor.js.map +1 -0
  44. package/build/JsonConfigComponent/ConfigCoordinates.d.ts +14 -0
  45. package/build/JsonConfigComponent/ConfigCoordinates.js +146 -0
  46. package/build/JsonConfigComponent/ConfigCoordinates.js.map +1 -0
  47. package/build/JsonConfigComponent/ConfigCustom.d.ts +26 -0
  48. package/build/JsonConfigComponent/ConfigCustom.js +195 -0
  49. package/build/JsonConfigComponent/ConfigCustom.js.map +1 -0
  50. package/build/JsonConfigComponent/ConfigDatePicker.d.ts +14 -0
  51. package/build/JsonConfigComponent/ConfigDatePicker.js +39 -0
  52. package/build/JsonConfigComponent/ConfigDatePicker.js.map +1 -0
  53. package/build/JsonConfigComponent/ConfigDeviceManager.d.ts +6 -0
  54. package/build/JsonConfigComponent/ConfigDeviceManager.js +14 -0
  55. package/build/JsonConfigComponent/ConfigDeviceManager.js.map +1 -0
  56. package/build/JsonConfigComponent/ConfigFile.d.ts +15 -0
  57. package/build/JsonConfigComponent/ConfigFile.js +131 -0
  58. package/build/JsonConfigComponent/ConfigFile.js.map +1 -0
  59. package/build/JsonConfigComponent/ConfigFileSelector.d.ts +3 -0
  60. package/build/JsonConfigComponent/ConfigFileSelector.js +434 -0
  61. package/build/JsonConfigComponent/ConfigFileSelector.js.map +1 -0
  62. package/build/JsonConfigComponent/ConfigFunc.d.ts +14 -0
  63. package/build/JsonConfigComponent/ConfigFunc.js +56 -0
  64. package/build/JsonConfigComponent/ConfigFunc.js.map +1 -0
  65. package/build/JsonConfigComponent/ConfigGeneric.d.ts +95 -0
  66. package/build/JsonConfigComponent/ConfigGeneric.js +632 -0
  67. package/build/JsonConfigComponent/ConfigGeneric.js.map +1 -0
  68. package/build/JsonConfigComponent/ConfigIP.d.ts +14 -0
  69. package/build/JsonConfigComponent/ConfigIP.js +64 -0
  70. package/build/JsonConfigComponent/ConfigIP.js.map +1 -0
  71. package/build/JsonConfigComponent/ConfigImageSendTo.d.ts +10 -0
  72. package/build/JsonConfigComponent/ConfigImageSendTo.js +62 -0
  73. package/build/JsonConfigComponent/ConfigImageSendTo.js.map +1 -0
  74. package/build/JsonConfigComponent/ConfigImageUpload.d.ts +14 -0
  75. package/build/JsonConfigComponent/ConfigImageUpload.js +91 -0
  76. package/build/JsonConfigComponent/ConfigImageUpload.js.map +1 -0
  77. package/build/JsonConfigComponent/ConfigInstanceSelect.d.ts +14 -0
  78. package/build/JsonConfigComponent/ConfigInstanceSelect.js +133 -0
  79. package/build/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -0
  80. package/build/JsonConfigComponent/ConfigInterface.d.ts +14 -0
  81. package/build/JsonConfigComponent/ConfigInterface.js +74 -0
  82. package/build/JsonConfigComponent/ConfigInterface.js.map +1 -0
  83. package/build/JsonConfigComponent/ConfigJsonEditor.d.ts +13 -0
  84. package/build/JsonConfigComponent/ConfigJsonEditor.js +59 -0
  85. package/build/JsonConfigComponent/ConfigJsonEditor.js.map +1 -0
  86. package/build/JsonConfigComponent/ConfigLanguage.d.ts +7 -0
  87. package/build/JsonConfigComponent/ConfigLanguage.js +105 -0
  88. package/build/JsonConfigComponent/ConfigLanguage.js.map +1 -0
  89. package/build/JsonConfigComponent/ConfigLicense.d.ts +24 -0
  90. package/build/JsonConfigComponent/ConfigLicense.js +95 -0
  91. package/build/JsonConfigComponent/ConfigLicense.js.map +1 -0
  92. package/build/JsonConfigComponent/ConfigNumber.d.ts +17 -0
  93. package/build/JsonConfigComponent/ConfigNumber.js +114 -0
  94. package/build/JsonConfigComponent/ConfigNumber.js.map +1 -0
  95. package/build/JsonConfigComponent/ConfigObjectId.d.ts +17 -0
  96. package/build/JsonConfigComponent/ConfigObjectId.js +59 -0
  97. package/build/JsonConfigComponent/ConfigObjectId.js.map +1 -0
  98. package/build/JsonConfigComponent/ConfigPanel.d.ts +3 -0
  99. package/build/JsonConfigComponent/ConfigPanel.js +271 -0
  100. package/build/JsonConfigComponent/ConfigPanel.js.map +1 -0
  101. package/build/JsonConfigComponent/ConfigPassword.d.ts +14 -0
  102. package/build/JsonConfigComponent/ConfigPassword.js +105 -0
  103. package/build/JsonConfigComponent/ConfigPassword.js.map +1 -0
  104. package/build/JsonConfigComponent/ConfigPattern.d.ts +21 -0
  105. package/build/JsonConfigComponent/ConfigPattern.js +32 -0
  106. package/build/JsonConfigComponent/ConfigPattern.js.map +1 -0
  107. package/build/JsonConfigComponent/ConfigPort.d.ts +3 -0
  108. package/build/JsonConfigComponent/ConfigPort.js +174 -0
  109. package/build/JsonConfigComponent/ConfigPort.js.map +1 -0
  110. package/build/JsonConfigComponent/ConfigRoom.d.ts +14 -0
  111. package/build/JsonConfigComponent/ConfigRoom.js +56 -0
  112. package/build/JsonConfigComponent/ConfigRoom.js.map +1 -0
  113. package/build/JsonConfigComponent/ConfigSelect.d.ts +14 -0
  114. package/build/JsonConfigComponent/ConfigSelect.js +90 -0
  115. package/build/JsonConfigComponent/ConfigSelect.js.map +1 -0
  116. package/build/JsonConfigComponent/ConfigSelectSendTo.d.ts +17 -0
  117. package/build/JsonConfigComponent/ConfigSelectSendTo.js +175 -0
  118. package/build/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -0
  119. package/build/JsonConfigComponent/ConfigSendto.d.ts +24 -0
  120. package/build/JsonConfigComponent/ConfigSendto.js +290 -0
  121. package/build/JsonConfigComponent/ConfigSendto.js.map +1 -0
  122. package/build/JsonConfigComponent/ConfigSetState.d.ts +18 -0
  123. package/build/JsonConfigComponent/ConfigSetState.js +93 -0
  124. package/build/JsonConfigComponent/ConfigSetState.js.map +1 -0
  125. package/build/JsonConfigComponent/ConfigSlider.d.ts +14 -0
  126. package/build/JsonConfigComponent/ConfigSlider.js +62 -0
  127. package/build/JsonConfigComponent/ConfigSlider.js.map +1 -0
  128. package/build/JsonConfigComponent/ConfigStaticDivider.d.ts +14 -0
  129. package/build/JsonConfigComponent/ConfigStaticDivider.js +39 -0
  130. package/build/JsonConfigComponent/ConfigStaticDivider.js.map +1 -0
  131. package/build/JsonConfigComponent/ConfigStaticHeader.d.ts +14 -0
  132. package/build/JsonConfigComponent/ConfigStaticHeader.js +45 -0
  133. package/build/JsonConfigComponent/ConfigStaticHeader.js.map +1 -0
  134. package/build/JsonConfigComponent/ConfigStaticImage.d.ts +14 -0
  135. package/build/JsonConfigComponent/ConfigStaticImage.js +36 -0
  136. package/build/JsonConfigComponent/ConfigStaticImage.js.map +1 -0
  137. package/build/JsonConfigComponent/ConfigStaticText.d.ts +14 -0
  138. package/build/JsonConfigComponent/ConfigStaticText.js +51 -0
  139. package/build/JsonConfigComponent/ConfigStaticText.js.map +1 -0
  140. package/build/JsonConfigComponent/ConfigTable.d.ts +3 -0
  141. package/build/JsonConfigComponent/ConfigTable.js +670 -0
  142. package/build/JsonConfigComponent/ConfigTable.js.map +1 -0
  143. package/build/JsonConfigComponent/ConfigTabs.d.ts +34 -0
  144. package/build/JsonConfigComponent/ConfigTabs.js +90 -0
  145. package/build/JsonConfigComponent/ConfigTabs.js.map +1 -0
  146. package/build/JsonConfigComponent/ConfigText.d.ts +14 -0
  147. package/build/JsonConfigComponent/ConfigText.js +105 -0
  148. package/build/JsonConfigComponent/ConfigText.js.map +1 -0
  149. package/build/JsonConfigComponent/ConfigTextSendTo.d.ts +10 -0
  150. package/build/JsonConfigComponent/ConfigTextSendTo.js +76 -0
  151. package/build/JsonConfigComponent/ConfigTextSendTo.js.map +1 -0
  152. package/build/JsonConfigComponent/ConfigTimePicker.d.ts +14 -0
  153. package/build/JsonConfigComponent/ConfigTimePicker.js +37 -0
  154. package/build/JsonConfigComponent/ConfigTimePicker.js.map +1 -0
  155. package/build/JsonConfigComponent/ConfigTopic.d.ts +17 -0
  156. package/build/JsonConfigComponent/ConfigTopic.js +61 -0
  157. package/build/JsonConfigComponent/ConfigTopic.js.map +1 -0
  158. package/build/JsonConfigComponent/ConfigUUID.d.ts +15 -0
  159. package/build/JsonConfigComponent/ConfigUUID.js +31 -0
  160. package/build/JsonConfigComponent/ConfigUUID.js.map +1 -0
  161. package/build/JsonConfigComponent/ConfigUser.d.ts +14 -0
  162. package/build/JsonConfigComponent/ConfigUser.js +70 -0
  163. package/build/JsonConfigComponent/ConfigUser.js.map +1 -0
  164. package/build/JsonConfigComponent/index.d.ts +26 -0
  165. package/build/JsonConfigComponent/index.js +312 -0
  166. package/build/JsonConfigComponent/index.js.map +1 -0
  167. package/build/JsonConfigComponent/wrapper/AdminConnection.d.ts +2 -0
  168. package/build/JsonConfigComponent/wrapper/AdminConnection.js +3 -0
  169. package/build/JsonConfigComponent/wrapper/AdminConnection.js.map +1 -0
  170. package/build/JsonConfigComponent/wrapper/Components/ColorPicker.d.ts +2 -0
  171. package/build/JsonConfigComponent/wrapper/Components/ColorPicker.js +3 -0
  172. package/build/JsonConfigComponent/wrapper/Components/ColorPicker.js.map +1 -0
  173. package/build/JsonConfigComponent/wrapper/Components/CustomModal.d.ts +3 -0
  174. package/build/JsonConfigComponent/wrapper/Components/CustomModal.js +87 -0
  175. package/build/JsonConfigComponent/wrapper/Components/CustomModal.js.map +1 -0
  176. package/build/JsonConfigComponent/wrapper/Components/Editor.d.ts +14 -0
  177. package/build/JsonConfigComponent/wrapper/Components/Editor.js +43 -0
  178. package/build/JsonConfigComponent/wrapper/Components/Editor.js.map +1 -0
  179. package/build/JsonConfigComponent/wrapper/Components/Icon.d.ts +2 -0
  180. package/build/JsonConfigComponent/wrapper/Components/Icon.js +3 -0
  181. package/build/JsonConfigComponent/wrapper/Components/Icon.js.map +1 -0
  182. package/build/JsonConfigComponent/wrapper/Components/TextWithIcon.d.ts +2 -0
  183. package/build/JsonConfigComponent/wrapper/Components/TextWithIcon.js +3 -0
  184. package/build/JsonConfigComponent/wrapper/Components/TextWithIcon.js.map +1 -0
  185. package/build/JsonConfigComponent/wrapper/Components/UploadImage.d.ts +2 -0
  186. package/build/JsonConfigComponent/wrapper/Components/UploadImage.js +3 -0
  187. package/build/JsonConfigComponent/wrapper/Components/UploadImage.js.map +1 -0
  188. package/build/JsonConfigComponent/wrapper/Components/Utils.d.ts +2 -0
  189. package/build/JsonConfigComponent/wrapper/Components/Utils.js +3 -0
  190. package/build/JsonConfigComponent/wrapper/Components/Utils.js.map +1 -0
  191. package/build/JsonConfigComponent/wrapper/Dialogs/Confirm.d.ts +2 -0
  192. package/build/JsonConfigComponent/wrapper/Dialogs/Confirm.js +3 -0
  193. package/build/JsonConfigComponent/wrapper/Dialogs/Confirm.js.map +1 -0
  194. package/build/JsonConfigComponent/wrapper/Dialogs/Cron.d.ts +2 -0
  195. package/build/JsonConfigComponent/wrapper/Dialogs/Cron.js +3 -0
  196. package/build/JsonConfigComponent/wrapper/Dialogs/Cron.js.map +1 -0
  197. package/build/JsonConfigComponent/wrapper/Dialogs/Error.d.ts +2 -0
  198. package/build/JsonConfigComponent/wrapper/Dialogs/Error.js +3 -0
  199. package/build/JsonConfigComponent/wrapper/Dialogs/Error.js.map +1 -0
  200. package/build/JsonConfigComponent/wrapper/Dialogs/Message.d.ts +2 -0
  201. package/build/JsonConfigComponent/wrapper/Dialogs/Message.js +3 -0
  202. package/build/JsonConfigComponent/wrapper/Dialogs/Message.js.map +1 -0
  203. package/build/JsonConfigComponent/wrapper/Dialogs/SelectFile.d.ts +2 -0
  204. package/build/JsonConfigComponent/wrapper/Dialogs/SelectFile.js +3 -0
  205. package/build/JsonConfigComponent/wrapper/Dialogs/SelectFile.js.map +1 -0
  206. package/build/JsonConfigComponent/wrapper/Dialogs/SelectID.d.ts +2 -0
  207. package/build/JsonConfigComponent/wrapper/Dialogs/SelectID.js +3 -0
  208. package/build/JsonConfigComponent/wrapper/Dialogs/SelectID.js.map +1 -0
  209. package/build/JsonConfigComponent/wrapper/i18n.d.ts +2 -0
  210. package/build/JsonConfigComponent/wrapper/i18n.js +3 -0
  211. package/build/JsonConfigComponent/wrapper/i18n.js.map +1 -0
  212. package/build/JsonConfigComponent/wrapper/icons/IconCopy.d.ts +2 -0
  213. package/build/JsonConfigComponent/wrapper/icons/IconCopy.js +3 -0
  214. package/build/JsonConfigComponent/wrapper/icons/IconCopy.js.map +1 -0
  215. package/build/Utils.d.ts +376 -0
  216. package/build/Utils.js +1595 -0
  217. package/build/Utils.js.map +1 -0
  218. package/build/index.d.ts +5 -0
  219. package/build/index.js +6 -0
  220. package/build/index.js.map +1 -0
  221. package/package.json +17 -0
@@ -0,0 +1,546 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { withStyles } from '@mui/styles';
4
+ import { Button, CircularProgress, Dialog, DialogContent, DialogActions, DialogTitle, Table, TableHead, TableCell, TableRow, TableBody, DialogContentText, TableContainer, } from '@mui/material';
5
+ import { Check as IconCheck, Send as IconSend } from '@mui/icons-material';
6
+ import I18n from './wrapper/i18n';
7
+ import ConfigGeneric from './ConfigGeneric';
8
+ import ConfirmDialog from './wrapper/Dialogs/Confirm';
9
+ const styles = theme => ({
10
+ fullWidth: {
11
+ width: '100%',
12
+ },
13
+ icon: {
14
+ width: 24,
15
+ height: 24,
16
+ marginRight: 4,
17
+ },
18
+ licLabel: {
19
+ fontWeight: 'bold',
20
+ minWidth: 100,
21
+ marginRight: 10,
22
+ textTransform: 'capitalize',
23
+ display: 'inline-block',
24
+ },
25
+ licValue: {
26
+ fontWeight: 'normal',
27
+ },
28
+ errorTitle: {
29
+ color: theme.palette.mode === 'dark' ? '#e39191' : '#b62020',
30
+ },
31
+ okTitle: {
32
+ color: theme.palette.mode === 'dark' ? '#6fd56f' : '#007c00',
33
+ },
34
+ errorText: {
35
+ color: theme.palette.mode === 'dark' ? '#e39191' : '#b62020',
36
+ marginBottom: 30,
37
+ },
38
+ });
39
+ class ConfigCheckLicense extends ConfigGeneric {
40
+ async componentDidMount() {
41
+ super.componentDidMount();
42
+ this.setState({
43
+ _error: '',
44
+ running: false,
45
+ showLicenseData: null,
46
+ foundSuitableLicense: false,
47
+ licenseOfflineCheck: false,
48
+ result: null,
49
+ });
50
+ }
51
+ renderErrorDialog() {
52
+ if (this.state._error && !this.state.showLicenseData) {
53
+ let content = this.state._error;
54
+ if (this.state.allLicenses) {
55
+ content = [
56
+ React.createElement("div", { key: "error" }, content),
57
+ ];
58
+ content.push(React.createElement(Button, { key: "button", variant: "contained", onClick: () => window.open('https://iobroker.net/www/account/licenses', '_blank') }, I18n.t('iobroker.net')));
59
+ if (!this.state.allLicenses.length) {
60
+ content.push(React.createElement("div", { key: "text1" }, I18n.t('ra_No one license found in license manager')));
61
+ content.push(React.createElement("div", { key: "text2" }, I18n.t('ra_Please create license')));
62
+ }
63
+ else {
64
+ // license.id,
65
+ // validName,
66
+ // validUuid,
67
+ // validTill,
68
+ // validVersion,
69
+ // license,
70
+ content.push(React.createElement(TableContainer, { key: "table" },
71
+ React.createElement(Table, { size: "small" },
72
+ React.createElement(TableHead, null,
73
+ React.createElement(TableRow, null,
74
+ React.createElement(TableCell, null, I18n.t('ra_Product')),
75
+ React.createElement(TableCell, null, I18n.t('ra_Version')),
76
+ React.createElement(TableCell, null, "UUID"),
77
+ React.createElement(TableCell, null, I18n.t('ra_ValidTill')),
78
+ React.createElement(TableCell, null, I18n.t('ra_Commercial')),
79
+ React.createElement(TableCell, null, "ID"))),
80
+ React.createElement(TableBody, null, this.state.allLicenses.map(license => React.createElement(TableRow, { key: license.id },
81
+ React.createElement(TableCell, { className: license.validName ? '' : this.props.classes.errorText }, license.license.product),
82
+ React.createElement(TableCell, { className: license.validVersion ? '' : this.props.classes.errorText }, license.license.version),
83
+ React.createElement(TableCell, { className: license.validUuid ? '' : this.props.classes.errorText }, license.license.uuid || '--'),
84
+ React.createElement(TableCell, { className: license.validTill ? '' : this.props.classes.errorText }, license.license.validTill && license.license.validTill !== '0000-00-00 00:00:00' ? new Date(license.license.validTill).toLocaleDateString() : '--'),
85
+ React.createElement(TableCell, null, license.license.invoice !== 'free' ? (license.license.invoice === 'MANUALLY_CREATED' ? '✓' : license.license.invoice) : '-'),
86
+ React.createElement(TableCell, null, license.id)))))));
87
+ }
88
+ }
89
+ return React.createElement(Dialog, { open: !0, maxWidth: "xl", fullWidth: this.props.fullWidth !== undefined ? this.props.fullWidth : true, onClose: () => this.handleOk() },
90
+ React.createElement(DialogTitle, null, I18n.t('ra_Error')),
91
+ React.createElement(DialogContent, null,
92
+ React.createElement(DialogContentText, null, content)),
93
+ React.createElement(DialogActions, null,
94
+ React.createElement(Button, { variant: "contained", onClick: () => this.setState({ _error: '', allLicenses: null }), color: "primary", autoFocus: true, startIcon: React.createElement(IconCheck, null) }, I18n.t('ra_Ok'))));
95
+ }
96
+ return null;
97
+ }
98
+ renderMessageDialog() {
99
+ if (this.state.showLicenseData) {
100
+ const pre = [];
101
+ const data = this.state.showLicenseData;
102
+ Object.keys(data).forEach(key => {
103
+ if (data[key] === null || data[key] === undefined) {
104
+ return;
105
+ }
106
+ if (typeof data[key] === 'object') {
107
+ const obj = data[key];
108
+ Object.keys(obj).forEach(key1 => {
109
+ if (obj[key1] !== null && obj[key1] !== undefined) {
110
+ if (typeof obj[key1] === 'object') {
111
+ pre.push(React.createElement("div", { key: key1 },
112
+ React.createElement("div", { className: this.props.classes.licLabel },
113
+ key1,
114
+ ":"),
115
+ JSON.stringify(obj[key1], null, 2)));
116
+ }
117
+ else {
118
+ pre.push(React.createElement("div", { key: key1 },
119
+ React.createElement("div", { className: this.props.classes.licLabel },
120
+ key,
121
+ ' ',
122
+ "-",
123
+ key1,
124
+ ":"),
125
+ obj[key1].toString()));
126
+ }
127
+ }
128
+ });
129
+ }
130
+ else {
131
+ pre.push(React.createElement("div", { key: key },
132
+ React.createElement("div", { className: this.props.classes.licLabel },
133
+ key.replace(/_/g, ' '),
134
+ ":"),
135
+ data[key].toString()));
136
+ }
137
+ });
138
+ pre.push(React.createElement("div", { key: "checked" },
139
+ React.createElement("div", { className: this.props.classes.licLabel },
140
+ I18n.t('ra_Checked'),
141
+ ":"),
142
+ this.state.licenseOfflineCheck ? I18n.t('ra_locally') : I18n.t('ra_via internet')));
143
+ return React.createElement(Dialog, { open: !0, onClose: () => this.setState({ showLicenseData: null }) },
144
+ React.createElement(DialogTitle, null,
145
+ React.createElement("span", { className: this.state.result ? this.props.classes.okTitle : this.props.classes.errorTitle }, I18n.t('ra_License %s', this.state.result ? 'OK' : 'INVALID'))),
146
+ React.createElement(DialogContent, null,
147
+ this.state.showLinkToProfile ? React.createElement(Button, { variant: "contained", onClick: () => window.open('https://iobroker.net/www/account/licenses', '_blank') }, "https://iobroker.net") : null,
148
+ this.state._error ? React.createElement("div", { className: this.props.classes.errorText }, this.state._error) : null,
149
+ pre),
150
+ React.createElement(DialogActions, null,
151
+ React.createElement(Button, { onClick: () => this.setState({ showLicenseData: null, _error: '' }), color: "primary", variant: "contained" }, I18n.t('ra_Close'))));
152
+ }
153
+ return null;
154
+ }
155
+ static parseJwt(token) {
156
+ const base64Url = token.split('.')[1];
157
+ const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
158
+ const jsonPayload = decodeURIComponent(atob(base64)
159
+ .split('')
160
+ .map(c => `%${`00${c.charCodeAt(0).toString(16)}`.slice(-2)}`)
161
+ .join(''));
162
+ try {
163
+ return JSON.parse(jsonPayload);
164
+ }
165
+ catch (e) {
166
+ return null;
167
+ }
168
+ }
169
+ static isVersionValid(version, rule, invoice, adapterName) {
170
+ if (!rule || !version) {
171
+ return true;
172
+ }
173
+ let result = true;
174
+ const [major] = version.split('.');
175
+ if (rule.startsWith('>=')) {
176
+ result = parseInt(major, 10) >= parseInt(rule.substring(2, 10));
177
+ }
178
+ else if (rule.startsWith('<=')) {
179
+ result = parseInt(major, 10) <= parseInt(rule.substring(2, 10));
180
+ }
181
+ else if (rule.startsWith('>')) {
182
+ result = parseInt(major, 10) > parseInt(rule.substring(1, 10));
183
+ }
184
+ else if (rule.startsWith('<')) {
185
+ result = parseInt(major, 10) < parseInt(rule.substring(1, 10));
186
+ }
187
+ else if (rule.startsWith('=')) {
188
+ result = parseInt(major, 10) === parseInt(rule.substring(1, 10));
189
+ }
190
+ else if (rule.startsWith('==')) {
191
+ result = parseInt(major, 10) === parseInt(rule.substring(2, 10));
192
+ }
193
+ else if (rule.startsWith('===')) {
194
+ result = parseInt(major, 10) === parseInt(rule.substring(3, 10));
195
+ }
196
+ if (!result && invoice && adapterName) {
197
+ // all commercial licenses are valid for all versions
198
+ if (invoice !== 'free') {
199
+ return true;
200
+ }
201
+ }
202
+ return true;
203
+ }
204
+ async findInLicenseManager(adapterName) {
205
+ // read if the license manager is supported
206
+ const licenses = await this.props.socket.getObject('system.licenses');
207
+ const errors = [];
208
+ if (licenses?.native?.licenses?.length) {
209
+ // enable license manager
210
+ let useLicense;
211
+ const now = Date.now();
212
+ let uuid;
213
+ if (this.props.schema.uuid) {
214
+ const uuidObj = await this.props.socket.getObject('system.meta.uuid');
215
+ uuid = uuidObj?.native?.uuid;
216
+ }
217
+ let version;
218
+ if (this.props.schema.version) {
219
+ const aObj = await this.props.socket.getObject(`system.adapter.${adapterName}`);
220
+ version = aObj?.common?.version;
221
+ }
222
+ // find license for vis
223
+ licenses.native.licenses.forEach(license => {
224
+ const validTill = !license.validTill || license.validTill === '0000-00-00 00:00:00' || new Date(license.validTill).getTime() > now;
225
+ const parts = (license.product || '').split('.');
226
+ const validName = parts[1] === adapterName || (adapterName === 'vis-2' && parts[1] === 'vis');
227
+ const validUuid = !uuid || !license.uuid || license.uuid === uuid;
228
+ const validVersion = ConfigCheckLicense.isVersionValid(version, license.version, license.invoice, adapterName);
229
+ // commercial license has priority over free license
230
+ if ((!useLicense || license.invoice !== 'free') && validTill && validName && validUuid && validVersion) {
231
+ useLicense = license;
232
+ }
233
+ errors.push({
234
+ id: license.id,
235
+ validName,
236
+ validUuid,
237
+ validVersion,
238
+ validTill,
239
+ license,
240
+ });
241
+ });
242
+ if (useLicense) {
243
+ errors.find(e => e.id === useLicense.id).used = true;
244
+ }
245
+ }
246
+ return errors;
247
+ }
248
+ static updateLicenses(socket) {
249
+ return new Promise((resolve, reject) => {
250
+ socket.getRawSocket().emit('updateLicenses', null, null, (err, licenses) => {
251
+ if (err === 'permissionError') {
252
+ reject(I18n.t('ra_May not trigger "updateLicenses"'));
253
+ }
254
+ else if (err && err.error) {
255
+ if (typeof err.error === 'string') {
256
+ reject(I18n.t(err.error));
257
+ }
258
+ else {
259
+ reject(JSON.stringify(err.error));
260
+ }
261
+ }
262
+ else if (err) {
263
+ if (typeof err === 'string') {
264
+ reject(I18n.t(err));
265
+ }
266
+ else {
267
+ reject(JSON.stringify(err));
268
+ }
269
+ }
270
+ else {
271
+ resolve(licenses);
272
+ }
273
+ });
274
+ });
275
+ }
276
+ async checkLicense(license, adapterName) {
277
+ let uuid;
278
+ if (this.props.schema.uuid) {
279
+ const uuidObj = await this.props.socket.getObject('system.meta.uuid');
280
+ uuid = uuidObj?.native?.uuid;
281
+ }
282
+ let version;
283
+ if (this.props.schema.version) {
284
+ const aObj = await this.props.socket.getObject(`system.adapter.${adapterName}`);
285
+ version = aObj?.common?.version;
286
+ }
287
+ const controller = new AbortController();
288
+ let timeout = setTimeout(() => {
289
+ timeout = null;
290
+ controller.abort();
291
+ }, 5000);
292
+ try {
293
+ const response = await window.fetch('https://iobroker.net/api/v1/public/cert/', {
294
+ method: 'POST',
295
+ body: JSON.stringify({ json: license, uuid }),
296
+ headers: {
297
+ 'Content-Type': 'text/plain',
298
+ },
299
+ signal: controller.signal,
300
+ });
301
+ timeout && clearTimeout(timeout);
302
+ let data = await response.text();
303
+ try {
304
+ data = JSON.parse(data);
305
+ }
306
+ catch (e) {
307
+ // ignore
308
+ }
309
+ if (data?.error) {
310
+ try {
311
+ const data_ = ConfigCheckLicense.parseJwt(license);
312
+ const _error = I18n.t(`ra_${data_.error || data.error || 'Unknown error'}`).replace(/^ra_/, '');
313
+ return this.setState({
314
+ _error,
315
+ licenseOfflineCheck: false,
316
+ showLicenseData: data_,
317
+ result: false,
318
+ running: false,
319
+ });
320
+ }
321
+ catch (e) {
322
+ console.log('Cannot parse license');
323
+ return this.setState({ _error: data.error, result: false, running: false });
324
+ }
325
+ }
326
+ else {
327
+ let showLicenseData = null;
328
+ try {
329
+ showLicenseData = ConfigCheckLicense.parseJwt(license);
330
+ }
331
+ catch (e) {
332
+ // ignore
333
+ }
334
+ if (data) {
335
+ const validTill = data.validTill || data.valid_till;
336
+ if (validTill &&
337
+ validTill !== '0000-00-00 00:00:00' &&
338
+ new Date(validTill).getTime() < Date.now()) {
339
+ return this.setState({
340
+ _error: I18n.t('ra_License expired on %s', new Date(validTill).toLocaleString()),
341
+ licenseOfflineCheck: false,
342
+ showLicenseData,
343
+ result: false,
344
+ running: false,
345
+ });
346
+ }
347
+ const parts = (data.name || '').split('.');
348
+ if (parts[1] === adapterName || (parts[1] === 'vis' && adapterName === 'vis-2')) {
349
+ // check UUID
350
+ if (uuid && !data.uuid && adapterName === 'vis-2') {
351
+ return this.setState({
352
+ _error: I18n.t('ra_License must be converted', data.uuid),
353
+ showLinkToProfile: true,
354
+ licenseOfflineCheck: false,
355
+ showLicenseData,
356
+ result: false,
357
+ running: false,
358
+ });
359
+ }
360
+ if (uuid && data.uuid && data.uuid !== uuid) {
361
+ return this.setState({
362
+ _error: I18n.t('ra_Serial number (UUID) "%s" in license is for other device.', data.uuid),
363
+ licenseOfflineCheck: false,
364
+ showLicenseData,
365
+ result: false,
366
+ running: false,
367
+ });
368
+ }
369
+ if (!ConfigCheckLicense.isVersionValid(version, data.version, data.invoice, adapterName)) {
370
+ return this.setState({
371
+ _error: I18n.t('ra_License is for version %s, but required version is %s', data.version, this.props.schema.version),
372
+ licenseOfflineCheck: false,
373
+ showLicenseData,
374
+ result: false,
375
+ running: false,
376
+ });
377
+ }
378
+ return this.setState({
379
+ licenseOfflineCheck: false,
380
+ showLicenseData,
381
+ result: true,
382
+ running: false,
383
+ });
384
+ }
385
+ return this.setState({
386
+ _error: I18n.t('ra_License for other product "%s"', data.name),
387
+ licenseOfflineCheck: false,
388
+ showLicenseData,
389
+ result: false,
390
+ running: false,
391
+ });
392
+ }
393
+ throw new Error('ra_Invalid answer from server');
394
+ }
395
+ }
396
+ catch (error) {
397
+ if (error?.response?.status === 404) {
398
+ return this.setState({ _error: I18n.t('ra_License does not exist'), result: false, running: false });
399
+ }
400
+ // check offline
401
+ try {
402
+ const data = ConfigCheckLicense.parseJwt(license);
403
+ const parts = (data.name || '').split('.');
404
+ if (data.valid_till &&
405
+ data.valid_till !== '0000-00-00 00:00:00' &&
406
+ new Date(data.valid_till).getTime() < Date.now()) {
407
+ return this.setState({
408
+ _error: I18n.t('ra_License expired on %s', new Date(data.valid_till).toLocaleString()),
409
+ showLicenseData: data,
410
+ licenseOfflineCheck: true,
411
+ running: false,
412
+ result: false,
413
+ });
414
+ }
415
+ if (parts[1] === adapterName) {
416
+ // check UUID
417
+ if (uuid && data.uuid && data.uuid !== uuid) {
418
+ return this.setState({
419
+ _error: I18n.t('ra_Serial number (UUID) "%s" in license is for other device.', data.uuid),
420
+ showLicenseData: data,
421
+ licenseOfflineCheck: true,
422
+ result: false,
423
+ running: false,
424
+ });
425
+ }
426
+ if (!ConfigCheckLicense.isVersionValid(version, data.version, data.invoice, adapterName)) {
427
+ return this.setState({
428
+ _error: I18n.t('ra_License is for version %s, but required version is %s', data.version, this.props.schema.version),
429
+ licenseOfflineCheck: true,
430
+ showLicenseData: data,
431
+ result: false,
432
+ running: false,
433
+ });
434
+ }
435
+ return this.setState({
436
+ running: false,
437
+ result: true,
438
+ licenseOfflineCheck: true,
439
+ showLicenseData: data,
440
+ });
441
+ }
442
+ return this.setState({
443
+ _error: I18n.t('ra_License for other product "%s"', data.name),
444
+ licenseOfflineCheck: true,
445
+ showLicenseData: data,
446
+ result: false,
447
+ running: false,
448
+ });
449
+ }
450
+ catch (e) {
451
+ return this.setState({
452
+ _error: I18n.t('ra_Cannot decode license'),
453
+ result: false,
454
+ licenseOfflineCheck: true,
455
+ running: false,
456
+ });
457
+ }
458
+ }
459
+ }
460
+ renderAskForUpdate() {
461
+ if (!this.state.askForUpdate) {
462
+ return null;
463
+ }
464
+ return React.createElement(ConfirmDialog, { text: I18n.t('ra_License not found in license manager. Do you want to read licenses from iobroker.net?'), ok: I18n.t('ra_Yes'), onClose: async (isYes) => {
465
+ if (isYes) {
466
+ this.setState({ askForUpdate: false });
467
+ try {
468
+ await ConfigCheckLicense.updateLicenses(this.props.socket);
469
+ }
470
+ catch (e) {
471
+ window.alert(I18n.t('ra_Cannot read licenses: %s', e));
472
+ return;
473
+ }
474
+ await this._onClick(true);
475
+ }
476
+ else {
477
+ this.setState({ askForUpdate: false, running: false });
478
+ }
479
+ } });
480
+ }
481
+ async _onClick(secondRun) {
482
+ const adapterName = this.props.adapterName === 'vis-2' ? 'vis' : this.props.adapterName;
483
+ this.setState({ running: true });
484
+ let license;
485
+ let licenses;
486
+ if (this.props.data.useLicenseManager) {
487
+ licenses = await this.findInLicenseManager(adapterName);
488
+ license = licenses.find(li => li.used);
489
+ if (license) {
490
+ license = license.license.json;
491
+ }
492
+ if (!license && !secondRun) {
493
+ // no suitable license found in the license manager
494
+ // should we read all licenses again?
495
+ this.setState({ askForUpdate: true });
496
+ return;
497
+ }
498
+ }
499
+ else {
500
+ license = this.props.data.license;
501
+ }
502
+ if (license) {
503
+ await this.checkLicense(license, adapterName, this.props.schema.uuid);
504
+ }
505
+ else if (this.props.data.useLicenseManager) {
506
+ this.setState({
507
+ _error: I18n.t('ra_Suitable license not found in license manager'),
508
+ result: false,
509
+ running: false,
510
+ allLicenses: licenses,
511
+ });
512
+ }
513
+ else {
514
+ // this case could not happen
515
+ this.setState({
516
+ _error: I18n.t('ra_Please enter the license'),
517
+ result: false,
518
+ running: false,
519
+ });
520
+ }
521
+ }
522
+ renderItem( /* error, disabled, defaultValue */) {
523
+ return React.createElement("div", { className: this.props.classes.fullWidth },
524
+ React.createElement(Button, { variant: this.props.schema.variant || 'outlined', color: this.props.schema.color || 'primary', className: this.props.classes.fullWidth, disabled: (!this.props.data.license && !this.props.data.useLicenseManager) || this.state.running, startIcon: React.createElement(IconSend, null), onClick: () => this._onClick() },
525
+ this.state.running ? React.createElement(CircularProgress, { size: 20, style: { marginRight: 8 } }) : null,
526
+ this.getText(this.props.schema.label || 'ra_Check license', this.props.schema.noTranslation)),
527
+ this.renderMessageDialog(),
528
+ this.renderErrorDialog(),
529
+ this.renderAskForUpdate());
530
+ }
531
+ }
532
+ ConfigCheckLicense.propTypes = {
533
+ socket: PropTypes.object.isRequired,
534
+ themeType: PropTypes.string,
535
+ themeName: PropTypes.string,
536
+ style: PropTypes.object,
537
+ className: PropTypes.string,
538
+ data: PropTypes.object.isRequired,
539
+ schema: PropTypes.object,
540
+ onError: PropTypes.func,
541
+ onChange: PropTypes.func,
542
+ adapterName: PropTypes.string,
543
+ instance: PropTypes.number,
544
+ };
545
+ export default withStyles(styles)(ConfigCheckLicense);
546
+ //# sourceMappingURL=ConfigCheckLicense.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigCheckLicense.js","sourceRoot":"./src/","sources":["JsonConfigComponent/ConfigCheckLicense.jsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import type AdminConnection from './wrapper/AdminConnection';
3
+ import { ConfigGenericProps } from './ConfigGeneric';
4
+ interface ConfigCheckboxProps extends ConfigGenericProps {
5
+ socket: AdminConnection;
6
+ themeType: string;
7
+ themeName: string;
8
+ style: Record<string, any>;
9
+ className: string;
10
+ data: Record<string, any>;
11
+ schema: Record<string, any>;
12
+ classes: Record<string, any>;
13
+ }
14
+ declare const _default: React.JSXElementConstructor<Omit<ConfigCheckboxProps, "classes"> & import("@mui/styles").StyledComponentProps<"error"> & object>;
15
+ export default _default;
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+ import { withStyles } from '@mui/styles';
3
+ import { FormControlLabel, Checkbox, FormHelperText, FormControl, } from '@mui/material';
4
+ import ConfigGeneric from './ConfigGeneric';
5
+ import I18n from './wrapper/i18n';
6
+ const styles = () => ({
7
+ error: {
8
+ color: 'red',
9
+ },
10
+ });
11
+ class ConfigCheckbox extends ConfigGeneric {
12
+ renderItem(error, disabled) {
13
+ const value = ConfigGeneric.getValue(this.props.data, this.props.attr);
14
+ const isIndeterminate = Array.isArray(value);
15
+ return React.createElement(FormControl, { className: this.props.classes.fullWidth, variant: "standard" },
16
+ React.createElement(FormControlLabel, { onClick: e => {
17
+ e.preventDefault();
18
+ e.stopPropagation();
19
+ if (!disabled) {
20
+ this.onChange(this.props.attr, !value);
21
+ }
22
+ }, control: React.createElement(Checkbox, { indeterminate: isIndeterminate, checked: !!value, onChange: e => {
23
+ if (isIndeterminate) {
24
+ this.onChange(this.props.attr, true);
25
+ }
26
+ else {
27
+ this.onChange(this.props.attr, e.target.checked);
28
+ }
29
+ }, disabled: disabled }), label: this.getText(this.props.schema.label) }),
30
+ React.createElement(FormHelperText, { className: this.props.classes.error }, error ? (this.props.schema.validatorErrorText ? I18n.t(this.props.schema.validatorErrorText) : I18n.t('ra_Error')) :
31
+ null),
32
+ this.props.schema.help ? React.createElement(FormHelperText, null, this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)) : null);
33
+ }
34
+ }
35
+ export default withStyles(styles)(ConfigCheckbox);
36
+ //# sourceMappingURL=ConfigCheckbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigCheckbox.js","sourceRoot":"./src/","sources":["JsonConfigComponent/ConfigCheckbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACH,gBAAgB,EAChB,QAAQ,EACR,cAAc,EACd,WAAW,GACd,MAAM,eAAe,CAAC;AAGvB,OAAO,aAAyD,MAAM,iBAAiB,CAAC;AACxF,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAElC,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC;IAClB,KAAK,EAAE;QACH,KAAK,EAAE,KAAK;KACf;CACJ,CAAC,CAAC;AAaH,MAAM,cAAe,SAAQ,aAAsD;IAC/E,UAAU,CAAC,KAAc,EAAE,QAAiB;QACxC,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE7C,OAAO,oBAAC,WAAW,IAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAC,UAAU;YAC3E,oBAAC,gBAAgB,IACb,OAAO,EAAE,CAAC,CAAC,EAAE;oBACT,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;oBAEpB,IAAI,CAAC,QAAQ,EAAE;wBACX,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;qBAC1C;gBACL,CAAC,EACD,OAAO,EAAE,oBAAC,QAAQ,IACd,aAAa,EAAE,eAAe,EAC9B,OAAO,EAAE,CAAC,CAAC,KAAK,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE;wBACV,IAAI,eAAe,EAAE;4BACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;yBACxC;6BAAM;4BACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;yBACpD;oBACL,CAAC,EACD,QAAQ,EAAE,QAAQ,GACpB,EACF,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAC9C;YACF,oBAAC,cAAc,IAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAE3C,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAChH,IAAI,CAEC;YAChB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAC,cAAc,QAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAkB,CAAC,CAAC,CAAC,IAAI,CAC9J,CAAC;IACnB,CAAC;CACJ;AAED,eAAe,UAAU,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC"}