@iobroker/adapter-react-v5 7.0.1 → 7.1.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.
- package/Components/404.d.ts +3 -2
- package/Components/404.js +16 -15
- package/Components/ColorPicker.d.ts +22 -8
- package/Components/ColorPicker.js +34 -17
- package/Components/ComplexCron.js +24 -24
- package/Components/CopyToClipboard.d.ts +10 -1
- package/Components/CopyToClipboard.js +17 -8
- package/Components/CustomModal.d.ts +1 -1
- package/Components/CustomModal.js +8 -8
- package/Components/FileBrowser.d.ts +11 -11
- package/Components/FileBrowser.js +173 -164
- package/Components/FileViewer.js +34 -23
- package/Components/Icon.d.ts +16 -2
- package/Components/Icon.js +19 -8
- package/Components/IconPicker.js +10 -14
- package/Components/IconSelector.d.ts +1 -1
- package/Components/IconSelector.js +64 -74
- package/Components/Image.d.ts +8 -4
- package/Components/Image.js +13 -32
- package/Components/Loader.d.ts +2 -2
- package/Components/Loader.js +244 -241
- package/Components/Loaders/MV.d.ts +6 -1
- package/Components/Loaders/MV.js +23 -7
- package/Components/Loaders/PT.d.ts +7 -2
- package/Components/Loaders/PT.js +123 -110
- package/Components/Loaders/Vendor.d.ts +2 -2
- package/Components/Loaders/Vendor.js +22 -14
- package/Components/Logo.js +16 -18
- package/Components/MDUtils.d.ts +1 -1
- package/Components/MDUtils.js +8 -4
- package/Components/ObjectBrowser.d.ts +49 -38
- package/Components/ObjectBrowser.js +757 -494
- package/Components/Router.d.ts +1 -3
- package/Components/Router.js +3 -1
- package/Components/SaveCloseButtons.d.ts +3 -3
- package/Components/SaveCloseButtons.js +3 -3
- package/Components/Schedule.d.ts +15 -15
- package/Components/Schedule.js +177 -154
- package/Components/SelectWithIcon.d.ts +2 -2
- package/Components/SelectWithIcon.js +45 -34
- package/Components/SimpleCron/index.js +83 -43
- package/Components/TabContainer.js +2 -2
- package/Components/TabContent.js +1 -1
- package/Components/TabHeader.js +1 -1
- package/Components/TableResize.d.ts +2 -2
- package/Components/TableResize.js +5 -5
- package/Components/TextWithIcon.d.ts +1 -1
- package/Components/TextWithIcon.js +10 -8
- package/Components/ToggleThemeMenu.d.ts +2 -2
- package/Components/ToggleThemeMenu.js +3 -3
- package/Components/TreeTable.d.ts +18 -18
- package/Components/TreeTable.js +76 -72
- package/Components/UploadImage.d.ts +2 -2
- package/Components/UploadImage.js +330 -326
- package/Components/Utils.d.ts +42 -22
- package/Components/Utils.js +66 -65
- package/Components/withWidth.d.ts +2 -2
- package/Components/withWidth.js +10 -6
- package/Dialogs/ComplexCron.d.ts +2 -2
- package/Dialogs/ComplexCron.js +3 -3
- package/Dialogs/Confirm.d.ts +4 -4
- package/Dialogs/Confirm.js +18 -8
- package/Dialogs/Cron.d.ts +3 -3
- package/Dialogs/Cron.js +21 -17
- package/Dialogs/Error.d.ts +3 -3
- package/Dialogs/Error.js +6 -4
- package/Dialogs/Message.d.ts +3 -3
- package/Dialogs/Message.js +6 -4
- package/Dialogs/SelectFile.d.ts +4 -4
- package/Dialogs/SelectFile.js +6 -4
- package/Dialogs/SelectID.d.ts +12 -10
- package/Dialogs/SelectID.js +12 -8
- package/Dialogs/SimpleCron.d.ts +2 -2
- package/Dialogs/SimpleCron.js +2 -2
- package/Dialogs/TextInput.d.ts +2 -2
- package/Dialogs/TextInput.js +3 -3
- package/GenericApp.d.ts +19 -13
- package/GenericApp.js +177 -134
- package/LICENSE +22 -22
- package/LegacyConnection.d.ts +240 -248
- package/LegacyConnection.js +500 -525
- package/Prompt.js +7 -7
- package/README.md +1239 -1166
- package/Theme.d.ts +1 -1
- package/Theme.js +9 -12
- package/assets/devices.json +1 -0
- package/assets/lamp_ceiling.svg +8 -8
- package/assets/lamp_table.svg +7 -7
- package/assets/no_icon.svg +9 -9
- package/assets/rooms.json +1 -0
- package/craco-module-federation.js +62 -71
- package/i18n/de.json +434 -431
- package/i18n/en.json +434 -431
- package/i18n/es.json +434 -431
- package/i18n/fr.json +434 -431
- package/i18n/it.json +434 -431
- package/i18n/nl.json +434 -431
- package/i18n/pl.json +434 -431
- package/i18n/pt.json +434 -431
- package/i18n/ru.json +434 -431
- package/i18n/uk.json +434 -431
- package/i18n/zh-cn.json +434 -431
- package/i18n.d.ts +26 -19
- package/i18n.js +28 -22
- package/icons/IconAdapter.js +2 -2
- package/icons/IconAlias.js +2 -2
- package/icons/IconChannel.js +2 -2
- package/icons/IconClearFilter.js +2 -2
- package/icons/IconClosed.js +2 -2
- package/icons/IconCopy.js +2 -2
- package/icons/IconDevice.js +2 -2
- package/icons/IconDocument.js +2 -2
- package/icons/IconDocumentReadOnly.js +2 -2
- package/icons/IconExpert.js +2 -2
- package/icons/IconFx.js +2 -2
- package/icons/IconInstance.js +2 -2
- package/icons/IconLogout.js +2 -2
- package/icons/IconNoIcon.js +2 -2
- package/icons/IconOpen.d.ts +2 -2
- package/icons/IconOpen.js +2 -2
- package/icons/IconProps.d.ts +4 -3
- package/icons/IconState.d.ts +2 -2
- package/icons/IconState.js +2 -2
- package/index.css +56 -55
- package/modulefederation.admin.config.js +31 -31
- package/package.json +5 -5
- package/src/AdminConnection.tsx +3 -3
- package/src/Components/404.tsx +122 -121
- package/src/Components/ColorPicker.tsx +343 -315
- package/src/Components/ComplexCron.tsx +544 -507
- package/src/Components/CopyToClipboard.tsx +178 -165
- package/src/Components/CustomModal.tsx +170 -163
- package/src/Components/FileBrowser.tsx +2550 -2414
- package/src/Components/FileViewer.tsx +412 -393
- package/src/Components/Icon.tsx +238 -210
- package/src/Components/IconPicker.tsx +165 -149
- package/src/Components/IconSelector.tsx +2220 -2202
- package/src/Components/Image.tsx +193 -176
- package/src/Components/Loader.tsx +328 -304
- package/src/Components/Logo.tsx +176 -166
- package/src/Components/MDUtils.tsx +104 -100
- package/src/Components/ObjectBrowser.tsx +8935 -8032
- package/src/Components/Router.tsx +90 -90
- package/src/Components/SaveCloseButtons.tsx +117 -113
- package/src/Components/Schedule.tsx +1962 -1724
- package/src/Components/SelectWithIcon.tsx +239 -197
- package/src/Components/TabContainer.tsx +57 -55
- package/src/Components/TabContent.tsx +38 -37
- package/src/Components/TabHeader.tsx +20 -19
- package/src/Components/TableResize.tsx +274 -259
- package/src/Components/TextWithIcon.tsx +159 -148
- package/src/Components/ToggleThemeMenu.tsx +52 -34
- package/src/Components/TreeTable.tsx +1002 -919
- package/src/Components/UploadImage.tsx +631 -599
- package/src/Components/Utils.tsx +1802 -1794
- package/src/Components/loader.css +231 -222
- package/src/Components/withWidth.tsx +32 -21
- package/src/Connection.tsx +5 -7
- package/src/Dialogs/ComplexCron.tsx +123 -129
- package/src/Dialogs/Confirm.tsx +185 -162
- package/src/Dialogs/Cron.tsx +192 -182
- package/src/Dialogs/Error.tsx +67 -72
- package/src/Dialogs/Message.tsx +73 -71
- package/src/Dialogs/SelectFile.tsx +280 -270
- package/src/Dialogs/SelectID.tsx +310 -298
- package/src/Dialogs/SimpleCron.tsx +100 -100
- package/src/Dialogs/TextInput.tsx +99 -107
- package/src/GenericApp.tsx +1076 -976
- package/src/LegacyConnection.tsx +3719 -3589
- package/src/Prompt.tsx +22 -20
- package/src/Theme.tsx +472 -479
- package/src/icons/IconAdapter.tsx +22 -20
- package/src/icons/IconAlias.tsx +22 -20
- package/src/icons/IconChannel.tsx +60 -21
- package/src/icons/IconClearFilter.tsx +24 -22
- package/src/icons/IconClosed.tsx +22 -17
- package/src/icons/IconCopy.tsx +21 -16
- package/src/icons/IconDevice.tsx +126 -27
- package/src/icons/IconDocument.tsx +22 -17
- package/src/icons/IconDocumentReadOnly.tsx +27 -18
- package/src/icons/IconExpert.tsx +26 -18
- package/src/icons/IconFx.tsx +38 -36
- package/src/icons/IconInstance.tsx +22 -20
- package/src/icons/IconLogout.tsx +32 -30
- package/src/icons/IconNoIcon.tsx +21 -19
- package/src/icons/IconOpen.tsx +22 -17
- package/src/icons/IconProps.tsx +16 -15
- package/src/icons/IconState.tsx +38 -17
- package/src/index.css +56 -55
- package/tasks.js +91 -0
- package/types.d.ts +141 -134
- package/Components/Loaders/PT.css +0 -109
- package/Components/Loaders/Vendor.css +0 -13
- package/Components/loader.css +0 -222
- package/Components/types.d.ts +0 -82
- package/assets/devices/Alarm Systems.svg +0 -19
- package/assets/devices/Amplifier.svg +0 -22
- package/assets/devices/Awnings.svg +0 -5
- package/assets/devices/Battery Status.svg +0 -5
- package/assets/devices/Ceiling Spotlights.svg +0 -16
- package/assets/devices/Chandelier.svg +0 -7
- package/assets/devices/Climate.svg +0 -12
- package/assets/devices/Coffee Makers.svg +0 -6
- package/assets/devices/Cold Water.svg +0 -31
- package/assets/devices/Computer.svg +0 -21
- package/assets/devices/Consumption.svg +0 -8
- package/assets/devices/Curtains.svg +0 -43
- package/assets/devices/Dishwashers.svg +0 -12
- package/assets/devices/Doors.svg +0 -6
- package/assets/devices/Doorstep.svg +0 -35
- package/assets/devices/Dryer.svg +0 -14
- package/assets/devices/Fan.svg +0 -20
- package/assets/devices/Floor Lamps.svg +0 -5
- package/assets/devices/Garage Doors.svg +0 -9
- package/assets/devices/Gates.svg +0 -32
- package/assets/devices/Hairdryer.svg +0 -23
- package/assets/devices/Handle.svg +0 -6
- package/assets/devices/Hanging Lamps.svg +0 -9
- package/assets/devices/Heater.svg +0 -44
- package/assets/devices/Hoods.svg +0 -12
- package/assets/devices/Hot Water.svg +0 -10
- package/assets/devices/Humidity.svg +0 -41
- package/assets/devices/Iron.svg +0 -5
- package/assets/devices/Irrigation.svg +0 -23
- package/assets/devices/Led Strip.svg +0 -31
- package/assets/devices/Light.svg +0 -30
- package/assets/devices/Lightings.svg +0 -46
- package/assets/devices/Lock.svg +0 -19
- package/assets/devices/Louvre.svg +0 -7
- package/assets/devices/Mowing Machine.svg +0 -9
- package/assets/devices/Music.svg +0 -13
- package/assets/devices/Outdoor Blinds.svg +0 -7
- package/assets/devices/People.svg +0 -19
- package/assets/devices/Pool.svg +0 -8
- package/assets/devices/Power Consumption.svg +0 -13
- package/assets/devices/Printer.svg +0 -10
- package/assets/devices/Pump.svg +0 -10
- package/assets/devices/Receiver.svg +0 -19
- package/assets/devices/Sconces.svg +0 -10
- package/assets/devices/Security.svg +0 -34
- package/assets/devices/Shading.svg +0 -5
- package/assets/devices/Shutters.svg +0 -11
- package/assets/devices/SmokeDetector.svg +0 -13
- package/assets/devices/Sockets.svg +0 -13
- package/assets/devices/Speaker.svg +0 -35
- package/assets/devices/Stove.svg +0 -12
- package/assets/devices/Table Lamps.svg +0 -12
- package/assets/devices/Temperature Sensors.svg +0 -28
- package/assets/devices/Tv.svg +0 -8
- package/assets/devices/Vacuum Cleaner.svg +0 -16
- package/assets/devices/Ventilation.svg +0 -12
- package/assets/devices/Washing Machines.svg +0 -16
- package/assets/devices/Water Consumption.svg +0 -6
- package/assets/devices/Water Heater.svg +0 -8
- package/assets/devices/Water.svg +0 -40
- package/assets/devices/Weather.svg +0 -28
- package/assets/devices/Window.svg +0 -8
- package/assets/rooms/Anteroom.svg +0 -53
- package/assets/rooms/Attic.svg +0 -21
- package/assets/rooms/Balcony.svg +0 -13
- package/assets/rooms/Barn.svg +0 -6
- package/assets/rooms/Basement.svg +0 -5
- package/assets/rooms/Bathroom.svg +0 -38
- package/assets/rooms/Bedroom.svg +0 -5
- package/assets/rooms/Boiler Room.svg +0 -13
- package/assets/rooms/Carport.svg +0 -17
- package/assets/rooms/Cellar.svg +0 -89
- package/assets/rooms/Chamber.svg +0 -9
- package/assets/rooms/Corridor.svg +0 -53
- package/assets/rooms/Dining Area.svg +0 -37
- package/assets/rooms/Dining Room.svg +0 -37
- package/assets/rooms/Dining.svg +0 -37
- package/assets/rooms/Dressing Room.svg +0 -5
- package/assets/rooms/Driveway.svg +0 -15
- package/assets/rooms/Entrance.svg +0 -44
- package/assets/rooms/Equipment Room.svg +0 -15
- package/assets/rooms/Front Yard.svg +0 -64
- package/assets/rooms/Gallery.svg +0 -14
- package/assets/rooms/Garage.svg +0 -20
- package/assets/rooms/Garden.svg +0 -13
- package/assets/rooms/Ground Floor.svg +0 -95
- package/assets/rooms/Guest Bathroom.svg +0 -33
- package/assets/rooms/Guest Room.svg +0 -5
- package/assets/rooms/Gym.svg +0 -5
- package/assets/rooms/Hall.svg +0 -19
- package/assets/rooms/Home Theater.svg +0 -8
- package/assets/rooms/Kitchen.svg +0 -18
- package/assets/rooms/Laundry Room.svg +0 -12
- package/assets/rooms/Living Area.svg +0 -11
- package/assets/rooms/Living Room.svg +0 -10
- package/assets/rooms/Locker Room.svg +0 -17
- package/assets/rooms/Nursery.svg +0 -5
- package/assets/rooms/Office.svg +0 -8
- package/assets/rooms/Outdoors.svg +0 -7
- package/assets/rooms/Playroom.svg +0 -6
- package/assets/rooms/Pool.svg +0 -8
- package/assets/rooms/Rear Wall.svg +0 -30
- package/assets/rooms/Second Floor.svg +0 -95
- package/assets/rooms/Shed.svg +0 -16
- package/assets/rooms/Sleeping Area.svg +0 -22
- package/assets/rooms/Stairway.svg +0 -5
- package/assets/rooms/Stairwell.svg +0 -15
- package/assets/rooms/Storeroom.svg +0 -5
- package/assets/rooms/Summer House.svg +0 -27
- package/assets/rooms/Swimming Pool.svg +0 -21
- package/assets/rooms/Terrace.svg +0 -7
- package/assets/rooms/Toilet.svg +0 -10
- package/assets/rooms/Upstairs.svg +0 -6
- package/assets/rooms/Wardrobe.svg +0 -60
- package/assets/rooms/Washroom.svg +0 -20
- package/assets/rooms/Wc.svg +0 -10
- package/assets/rooms/Windscreen.svg +0 -60
- package/assets/rooms/Workshop.svg +0 -23
- package/assets/rooms/Workspace.svg +0 -8
package/Components/Schedule.js
CHANGED
|
@@ -121,16 +121,7 @@ const styles = {
|
|
|
121
121
|
pb: '10px',
|
|
122
122
|
}),
|
|
123
123
|
};
|
|
124
|
-
const WEEKDAYS = [
|
|
125
|
-
'Sunday',
|
|
126
|
-
'Monday',
|
|
127
|
-
'Tuesday',
|
|
128
|
-
'Wednesday',
|
|
129
|
-
'Thursday',
|
|
130
|
-
'Friday',
|
|
131
|
-
'Saturday',
|
|
132
|
-
'Sunday',
|
|
133
|
-
];
|
|
124
|
+
const WEEKDAYS = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
|
|
134
125
|
const MONTHS = [
|
|
135
126
|
'January',
|
|
136
127
|
'February',
|
|
@@ -239,14 +230,14 @@ class Schedule extends react_1.Component {
|
|
|
239
230
|
try {
|
|
240
231
|
schedule = JSON.parse(this.props.schedule);
|
|
241
232
|
}
|
|
242
|
-
catch (
|
|
233
|
+
catch (_a) {
|
|
243
234
|
// ignore
|
|
244
235
|
}
|
|
245
236
|
}
|
|
246
237
|
else if (typeof this.props.schedule === 'object') {
|
|
247
238
|
schedule = this.props.schedule;
|
|
248
239
|
}
|
|
249
|
-
if (
|
|
240
|
+
if (!schedule || !Object.keys(schedule).length) {
|
|
250
241
|
setTimeout(() => this.onChange(this.state.schedule, true), 200);
|
|
251
242
|
schedule = DEFAULT;
|
|
252
243
|
}
|
|
@@ -323,7 +314,10 @@ class Schedule extends react_1.Component {
|
|
|
323
314
|
if (!copy.valid.to) {
|
|
324
315
|
delete copy.valid.to;
|
|
325
316
|
}
|
|
326
|
-
if (copy.period.days === 1 ||
|
|
317
|
+
if (copy.period.days === 1 ||
|
|
318
|
+
copy.period.weeks === 1 ||
|
|
319
|
+
copy.period.months === 1 ||
|
|
320
|
+
copy.period.years === 1) {
|
|
327
321
|
const from = Schedule.string2date(copy.valid.from);
|
|
328
322
|
const today = new Date();
|
|
329
323
|
today.setHours(0);
|
|
@@ -346,7 +340,7 @@ class Schedule extends react_1.Component {
|
|
|
346
340
|
try {
|
|
347
341
|
schedule = JSON.parse(schedule);
|
|
348
342
|
}
|
|
349
|
-
catch (
|
|
343
|
+
catch (_a) {
|
|
350
344
|
return '';
|
|
351
345
|
}
|
|
352
346
|
}
|
|
@@ -376,7 +370,12 @@ class Schedule extends react_1.Component {
|
|
|
376
370
|
// on weekends
|
|
377
371
|
desc.push(i18n_1.default.t('sch_desc_onWeekends'));
|
|
378
372
|
}
|
|
379
|
-
else if (daysOfWeek.length === 5 &&
|
|
373
|
+
else if (daysOfWeek.length === 5 &&
|
|
374
|
+
daysOfWeek[0] === 1 &&
|
|
375
|
+
daysOfWeek[1] === 2 &&
|
|
376
|
+
daysOfWeek[2] === 3 &&
|
|
377
|
+
daysOfWeek[3] === 4 &&
|
|
378
|
+
daysOfWeek[4] === 5) {
|
|
380
379
|
// on workdays
|
|
381
380
|
desc.push(i18n_1.default.t('sch_desc_onWorkdays'));
|
|
382
381
|
}
|
|
@@ -418,7 +417,12 @@ class Schedule extends react_1.Component {
|
|
|
418
417
|
// on weekends
|
|
419
418
|
desc.push(i18n_1.default.t('sch_desc_onWeekends'));
|
|
420
419
|
}
|
|
421
|
-
else if (daysOfWeek.length === 5 &&
|
|
420
|
+
else if (daysOfWeek.length === 5 &&
|
|
421
|
+
daysOfWeek[0] === 1 &&
|
|
422
|
+
daysOfWeek[1] === 2 &&
|
|
423
|
+
daysOfWeek[2] === 3 &&
|
|
424
|
+
daysOfWeek[3] === 4 &&
|
|
425
|
+
daysOfWeek[4] === 5) {
|
|
422
426
|
// on workdays
|
|
423
427
|
desc.push(i18n_1.default.t('sch_desc_onWorkdays'));
|
|
424
428
|
}
|
|
@@ -500,7 +504,9 @@ class Schedule extends react_1.Component {
|
|
|
500
504
|
else {
|
|
501
505
|
desc.push(i18n_1.default.t('sch_desc_everyNYears', schedule.period.years.toString()));
|
|
502
506
|
}
|
|
503
|
-
desc.push(i18n_1.default.t('sch_desc_onDate', schedule.period.yearDate.toString(), schedule.period.yearMonth
|
|
507
|
+
desc.push(i18n_1.default.t('sch_desc_onDate', schedule.period.yearDate.toString(), schedule.period.yearMonth
|
|
508
|
+
? i18n_1.default.t(MONTHS[schedule.period.yearMonth - 1])
|
|
509
|
+
: i18n_1.default.t('sch_desc_everyMonth')));
|
|
504
510
|
}
|
|
505
511
|
// time
|
|
506
512
|
if (schedule.time.exactTime) {
|
|
@@ -532,7 +538,9 @@ class Schedule extends react_1.Component {
|
|
|
532
538
|
// every N minutes
|
|
533
539
|
desc.push(i18n_1.default.t('sch_desc_everyNHours', schedule.time.interval.toString()));
|
|
534
540
|
}
|
|
535
|
-
const start = ASTRO.indexOf(schedule.time.start) !== -1
|
|
541
|
+
const start = ASTRO.indexOf(schedule.time.start) !== -1
|
|
542
|
+
? i18n_1.default.t(`sch_astro_${schedule.time.start}`)
|
|
543
|
+
: schedule.time.start;
|
|
536
544
|
const end = ASTRO.indexOf(schedule.time.end) !== -1 ? i18n_1.default.t(`sch_astro_${schedule.time.end}`) : schedule.time.end;
|
|
537
545
|
if (start !== '00:00' || (end !== '24:00' && end !== '23:59')) {
|
|
538
546
|
// from HH:mm to HH:mm
|
|
@@ -574,7 +582,7 @@ class Schedule extends react_1.Component {
|
|
|
574
582
|
night = true;
|
|
575
583
|
fromTo = false;
|
|
576
584
|
}
|
|
577
|
-
return react_1.default.createElement("div", { key: "timePeriod", style: styles.rowDiv },
|
|
585
|
+
return (react_1.default.createElement("div", { key: "timePeriod", style: styles.rowDiv },
|
|
578
586
|
react_1.default.createElement("div", { style: styles.modeDiv },
|
|
579
587
|
react_1.default.createElement(material_1.FormControlLabel, { control: react_1.default.createElement(material_1.Radio, { style: styles.inputRadio, checked: !schedule.time.exactTime, onClick: () => {
|
|
580
588
|
const _schedule = JSON.parse(JSON.stringify(this.state.schedule));
|
|
@@ -583,7 +591,7 @@ class Schedule extends react_1.Component {
|
|
|
583
591
|
} }), label: i18n_1.default.t('sch_intervalTime') })),
|
|
584
592
|
react_1.default.createElement("div", { style: styles.settingsDiv },
|
|
585
593
|
react_1.default.createElement("div", { style: styles.settingsDiv },
|
|
586
|
-
!schedule.time.exactTime && react_1.default.createElement("div", null,
|
|
594
|
+
!schedule.time.exactTime && (react_1.default.createElement("div", null,
|
|
587
595
|
react_1.default.createElement("div", null,
|
|
588
596
|
react_1.default.createElement(material_1.FormControlLabel, { control: react_1.default.createElement(material_1.Radio, { style: styles.inputRadio, checked: !!fromTo, onClick: () => {
|
|
589
597
|
const _schedule = JSON.parse(JSON.stringify(this.state.schedule));
|
|
@@ -598,70 +606,78 @@ class Schedule extends react_1.Component {
|
|
|
598
606
|
const _schedule = JSON.parse(JSON.stringify(this.state.schedule));
|
|
599
607
|
_schedule.time.start = e.target.value;
|
|
600
608
|
this.onChange(_schedule);
|
|
601
|
-
},
|
|
609
|
+
}, slotProps: {
|
|
610
|
+
inputLabel: { shrink: true },
|
|
611
|
+
}, label: i18n_1.default.t('sch_from'), margin: "normal" }),
|
|
602
612
|
react_1.default.createElement(material_1.TextField, { variant: "standard", style: styles.inputTime, key: "exactTimeTo", type: "time", value: this.state.schedule.time.end,
|
|
603
613
|
// InputProps={{inputComponent: TextTime}}
|
|
604
614
|
onChange: e => {
|
|
605
615
|
const _schedule = JSON.parse(JSON.stringify(this.state.schedule));
|
|
606
616
|
_schedule.time.end = e.target.value;
|
|
607
617
|
this.onChange(_schedule);
|
|
608
|
-
},
|
|
609
|
-
|
|
610
|
-
|
|
618
|
+
}, slotProps: {
|
|
619
|
+
inputLabel: { shrink: true },
|
|
620
|
+
}, label: i18n_1.default.t('sch_to'), margin: "normal" }),
|
|
621
|
+
]))),
|
|
622
|
+
!schedule.time.exactTime && (react_1.default.createElement("div", null,
|
|
611
623
|
react_1.default.createElement(material_1.FormControlLabel, { control: react_1.default.createElement(material_1.Radio, { style: styles.inputRadio, checked: !!wholeDay, onClick: () => {
|
|
612
624
|
const _schedule = JSON.parse(JSON.stringify(this.state.schedule));
|
|
613
625
|
_schedule.time.start = '00:00';
|
|
614
626
|
_schedule.time.end = '24:00';
|
|
615
627
|
this.onChange(_schedule);
|
|
616
|
-
} }), label: i18n_1.default.t('sch_wholeDay') })),
|
|
617
|
-
!schedule.time.exactTime && react_1.default.createElement("div", null,
|
|
628
|
+
} }), label: i18n_1.default.t('sch_wholeDay') }))),
|
|
629
|
+
!schedule.time.exactTime && (react_1.default.createElement("div", null,
|
|
618
630
|
react_1.default.createElement(material_1.FormControlLabel, { control: react_1.default.createElement(material_1.Radio, { style: styles.inputRadio, checked: !!day, onClick: () => {
|
|
619
631
|
const _schedule = JSON.parse(JSON.stringify(this.state.schedule));
|
|
620
632
|
_schedule.time.start = 'sunrise';
|
|
621
633
|
_schedule.time.end = 'sunset';
|
|
622
634
|
this.onChange(_schedule);
|
|
623
|
-
} }), label: i18n_1.default.t('sch_astroDay') })),
|
|
624
|
-
!schedule.time.exactTime && react_1.default.createElement("div", null,
|
|
635
|
+
} }), label: i18n_1.default.t('sch_astroDay') }))),
|
|
636
|
+
!schedule.time.exactTime && (react_1.default.createElement("div", null,
|
|
625
637
|
react_1.default.createElement(material_1.FormControlLabel, { control: react_1.default.createElement(material_1.Radio, { style: styles.inputRadio, checked: !!night, onClick: () => {
|
|
626
638
|
const _schedule = JSON.parse(JSON.stringify(this.state.schedule));
|
|
627
639
|
_schedule.time.start = 'sunset';
|
|
628
640
|
_schedule.time.end = 'sunrise';
|
|
629
641
|
this.onChange(_schedule);
|
|
630
|
-
} }), label: i18n_1.default.t('sch_astroNight') }))),
|
|
631
|
-
!schedule.time.exactTime && this.getPeriodSettingsMinutes()));
|
|
642
|
+
} }), label: i18n_1.default.t('sch_astroNight') })))),
|
|
643
|
+
!schedule.time.exactTime && this.getPeriodSettingsMinutes())));
|
|
632
644
|
}
|
|
633
645
|
getTimeExactElements() {
|
|
634
646
|
const isAstro = ASTRO.includes(this.state.schedule.time.start);
|
|
635
|
-
return react_1.default.createElement("div", { key: "timeExact", style: styles.rowDiv },
|
|
647
|
+
return (react_1.default.createElement("div", { key: "timeExact", style: styles.rowDiv },
|
|
636
648
|
react_1.default.createElement("div", { style: styles.modeDiv },
|
|
637
649
|
react_1.default.createElement(material_1.FormControlLabel, { control: react_1.default.createElement(material_1.Radio, { style: styles.inputRadio, checked: !!this.state.schedule.time.exactTime, onClick: () => {
|
|
638
650
|
const schedule = JSON.parse(JSON.stringify(this.state.schedule));
|
|
639
651
|
schedule.time.exactTime = true;
|
|
640
652
|
this.onChange(schedule);
|
|
641
653
|
} }), label: i18n_1.default.t('sch_exactTime') })),
|
|
642
|
-
this.state.schedule.time.exactTime && react_1.default.createElement(material_1.Select, { variant: "standard", value: isAstro ? this.state.schedule.time.start : '00:00', onChange: e => {
|
|
654
|
+
this.state.schedule.time.exactTime && (react_1.default.createElement(material_1.Select, { variant: "standard", value: isAstro ? this.state.schedule.time.start : '00:00', onChange: e => {
|
|
643
655
|
const _schedule = JSON.parse(JSON.stringify(this.state.schedule));
|
|
644
656
|
_schedule.time.start = e.target.value;
|
|
645
657
|
this.onChange(_schedule);
|
|
646
658
|
} },
|
|
647
659
|
react_1.default.createElement(material_1.MenuItem, { key: "specific", value: "00:00" }, i18n_1.default.t('sch_specificTime')),
|
|
648
|
-
ASTRO.map(event => react_1.default.createElement(material_1.MenuItem, { key: event, value: event }, i18n_1.default.t(`sch_astro_${event}`)))),
|
|
649
|
-
this.state.schedule.time.exactTime && !isAstro &&
|
|
650
|
-
react_1.default.createElement("
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
}, InputLabelProps: { shrink: true }, margin: "normal" })));
|
|
660
|
+
ASTRO.map(event => (react_1.default.createElement(material_1.MenuItem, { key: event, value: event }, i18n_1.default.t(`sch_astro_${event}`)))))),
|
|
661
|
+
this.state.schedule.time.exactTime && !isAstro && (react_1.default.createElement("div", { style: styles.settingsDiv },
|
|
662
|
+
react_1.default.createElement(material_1.TextField, { variant: "standard", style: styles.inputTime, key: "exactTimeValue", value: this.state.schedule.time.start, type: "time",
|
|
663
|
+
// inputComponent={TextTime}
|
|
664
|
+
onChange: e => {
|
|
665
|
+
const _schedule = JSON.parse(JSON.stringify(this.state.schedule));
|
|
666
|
+
_schedule.time.start = e.target.value;
|
|
667
|
+
this.onChange(_schedule);
|
|
668
|
+
}, InputLabelProps: { shrink: true }, margin: "normal" })))));
|
|
658
669
|
}
|
|
659
670
|
static getDivider() {
|
|
660
671
|
return react_1.default.createElement("hr", { style: styles.hr });
|
|
661
672
|
}
|
|
662
673
|
getPeriodModes() {
|
|
663
674
|
const schedule = this.state.schedule;
|
|
664
|
-
const isOnce = !schedule.period.dows &&
|
|
675
|
+
const isOnce = !schedule.period.dows &&
|
|
676
|
+
!schedule.period.months &&
|
|
677
|
+
!schedule.period.dates &&
|
|
678
|
+
!schedule.period.years &&
|
|
679
|
+
!schedule.period.days &&
|
|
680
|
+
!schedule.period.weeks;
|
|
665
681
|
if (isOnce && !schedule.period.once) {
|
|
666
682
|
schedule.period.once = Schedule.now2string(true);
|
|
667
683
|
}
|
|
@@ -682,7 +698,7 @@ class Schedule extends react_1.Component {
|
|
|
682
698
|
_schedule.period.days = 0;
|
|
683
699
|
this.onChange(_schedule);
|
|
684
700
|
} }), label: i18n_1.default.t('sch_periodOnce') })),
|
|
685
|
-
isOnce && react_1.default.createElement("div", { style: styles.settingsDiv },
|
|
701
|
+
isOnce && (react_1.default.createElement("div", { style: styles.settingsDiv },
|
|
686
702
|
react_1.default.createElement(material_1.TextField, { variant: "standard", style: styles.inputDate, type: "date", ref: this.refOnce, key: "exactDateAt", defaultValue: string2USdate(schedule.period.once),
|
|
687
703
|
// InputProps={{inputComponent: TextTime}}
|
|
688
704
|
onChange: e => {
|
|
@@ -703,7 +719,7 @@ class Schedule extends react_1.Component {
|
|
|
703
719
|
this.onChange(_schedule);
|
|
704
720
|
}
|
|
705
721
|
}, 1500, e.target.value);
|
|
706
|
-
}, InputLabelProps: { shrink: true }, label: i18n_1.default.t('sch_at'), margin: "normal" }))),
|
|
722
|
+
}, InputLabelProps: { shrink: true }, label: i18n_1.default.t('sch_at'), margin: "normal" })))),
|
|
707
723
|
// ----- days ---
|
|
708
724
|
react_1.default.createElement(material_1.Box, { component: "div", key: "days", sx: Utils_1.default.getStyle(this.props.theme, styles.rowDiv, styles.rowDays) },
|
|
709
725
|
react_1.default.createElement("div", { style: styles.modeDiv },
|
|
@@ -777,7 +793,7 @@ class Schedule extends react_1.Component {
|
|
|
777
793
|
} }), label: i18n_1.default.t('sch_periodMonthly') })),
|
|
778
794
|
react_1.default.createElement("div", { style: styles.settingsDiv },
|
|
779
795
|
this.getPeriodSettingsMonthly(),
|
|
780
|
-
schedule.period.months ? react_1.default.createElement(material_1.Box, null,
|
|
796
|
+
schedule.period.months ? (react_1.default.createElement(material_1.Box, null,
|
|
781
797
|
react_1.default.createElement(material_1.Box, { component: "div", sx: Utils_1.default.getStyle(this.props.theme, styles.settingsDiv, styles.rowMonthsDates) },
|
|
782
798
|
react_1.default.createElement(material_1.FormControlLabel, { control: react_1.default.createElement(material_1.Checkbox, { style: styles.inputRadio, checked: !!schedule.period.dates, onClick: () => {
|
|
783
799
|
const _schedule = JSON.parse(JSON.stringify(this.state.schedule));
|
|
@@ -786,7 +802,8 @@ class Schedule extends react_1.Component {
|
|
|
786
802
|
for (let i = 1; i <= 31; i++) {
|
|
787
803
|
dates.push(i);
|
|
788
804
|
}
|
|
789
|
-
_schedule.period.dates =
|
|
805
|
+
_schedule.period.dates =
|
|
806
|
+
_schedule.period.dates || JSON.stringify(dates);
|
|
790
807
|
_schedule.period.dows = '';
|
|
791
808
|
_schedule.period.years = 0;
|
|
792
809
|
_schedule.period.yearDate = 0;
|
|
@@ -796,7 +813,7 @@ class Schedule extends react_1.Component {
|
|
|
796
813
|
_schedule.period.once = '';
|
|
797
814
|
this.onChange(_schedule);
|
|
798
815
|
} }), label: i18n_1.default.t('sch_periodDates') })),
|
|
799
|
-
react_1.default.createElement(material_1.Box, { component: "div", sx: Utils_1.default.getStyle(this.props.theme, styles.settingsDiv, styles.rowMonthsDates) }, this.getPeriodSettingsDates())) : null)),
|
|
816
|
+
react_1.default.createElement(material_1.Box, { component: "div", sx: Utils_1.default.getStyle(this.props.theme, styles.settingsDiv, styles.rowMonthsDates) }, this.getPeriodSettingsDates()))) : null)),
|
|
800
817
|
// ----- years ---
|
|
801
818
|
react_1.default.createElement(material_1.Box, { component: "div", key: "years", sx: Utils_1.default.getStyle(this.props.theme, styles.rowDiv, styles.rowYears) },
|
|
802
819
|
react_1.default.createElement("div", { style: styles.modeDiv },
|
|
@@ -815,15 +832,17 @@ class Schedule extends react_1.Component {
|
|
|
815
832
|
} }), label: i18n_1.default.t('sch_periodYearly') })),
|
|
816
833
|
react_1.default.createElement("div", { style: styles.settingsDiv },
|
|
817
834
|
react_1.default.createElement("div", { style: styles.settingsDiv }, this.getPeriodSettingsYearly()),
|
|
818
|
-
!!schedule.period.years && react_1.default.createElement("div", { style: styles.settingsDiv },
|
|
835
|
+
!!schedule.period.years && (react_1.default.createElement("div", { style: styles.settingsDiv },
|
|
819
836
|
react_1.default.createElement("span", null, i18n_1.default.t('sch_on')),
|
|
820
837
|
react_1.default.createElement(material_1.Input, { key: "input", value: this.state.schedule.period.yearDate, style: styles.inputEvery, type: "number", inputProps: { min: 1, max: 31 }, onChange: e => {
|
|
821
838
|
const _schedule = JSON.parse(JSON.stringify(this.state.schedule));
|
|
822
839
|
_schedule.period.yearDate = parseInt(e.target.value, 10);
|
|
823
|
-
if (_schedule.period.yearDate < 1)
|
|
840
|
+
if (_schedule.period.yearDate < 1) {
|
|
824
841
|
_schedule.period.yearDate = 31;
|
|
825
|
-
|
|
842
|
+
}
|
|
843
|
+
if (_schedule.period.yearDate > 31) {
|
|
826
844
|
_schedule.period.yearDate = 1;
|
|
845
|
+
}
|
|
827
846
|
this.onChange(_schedule);
|
|
828
847
|
} }),
|
|
829
848
|
react_1.default.createElement(material_1.Select, { variant: "standard", value: schedule.period.yearMonth, onChange: e => {
|
|
@@ -832,11 +851,11 @@ class Schedule extends react_1.Component {
|
|
|
832
851
|
this.onChange(_schedule);
|
|
833
852
|
} },
|
|
834
853
|
react_1.default.createElement(material_1.MenuItem, { key: "every", value: 0 }, i18n_1.default.t('sch_yearEveryMonth')),
|
|
835
|
-
MONTHS.map((month, i) => react_1.default.createElement(material_1.MenuItem, { key: month, value: i + 1 }, i18n_1.default.t(month))))))),
|
|
854
|
+
MONTHS.map((month, i) => (react_1.default.createElement(material_1.MenuItem, { key: month, value: i + 1 }, i18n_1.default.t(month))))))))),
|
|
836
855
|
];
|
|
837
856
|
}
|
|
838
857
|
getPeriodSettingsMinutes() {
|
|
839
|
-
return react_1.default.createElement("div", { style: { display: 'inline-block' } },
|
|
858
|
+
return (react_1.default.createElement("div", { style: { display: 'inline-block' } },
|
|
840
859
|
react_1.default.createElement("label", null, i18n_1.default.t('sch_every')),
|
|
841
860
|
react_1.default.createElement(material_1.Input, { value: this.state.schedule.time.interval, style: Object.assign(Object.assign({}, styles.inputEvery), { verticalAlign: 'bottom' }), type: "number", inputProps: { min: 1 }, onChange: e => {
|
|
842
861
|
const _schedule = JSON.parse(JSON.stringify(this.state.schedule));
|
|
@@ -849,7 +868,7 @@ class Schedule extends react_1.Component {
|
|
|
849
868
|
this.onChange(_schedule);
|
|
850
869
|
} },
|
|
851
870
|
react_1.default.createElement(material_1.MenuItem, { value: PERIODS.minutes }, i18n_1.default.t('sch_periodMinutes')),
|
|
852
|
-
react_1.default.createElement(material_1.MenuItem, { value: PERIODS.hours }, i18n_1.default.t('sch_periodHours'))));
|
|
871
|
+
react_1.default.createElement(material_1.MenuItem, { value: PERIODS.hours }, i18n_1.default.t('sch_periodHours')))));
|
|
853
872
|
}
|
|
854
873
|
getPeriodSettingsWeekdays() {
|
|
855
874
|
// || this.state.schedule.period.dows === '[1, 2, 3, 4, 5]' || this.state.schedule.period.dows === '[0, 6]'
|
|
@@ -883,29 +902,28 @@ class Schedule extends react_1.Component {
|
|
|
883
902
|
}
|
|
884
903
|
this.onChange(_schedule);
|
|
885
904
|
} }), label: i18n_1.default.t('sch_periodWeekdays') }),
|
|
886
|
-
isSpecific && (schedule.period.days === 1 || schedule.period.weeks) &&
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
} }), label: i18n_1.default.t(WEEKDAYS[i]) })))),
|
|
905
|
+
isSpecific && (schedule.period.days === 1 || schedule.period.weeks) && (react_1.default.createElement(material_1.FormGroup, { row: true, style: Object.assign(Object.assign({}, styles.inputGroup), { width: 150 }) }, [1, 2, 3, 4, 5, 6, 0].map(i => (react_1.default.createElement(material_1.FormControlLabel, { key: `specific_${i}`, style: styles.inputGroupElement, control: react_1.default.createElement(material_1.Checkbox, { style: styles.inputSmallCheck, checked: schedule.period.dows.includes(i.toString()), onChange: e => {
|
|
906
|
+
const _schedule = JSON.parse(JSON.stringify(this.state.schedule));
|
|
907
|
+
let daysOfWeek;
|
|
908
|
+
try {
|
|
909
|
+
daysOfWeek = JSON.parse(_schedule.period.dows);
|
|
910
|
+
}
|
|
911
|
+
catch (_a) {
|
|
912
|
+
daysOfWeek = [];
|
|
913
|
+
}
|
|
914
|
+
if (e.target.checked && !daysOfWeek.includes(i)) {
|
|
915
|
+
daysOfWeek.push(i);
|
|
916
|
+
}
|
|
917
|
+
else if (!e.target.checked && daysOfWeek.includes(i)) {
|
|
918
|
+
daysOfWeek.splice(daysOfWeek.indexOf(i), 1);
|
|
919
|
+
}
|
|
920
|
+
daysOfWeek.sort((a, b) => a - b);
|
|
921
|
+
_schedule.period.dows = JSON.stringify(daysOfWeek);
|
|
922
|
+
if (_schedule.period.days) {
|
|
923
|
+
_schedule.period.days = 1;
|
|
924
|
+
}
|
|
925
|
+
this.onChange(_schedule);
|
|
926
|
+
} }), label: i18n_1.default.t(WEEKDAYS[i]) })))))),
|
|
909
927
|
];
|
|
910
928
|
}
|
|
911
929
|
getPeriodSettingsDaily() {
|
|
@@ -978,7 +996,7 @@ class Schedule extends react_1.Component {
|
|
|
978
996
|
dates.push(i);
|
|
979
997
|
}
|
|
980
998
|
const parsedDates = JSON.parse(schedule.period.dates);
|
|
981
|
-
return react_1.default.createElement(material_1.FormGroup, { row: true, style: Object.assign(Object.assign({}, styles.inputGroup), { maxWidth: 620 }) },
|
|
999
|
+
return (react_1.default.createElement(material_1.FormGroup, { row: true, style: Object.assign(Object.assign({}, styles.inputGroup), { maxWidth: 620 }) },
|
|
982
1000
|
react_1.default.createElement(material_1.FormControlLabel, { style: styles.inputDateDay, control: react_1.default.createElement(material_1.Checkbox, { style: styles.inputDateDayCheck, checked: parsedDates.length === 31, onChange: () => {
|
|
983
1001
|
const _schedule = JSON.parse(JSON.stringify(this.state.schedule));
|
|
984
1002
|
const _dates = [];
|
|
@@ -993,28 +1011,28 @@ class Schedule extends react_1.Component {
|
|
|
993
1011
|
_schedule.period.dates = '[]';
|
|
994
1012
|
this.onChange(_schedule);
|
|
995
1013
|
} }), label: i18n_1.default.t('sch_no_one') }),
|
|
996
|
-
parsedDates.length !== 31 && !!parsedDates.length &&
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
result.push(i);
|
|
1004
|
-
}
|
|
1014
|
+
parsedDates.length !== 31 && !!parsedDates.length && (react_1.default.createElement(material_1.FormControlLabel, { style: styles.inputDateDay, control: react_1.default.createElement(material_1.Checkbox, { style: styles.inputDateDayCheck, checked: false, onChange: () => {
|
|
1015
|
+
const _schedule = JSON.parse(JSON.stringify(this.state.schedule));
|
|
1016
|
+
const result = [];
|
|
1017
|
+
const _parsedDates = JSON.parse(_schedule.period.dates);
|
|
1018
|
+
for (let i = 1; i <= 31; i++) {
|
|
1019
|
+
if (!_parsedDates.includes(i)) {
|
|
1020
|
+
result.push(i);
|
|
1005
1021
|
}
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1022
|
+
}
|
|
1023
|
+
result.sort((a, b) => a - b);
|
|
1024
|
+
_schedule.period.dates = JSON.stringify(result);
|
|
1025
|
+
this.onChange(_schedule);
|
|
1026
|
+
} }), label: i18n_1.default.t('sch_invert') })),
|
|
1010
1027
|
react_1.default.createElement("div", null),
|
|
1011
|
-
dates.map(i => react_1.default.createElement(material_1.FormControlLabel, { key: `date_${i}`, style: !i
|
|
1028
|
+
dates.map(i => (react_1.default.createElement(material_1.FormControlLabel, { key: `date_${i}`, style: !i
|
|
1029
|
+
? Object.assign(Object.assign({}, styles.inputDateDay), { opacity: 0, cursor: 'default', userSelect: 'none', pointerEvents: 'none' }) : styles.inputDateDay, control: react_1.default.createElement(material_1.Checkbox, { style: styles.inputDateDayCheck, checked: JSON.parse(schedule.period.dates).includes(i), onChange: e => {
|
|
1012
1030
|
const _schedule = JSON.parse(JSON.stringify(this.state.schedule));
|
|
1013
1031
|
let _dates;
|
|
1014
1032
|
try {
|
|
1015
1033
|
_dates = JSON.parse(_schedule.period.dates);
|
|
1016
1034
|
}
|
|
1017
|
-
catch (
|
|
1035
|
+
catch (_a) {
|
|
1018
1036
|
_dates = [];
|
|
1019
1037
|
}
|
|
1020
1038
|
if (e.target.checked && !_dates.includes(i)) {
|
|
@@ -1026,10 +1044,12 @@ class Schedule extends react_1.Component {
|
|
|
1026
1044
|
_dates.sort((a, b) => a - b);
|
|
1027
1045
|
_schedule.period.dates = JSON.stringify(_dates);
|
|
1028
1046
|
this.onChange(_schedule);
|
|
1029
|
-
} }), label: i < 10
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1047
|
+
} }), label: i < 10
|
|
1048
|
+
? [
|
|
1049
|
+
react_1.default.createElement("span", { key: "0", style: { opacity: 0 } }, "0"),
|
|
1050
|
+
react_1.default.createElement("span", { key: "num" }, i),
|
|
1051
|
+
]
|
|
1052
|
+
: i })))));
|
|
1033
1053
|
}
|
|
1034
1054
|
getPeriodSettingsMonthly() {
|
|
1035
1055
|
if (!this.state.schedule.period.months) {
|
|
@@ -1050,12 +1070,14 @@ class Schedule extends react_1.Component {
|
|
|
1050
1070
|
_schedule.period.months = 2;
|
|
1051
1071
|
this.onChange(_schedule);
|
|
1052
1072
|
} }), label: i18n_1.default.t('sch_periodEvery') }),
|
|
1053
|
-
typeof schedule.period.months === 'number' &&
|
|
1073
|
+
typeof schedule.period.months === 'number' &&
|
|
1074
|
+
schedule.period.months > 1 && [
|
|
1054
1075
|
react_1.default.createElement(material_1.Input, { key: "input", value: schedule.period.months, style: styles.inputEvery, type: "number", inputProps: { min: 2 }, onChange: e => {
|
|
1055
1076
|
const _schedule = JSON.parse(JSON.stringify(this.state.schedule));
|
|
1056
1077
|
_schedule.period.months = parseInt(e.target.value, 10);
|
|
1057
|
-
if (_schedule.period.months < 1)
|
|
1078
|
+
if (_schedule.period.months < 1) {
|
|
1058
1079
|
_schedule.period.months = 1;
|
|
1080
|
+
}
|
|
1059
1081
|
this.onChange(_schedule);
|
|
1060
1082
|
} }),
|
|
1061
1083
|
react_1.default.createElement("span", { key: "text" }, i18n_1.default.t('sch_periodMonth')),
|
|
@@ -1066,56 +1088,56 @@ class Schedule extends react_1.Component {
|
|
|
1066
1088
|
_schedule.period.months = '[1,2,3,4,5,6,7,8,9,10,11,12]';
|
|
1067
1089
|
this.onChange(_schedule);
|
|
1068
1090
|
} }), label: i18n_1.default.t('sch_periodSpecificMonths') }),
|
|
1069
|
-
typeof schedule.period.months === 'string' &&
|
|
1070
|
-
react_1.default.createElement(material_1.
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
if (!_parsedMonths.includes(i)) {
|
|
1092
|
-
result.push(i);
|
|
1093
|
-
}
|
|
1094
|
-
}
|
|
1095
|
-
result.sort((a, b) => a - b);
|
|
1096
|
-
_schedule.period.months = JSON.stringify(result);
|
|
1097
|
-
this.onChange(_schedule);
|
|
1098
|
-
} }), label: i18n_1.default.t('sch_invert') }),
|
|
1099
|
-
react_1.default.createElement("div", null),
|
|
1100
|
-
MONTHS.map((month, i) => react_1.default.createElement(material_1.FormControlLabel, { style: styles.inputGroupElement, control: react_1.default.createElement(material_1.Checkbox, { style: styles.inputSmallCheck, checked: typeof schedule.period.months === 'string' ? JSON.parse(schedule.period.months).includes(i + 1) : schedule.period.months === i, onChange: e => {
|
|
1101
|
-
const _schedule = JSON.parse(JSON.stringify(this.state.schedule));
|
|
1102
|
-
let months;
|
|
1103
|
-
try {
|
|
1104
|
-
months = JSON.parse(_schedule.period.months);
|
|
1105
|
-
}
|
|
1106
|
-
catch (err) {
|
|
1107
|
-
months = [];
|
|
1108
|
-
}
|
|
1109
|
-
if (e.target.checked && !months.includes(i + 1)) {
|
|
1110
|
-
months.push(i + 1);
|
|
1111
|
-
}
|
|
1112
|
-
else if (!e.target.checked && months.includes(i + 1)) {
|
|
1113
|
-
months.splice(months.indexOf(i + 1), 1);
|
|
1091
|
+
typeof schedule.period.months === 'string' && (react_1.default.createElement(material_1.FormGroup, { row: true, style: styles.inputGroup },
|
|
1092
|
+
react_1.default.createElement(material_1.FormControlLabel, { style: styles.inputDateDay, control: react_1.default.createElement(material_1.Checkbox, { style: styles.inputDateDayCheck, checked: parsedMonths.length === 12, onChange: () => {
|
|
1093
|
+
const _schedule = JSON.parse(JSON.stringify(this.state.schedule));
|
|
1094
|
+
const months = [];
|
|
1095
|
+
for (let i = 1; i <= 12; i++) {
|
|
1096
|
+
months.push(i);
|
|
1097
|
+
}
|
|
1098
|
+
_schedule.period.months = JSON.stringify(months);
|
|
1099
|
+
this.onChange(_schedule);
|
|
1100
|
+
} }), label: i18n_1.default.t('sch_all') }),
|
|
1101
|
+
react_1.default.createElement(material_1.FormControlLabel, { style: styles.inputDateDay, control: react_1.default.createElement(material_1.Checkbox, { style: styles.inputDateDayCheck, checked: !parsedMonths.length, onChange: () => {
|
|
1102
|
+
const _schedule = JSON.parse(JSON.stringify(this.state.schedule));
|
|
1103
|
+
_schedule.period.months = '[]';
|
|
1104
|
+
this.onChange(_schedule);
|
|
1105
|
+
} }), label: i18n_1.default.t('sch_no_one') }),
|
|
1106
|
+
parsedMonths.length !== 12 && !!parsedMonths.length && (react_1.default.createElement(material_1.FormControlLabel, { style: styles.inputDateDay, control: react_1.default.createElement(material_1.Checkbox, { style: styles.inputDateDayCheck, checked: false, onChange: () => {
|
|
1107
|
+
const _schedule = JSON.parse(JSON.stringify(this.state.schedule));
|
|
1108
|
+
const result = [];
|
|
1109
|
+
const _parsedMonths = JSON.parse(_schedule.period.months);
|
|
1110
|
+
for (let i = 1; i <= 12; i++) {
|
|
1111
|
+
if (!_parsedMonths.includes(i)) {
|
|
1112
|
+
result.push(i);
|
|
1114
1113
|
}
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1114
|
+
}
|
|
1115
|
+
result.sort((a, b) => a - b);
|
|
1116
|
+
_schedule.period.months = JSON.stringify(result);
|
|
1117
|
+
this.onChange(_schedule);
|
|
1118
|
+
} }), label: i18n_1.default.t('sch_invert') })),
|
|
1119
|
+
react_1.default.createElement("div", null),
|
|
1120
|
+
MONTHS.map((month, i) => (react_1.default.createElement(material_1.FormControlLabel, { key: `month_${i}`, style: styles.inputGroupElement, control: react_1.default.createElement(material_1.Checkbox, { style: styles.inputSmallCheck, checked: typeof schedule.period.months === 'string'
|
|
1121
|
+
? JSON.parse(schedule.period.months).includes(i + 1)
|
|
1122
|
+
: schedule.period.months === i, onChange: e => {
|
|
1123
|
+
const _schedule = JSON.parse(JSON.stringify(this.state.schedule));
|
|
1124
|
+
let months;
|
|
1125
|
+
try {
|
|
1126
|
+
months = JSON.parse(_schedule.period.months);
|
|
1127
|
+
}
|
|
1128
|
+
catch (_a) {
|
|
1129
|
+
months = [];
|
|
1130
|
+
}
|
|
1131
|
+
if (e.target.checked && !months.includes(i + 1)) {
|
|
1132
|
+
months.push(i + 1);
|
|
1133
|
+
}
|
|
1134
|
+
else if (!e.target.checked && months.includes(i + 1)) {
|
|
1135
|
+
months.splice(months.indexOf(i + 1), 1);
|
|
1136
|
+
}
|
|
1137
|
+
months.sort((a, b) => a - b);
|
|
1138
|
+
_schedule.period.months = JSON.stringify(months);
|
|
1139
|
+
this.onChange(_schedule);
|
|
1140
|
+
} }), label: i18n_1.default.t(month) })))))),
|
|
1119
1141
|
];
|
|
1120
1142
|
}
|
|
1121
1143
|
getPeriodSettingsYearly() {
|
|
@@ -1140,8 +1162,9 @@ class Schedule extends react_1.Component {
|
|
|
1140
1162
|
react_1.default.createElement(material_1.Input, { key: "input", value: this.state.schedule.period.years, style: styles.inputEvery, type: "number", inputProps: { min: 2 }, onChange: e => {
|
|
1141
1163
|
const _schedule = JSON.parse(JSON.stringify(this.state.schedule));
|
|
1142
1164
|
_schedule.period.years = parseInt(e.target.value, 10);
|
|
1143
|
-
if (_schedule.period.years < 1)
|
|
1165
|
+
if (_schedule.period.years < 1) {
|
|
1144
1166
|
_schedule.period.years = 1;
|
|
1167
|
+
}
|
|
1145
1168
|
this.onChange(_schedule);
|
|
1146
1169
|
} }),
|
|
1147
1170
|
react_1.default.createElement("span", { key: "text" }, i18n_1.default.t('sch_periodYear')),
|
|
@@ -1171,7 +1194,7 @@ class Schedule extends react_1.Component {
|
|
|
1171
1194
|
getValidSettings() {
|
|
1172
1195
|
const schedule = this.state.schedule;
|
|
1173
1196
|
// ----- from ---
|
|
1174
|
-
return react_1.default.createElement("div", { style: styles.rowDiv },
|
|
1197
|
+
return (react_1.default.createElement("div", { style: styles.rowDiv },
|
|
1175
1198
|
react_1.default.createElement("div", { style: Object.assign(Object.assign({}, styles.modeDiv), { verticalAlign: 'middle' }) },
|
|
1176
1199
|
react_1.default.createElement("span", { style: { fontWeight: 'bold', paddingRight: 10 } }, i18n_1.default.t('sch_valid')),
|
|
1177
1200
|
react_1.default.createElement("span", null, i18n_1.default.t('sch_validFrom'))),
|
|
@@ -1201,7 +1224,7 @@ class Schedule extends react_1.Component {
|
|
|
1201
1224
|
_schedule.valid.to = _schedule.valid.to ? '' : Schedule.now2string(true);
|
|
1202
1225
|
this.onChange(_schedule);
|
|
1203
1226
|
} }), label: i18n_1.default.t('sch_validTo') }),
|
|
1204
|
-
!!schedule.valid.to && react_1.default.createElement(material_1.TextField, { variant: "standard", inputRef: this.refTo, style: Object.assign(Object.assign({}, styles.inputDate), { marginRight: 10 }), key: "exactTimeFrom", type: "date", defaultValue: string2USdate(schedule.valid.to),
|
|
1227
|
+
!!schedule.valid.to && (react_1.default.createElement(material_1.TextField, { variant: "standard", inputRef: this.refTo, style: Object.assign(Object.assign({}, styles.inputDate), { marginRight: 10 }), key: "exactTimeFrom", type: "date", defaultValue: string2USdate(schedule.valid.to),
|
|
1205
1228
|
// inputComponent={TextDate}
|
|
1206
1229
|
onChange: e => {
|
|
1207
1230
|
this.timerTo && clearTimeout(this.timerTo);
|
|
@@ -1220,10 +1243,10 @@ class Schedule extends react_1.Component {
|
|
|
1220
1243
|
this.onChange(_schedule);
|
|
1221
1244
|
}
|
|
1222
1245
|
}, 1500, e.target.value);
|
|
1223
|
-
}, InputLabelProps: { shrink: true }, margin: "normal" })));
|
|
1246
|
+
}, InputLabelProps: { shrink: true }, margin: "normal" })))));
|
|
1224
1247
|
}
|
|
1225
1248
|
render() {
|
|
1226
|
-
return react_1.default.createElement("div", { style: { height: 'calc(100% - 48px)', width: '100%', overflow: 'hidden' } },
|
|
1249
|
+
return (react_1.default.createElement("div", { style: { height: 'calc(100% - 48px)', width: '100%', overflow: 'hidden' } },
|
|
1227
1250
|
react_1.default.createElement("div", null, this.state.desc),
|
|
1228
1251
|
react_1.default.createElement("div", { style: styles.scrollWindow },
|
|
1229
1252
|
react_1.default.createElement("h5", null, i18n_1.default.t('sch_time')),
|
|
@@ -1233,7 +1256,7 @@ class Schedule extends react_1.Component {
|
|
|
1233
1256
|
react_1.default.createElement("h5", null, i18n_1.default.t('sch_period')),
|
|
1234
1257
|
this.getPeriodModes(),
|
|
1235
1258
|
!this.state.schedule.period.once && Schedule.getDivider(),
|
|
1236
|
-
!this.state.schedule.period.once && this.getValidSettings()));
|
|
1259
|
+
!this.state.schedule.period.once && this.getValidSettings())));
|
|
1237
1260
|
}
|
|
1238
1261
|
}
|
|
1239
1262
|
exports.default = Schedule;
|