react-cron-generator 2.0.11 → 2.0.12
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/README.md +18 -23
- package/build/index.js +32 -7
- package/build/index.js.map +1 -1
- package/package.json +4 -1
package/README.md
CHANGED
|
@@ -9,7 +9,9 @@ Package helps to build linux scheduler cron expression.
|
|
|
9
9
|
[](https://badge.fury.io/js/react-cron-generator) 
|
|
10
10
|
<a href="https://github.com/sojinantony01/react-spread-sheet/blob/main/LICENSE">
|
|
11
11
|
<img src="https://img.shields.io/npm/l/react-cron-generator.svg" alt="license">
|
|
12
|
-
</a>
|
|
12
|
+
</a> <span>E2E tests passing.</span>
|
|
13
|
+
|
|
14
|
+
|
|
13
15
|
|
|
14
16
|
```
|
|
15
17
|
data = '* * * * * * *'
|
|
@@ -27,32 +29,25 @@ npm install react-cron-generator
|
|
|
27
29
|
|
|
28
30
|
|
|
29
31
|
```
|
|
30
|
-
import React, {
|
|
32
|
+
import React, { useState } from 'react'
|
|
31
33
|
import Cron from 'react-cron-generator'
|
|
32
34
|
import 'react-cron-generator/dist/cron-builder.css'
|
|
33
35
|
|
|
34
36
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
showResultText={true}
|
|
50
|
-
showResultCron={true}
|
|
51
|
-
/>
|
|
52
|
-
|
|
53
|
-
</div>)
|
|
54
|
-
}
|
|
55
|
-
}
|
|
37
|
+
const App = () => {
|
|
38
|
+
const [state, setState] = useState<State>({});
|
|
39
|
+
|
|
40
|
+
return (
|
|
41
|
+
<Cron
|
|
42
|
+
onChange={(e, text) => {
|
|
43
|
+
setState({ value: e });
|
|
44
|
+
}}
|
|
45
|
+
value={state.value}
|
|
46
|
+
showResultText={true}
|
|
47
|
+
showResultCron={true}
|
|
48
|
+
/>
|
|
49
|
+
);
|
|
50
|
+
};
|
|
56
51
|
|
|
57
52
|
export default App;
|
|
58
53
|
|
package/build/index.js
CHANGED
|
@@ -26,11 +26,36 @@ var cronstrueI18n = {exports: {}};
|
|
|
26
26
|
this.monthStartIndexZero = monthStartIndexZero;
|
|
27
27
|
}
|
|
28
28
|
CronParser.prototype.parse = function () {
|
|
29
|
-
var
|
|
29
|
+
var _a;
|
|
30
|
+
var parsed;
|
|
31
|
+
var expression = (_a = this.expression) !== null && _a !== void 0 ? _a : '';
|
|
32
|
+
if (expression.startsWith('@')) {
|
|
33
|
+
var special = this.parseSpecial(this.expression);
|
|
34
|
+
parsed = this.extractParts(special);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
parsed = this.extractParts(this.expression);
|
|
38
|
+
}
|
|
30
39
|
this.normalize(parsed);
|
|
31
40
|
this.validate(parsed);
|
|
32
41
|
return parsed;
|
|
33
42
|
};
|
|
43
|
+
CronParser.prototype.parseSpecial = function (expression) {
|
|
44
|
+
var specialExpressions = {
|
|
45
|
+
'@yearly': '0 0 1 1 *',
|
|
46
|
+
'@annually': '0 0 1 1 *',
|
|
47
|
+
'@monthly': '0 0 1 * *',
|
|
48
|
+
'@weekly': '0 0 * * 0',
|
|
49
|
+
'@daily': '0 0 * * *',
|
|
50
|
+
'@midnight': '0 0 * * *',
|
|
51
|
+
'@hourly': '0 * * * *'
|
|
52
|
+
};
|
|
53
|
+
var special = specialExpressions[expression];
|
|
54
|
+
if (!special) {
|
|
55
|
+
throw new Error('Unknown special expression.');
|
|
56
|
+
}
|
|
57
|
+
return special;
|
|
58
|
+
};
|
|
34
59
|
CronParser.prototype.extractParts = function (expression) {
|
|
35
60
|
if (!this.expression) {
|
|
36
61
|
throw new Error("cron expression is empty");
|
|
@@ -4777,13 +4802,13 @@ var cronstrueI18n = {exports: {}};
|
|
|
4777
4802
|
return "Er is een fout opgetreden bij het vertalen van de gegevens. Controleer de gegevens.";
|
|
4778
4803
|
};
|
|
4779
4804
|
nl.prototype.atSpace = function () {
|
|
4780
|
-
return "
|
|
4805
|
+
return "Om ";
|
|
4781
4806
|
};
|
|
4782
4807
|
nl.prototype.everyMinuteBetweenX0AndX1 = function () {
|
|
4783
4808
|
return "Elke minuut tussen %s en %s";
|
|
4784
4809
|
};
|
|
4785
4810
|
nl.prototype.at = function () {
|
|
4786
|
-
return "
|
|
4811
|
+
return "Om";
|
|
4787
4812
|
};
|
|
4788
4813
|
nl.prototype.spaceAnd = function () {
|
|
4789
4814
|
return " en";
|
|
@@ -4816,7 +4841,7 @@ var cronstrueI18n = {exports: {}};
|
|
|
4816
4841
|
return "tussen %s en %s";
|
|
4817
4842
|
};
|
|
4818
4843
|
nl.prototype.atX0 = function () {
|
|
4819
|
-
return "
|
|
4844
|
+
return "om %s";
|
|
4820
4845
|
};
|
|
4821
4846
|
nl.prototype.commaEveryDay = function () {
|
|
4822
4847
|
return ", elke dag";
|
|
@@ -7509,7 +7534,7 @@ var cronstrueI18n = {exports: {}};
|
|
|
7509
7534
|
return ", 仅%s";
|
|
7510
7535
|
};
|
|
7511
7536
|
zh_CN.prototype.commaAndOnX0 = function () {
|
|
7512
|
-
return ",
|
|
7537
|
+
return ", 或者为%s";
|
|
7513
7538
|
};
|
|
7514
7539
|
zh_CN.prototype.commaEveryX0Months = function () {
|
|
7515
7540
|
return ", 每隔 %s 个月";
|
|
@@ -7690,7 +7715,7 @@ var cronstrueI18n = {exports: {}};
|
|
|
7690
7715
|
return ", 僅在 %s";
|
|
7691
7716
|
};
|
|
7692
7717
|
zh_TW.prototype.commaAndOnX0 = function () {
|
|
7693
|
-
return ",
|
|
7718
|
+
return ", 或 %s";
|
|
7694
7719
|
};
|
|
7695
7720
|
zh_TW.prototype.commaEveryX0Months = function () {
|
|
7696
7721
|
return ", 每 %s 月";
|
|
@@ -8283,7 +8308,7 @@ function styleInject(css, ref) {
|
|
|
8283
8308
|
}
|
|
8284
8309
|
}
|
|
8285
8310
|
|
|
8286
|
-
var css_248z = ".cron_builder_bordering {\n border: 1px solid #ddd;\n border-top: none;\n text-align: center;\n padding: 10px;\n background: #fff;\n}\n.cron_builder_bordering input, .cron_builder_bordering select {\n width: 100px;\n margin-right: 10px;\n margin-left: 10px;\n border: 1px solid #ddd;\n border-radius: 4px;\n outline: none;\n padding: 0px 5px;\n min-height: 28px;\n}\n.df {\n display: flex;\n}\n.cron-builder-bg {\n background-color: #086090;\n color: white;\n text-align: center;\n margin-bottom: 4px;\n padding: 8px 0px;\n}\n.cron_builder_bordering select {\n background-color: white;\n width: 75px;\n cursor: pointer;\n padding: 4px 2px;\n border-radius: 4px;\n}\n.cron_builder_bordering select:disabled{\n background-color: #f5f5f5;\n cursor: default;\n}\n.cron_builder_bordering select option:hover {\n background-color: #086090;\n}\n.well-small input {\n width: auto !important;\n}\n.cron_builder_bordering input[type='radio'] {\n margin-top: 0px;\n vertical-align: middle;\n}\n.cron_builder {\n border: 1px solid #d0cbcb;\n padding: 5px;\n background-color: #dddef13d;\n width: 100%;\n max-width: 600px;\n}\n.text_align_left {\n text-align: left;\n}\n.cron_builder .nav li {\n cursor: pointer;\n flex: 1 1 10px;\n text-align: center;\n width: 10px;\n display: flex;\n padding: 0px 1px;\n}\n.cron_builder .nav li a {\n color:#337ab7;\n width: 100%;\n padding: 10px;\n display: inline-block;\n border-radius: 4px 4px 0px 0px;\n}\n.cron_builder .nav-tabs .nav-link:focus, .cron_builder .nav-tabs .nav-link:hover {\n border-color: transparent transparent transparent;\n background-color: #eeeeee;\n}\n.cron_builder .nav-tabs .nav-item.show .nav-link, .cron_builder .nav-tabs .nav-link.active {\n border-color: #dee2e6 #dee2e6 #fff;\n background-color: #ffffff;\n}\n.cron_builder .nav-tabs .nav-item.show .nav-link, .cron_builder .nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: #ffffff;\n border-color: transparent transparent #ffffff;\n cursor: not-allowed;\n}\n.cron_builder { \n font-size: 14px;\n}\n.cron_builder .well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgb(0 0 0 / 5%);\n box-shadow: inset 0 1px 1px rgb(0 0 0 / 5%);\n}\n@media screen and (max-width:767px) {\n .cron_builder .nav li {\n cursor: pointer;\n flex: 0 0 65px;\n text-align: center;\n }\n}\n\n/* ---- boostrap ----- */\n.nav.nav-tabs {\n list-style: none;\n display: flex;\n margin: 0 0;\n padding-left: 0;\n}\n.row {\n display: flex;\n}\n.col-sm-6 {\n flex: 0 0 50%;\n}\n.min_height_auto {\n min-height: auto !important;\n}\
|
|
8311
|
+
var css_248z = ".cron_builder_bordering {\n border: 1px solid #ddd;\n border-top: none;\n text-align: center;\n padding: 10px;\n background: #fff;\n}\n.cron_builder_bordering input, .cron_builder_bordering select {\n width: 100px;\n margin-right: 10px;\n margin-left: 10px;\n border: 1px solid #ddd;\n border-radius: 4px;\n outline: none;\n padding: 0px 5px;\n min-height: 28px;\n}\n.df {\n display: flex;\n}\n.cron-builder-bg {\n background-color: #086090;\n color: white;\n text-align: center;\n margin-bottom: 4px;\n padding: 8px 0px;\n}\n.cron_builder_bordering select {\n background-color: white;\n width: 75px;\n cursor: pointer;\n padding: 4px 2px;\n border-radius: 4px;\n}\n.cron_builder_bordering select:disabled{\n background-color: #f5f5f5;\n cursor: default;\n}\n.cron_builder_bordering select option:hover {\n background-color: #086090;\n}\n.well-small input {\n width: auto !important;\n}\n.cron_builder_bordering input[type='radio'] {\n margin-top: 0px;\n vertical-align: middle;\n}\n.cron_builder {\n border: 1px solid #d0cbcb;\n padding: 5px;\n background-color: #dddef13d;\n width: 100%;\n max-width: 600px;\n}\n.text_align_left {\n text-align: left;\n}\n.cron_builder .nav li {\n cursor: pointer;\n flex: 1 1 10px;\n text-align: center;\n width: 10px;\n display: flex;\n padding: 0px 1px;\n}\n.cron_builder .nav li a {\n color:#337ab7;\n width: 100%;\n padding: 10px;\n display: inline-block;\n border-radius: 4px 4px 0px 0px;\n}\n.cron_builder .nav-tabs .nav-link:focus, .cron_builder .nav-tabs .nav-link:hover {\n border-color: transparent transparent transparent;\n background-color: #eeeeee;\n}\n.cron_builder .nav-tabs .nav-item.show .nav-link, .cron_builder .nav-tabs .nav-link.active {\n border-color: #dee2e6 #dee2e6 #fff;\n background-color: #ffffff;\n}\n.cron_builder .nav-tabs .nav-item.show .nav-link, .cron_builder .nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: #ffffff;\n border-color: transparent transparent #ffffff;\n cursor: not-allowed;\n}\n.cron_builder { \n font-size: 14px;\n}\n.cron_builder .well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgb(0 0 0 / 5%);\n box-shadow: inset 0 1px 1px rgb(0 0 0 / 5%);\n}\n@media screen and (max-width:767px) {\n .cron_builder .nav li {\n cursor: pointer;\n flex: 0 0 65px;\n text-align: center;\n }\n}\n\n/* ---- boostrap ----- */\n.cron_builder .nav.nav-tabs {\n list-style: none;\n display: flex;\n margin: 0 0;\n padding-left: 0;\n}\n.cron_builder .row {\n display: flex;\n}\n.cron_builder .col-sm-6 {\n flex: 0 0 50%;\n}\n.cron_builder .min_height_auto {\n min-height: auto !important;\n}\n.cron_builder {\n font-family: -apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";\n}\n";
|
|
8287
8312
|
styleInject(css_248z);
|
|
8288
8313
|
|
|
8289
8314
|
const defaultCron = '0 0 00 1/1 * ? *';
|