@iobroker/adapter-react-v5 7.0.2 → 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 +3 -2
- 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 +135 -152
- 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 +21 -18
- 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 +20 -7
- package/Components/Loaders/Vendor.d.ts +2 -2
- package/Components/Loaders/Vendor.js +15 -7
- package/Components/Logo.js +16 -18
- package/Components/MDUtils.d.ts +1 -1
- package/Components/MDUtils.js +8 -4
- package/Components/ObjectBrowser.d.ts +40 -39
- package/Components/ObjectBrowser.js +550 -435
- 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 +25 -21
- 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 +128 -85
- package/LegacyConnection.d.ts +240 -248
- package/LegacyConnection.js +500 -525
- package/README.md +1234 -1170
- package/Theme.d.ts +1 -1
- package/Theme.js +9 -12
- package/assets/devices.json +1 -0
- package/assets/rooms.json +1 -0
- package/craco-module-federation.js +3 -12
- package/i18n/de.json +434 -434
- package/i18n/en.json +434 -434
- package/i18n/es.json +434 -434
- package/i18n/fr.json +434 -434
- package/i18n/it.json +434 -434
- package/i18n/nl.json +434 -434
- package/i18n/pl.json +434 -434
- package/i18n/pt.json +434 -434
- package/i18n/ru.json +434 -434
- package/i18n/uk.json +434 -434
- package/i18n/zh-cn.json +434 -434
- 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 +3 -2
- package/package.json +1 -1
- package/src/Components/404.tsx +32 -31
- package/src/Components/ColorPicker.tsx +142 -114
- package/src/Components/ComplexCron.tsx +174 -137
- package/src/Components/CopyToClipboard.tsx +22 -9
- package/src/Components/CustomModal.tsx +76 -69
- package/src/Components/FileBrowser.tsx +959 -852
- package/src/Components/FileViewer.tsx +146 -127
- package/src/Components/Icon.tsx +80 -52
- package/src/Components/IconPicker.tsx +83 -67
- package/src/Components/IconSelector.tsx +159 -141
- package/src/Components/Image.tsx +43 -26
- package/src/Components/Loader.tsx +56 -32
- package/src/Components/Logo.tsx +62 -52
- package/src/Components/MDUtils.tsx +10 -6
- package/src/Components/ObjectBrowser.tsx +3198 -2478
- package/src/Components/Router.tsx +11 -11
- package/src/Components/SaveCloseButtons.tsx +43 -39
- package/src/Components/Schedule.tsx +1091 -853
- package/src/Components/SelectWithIcon.tsx +135 -93
- package/src/Components/TabContainer.tsx +21 -19
- package/src/Components/TabContent.tsx +13 -12
- package/src/Components/TabHeader.tsx +10 -9
- package/src/Components/TableResize.tsx +52 -37
- package/src/Components/TextWithIcon.tsx +30 -19
- package/src/Components/ToggleThemeMenu.tsx +31 -13
- package/src/Components/TreeTable.tsx +468 -385
- package/src/Components/UploadImage.tsx +153 -121
- package/src/Components/Utils.tsx +135 -127
- package/src/Components/loader.css +40 -31
- package/src/Components/withWidth.tsx +23 -12
- package/src/Connection.tsx +1 -3
- package/src/Dialogs/ComplexCron.tsx +55 -61
- package/src/Dialogs/Confirm.tsx +88 -65
- package/src/Dialogs/Cron.tsx +122 -112
- package/src/Dialogs/Error.tsx +37 -42
- package/src/Dialogs/Message.tsx +39 -37
- package/src/Dialogs/SelectFile.tsx +95 -85
- package/src/Dialogs/SelectID.tsx +141 -129
- package/src/Dialogs/SimpleCron.tsx +44 -44
- package/src/Dialogs/TextInput.tsx +60 -68
- package/src/GenericApp.tsx +342 -242
- package/src/LegacyConnection.tsx +972 -842
- package/src/Prompt.tsx +3 -1
- package/src/Theme.tsx +19 -26
- package/src/icons/IconAdapter.tsx +16 -14
- package/src/icons/IconAlias.tsx +16 -14
- package/src/icons/IconChannel.tsx +55 -16
- package/src/icons/IconClearFilter.tsx +17 -15
- package/src/icons/IconClosed.tsx +16 -11
- package/src/icons/IconCopy.tsx +16 -11
- package/src/icons/IconDevice.tsx +121 -22
- package/src/icons/IconDocument.tsx +16 -11
- package/src/icons/IconDocumentReadOnly.tsx +21 -12
- package/src/icons/IconExpert.tsx +20 -12
- package/src/icons/IconFx.tsx +16 -14
- package/src/icons/IconInstance.tsx +16 -14
- package/src/icons/IconLogout.tsx +20 -18
- package/src/icons/IconNoIcon.tsx +16 -14
- package/src/icons/IconOpen.tsx +17 -12
- package/src/icons/IconProps.tsx +4 -3
- package/src/icons/IconState.tsx +34 -13
- package/src/index.css +3 -2
- package/tasks.js +91 -0
- package/types.d.ts +141 -0
- 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;
|