intelicoreact 0.1.24 → 0.1.25
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.
|
@@ -11,8 +11,6 @@ exports.default = void 0;
|
|
|
11
11
|
|
|
12
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
13
|
|
|
14
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
|
-
|
|
16
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
15
|
|
|
18
16
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
@@ -21,6 +19,8 @@ var _react = require("react");
|
|
|
21
19
|
|
|
22
20
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
23
21
|
|
|
22
|
+
var _operations = require("../../../Functions/operations");
|
|
23
|
+
|
|
24
24
|
var _Button = _interopRequireDefault(require("./../../UI/Button/Button"));
|
|
25
25
|
|
|
26
26
|
var _Input = _interopRequireDefault(require("../Input/Input"));
|
|
@@ -45,11 +45,11 @@ var DEFAULT_STATE = {
|
|
|
45
45
|
|
|
46
46
|
var RangeList = function RangeList(props) {
|
|
47
47
|
var className = props.className,
|
|
48
|
-
value = props.value,
|
|
48
|
+
_props$value = props.value,
|
|
49
|
+
value = _props$value === void 0 ? [] : _props$value,
|
|
49
50
|
disabled = props.disabled,
|
|
50
|
-
|
|
51
|
+
validate = props.validate,
|
|
51
52
|
onChange = props.onChange,
|
|
52
|
-
isAddRangeInTop = props.isAddRangeInTop,
|
|
53
53
|
isFloatValues = props.isFloatValues,
|
|
54
54
|
decimalPlaces = props.decimalPlaces,
|
|
55
55
|
error = props.error,
|
|
@@ -75,21 +75,11 @@ var RangeList = function RangeList(props) {
|
|
|
75
75
|
return setState(_objectSpread(_objectSpread({}, state), {}, (0, _defineProperty2.default)({}, prop, val)));
|
|
76
76
|
},
|
|
77
77
|
addRange: function addRange() {
|
|
78
|
-
|
|
79
|
-
var newValue;
|
|
80
|
-
if (_addRange) newValue = _addRange(state.from, state.to, value);else newValue = isAddRangeInTop ? [{
|
|
81
|
-
from: state.from,
|
|
82
|
-
to: state.to
|
|
83
|
-
}].concat((0, _toConsumableArray2.default)(value)) : [].concat((0, _toConsumableArray2.default)(value), [{
|
|
84
|
-
from: state.from,
|
|
85
|
-
to: state.to
|
|
86
|
-
}]);
|
|
87
|
-
|
|
88
|
-
if (newValue) {
|
|
89
|
-
setState(DEFAULT_STATE);
|
|
90
|
-
onChange(newValue);
|
|
91
|
-
}
|
|
78
|
+
var _validate;
|
|
92
79
|
|
|
80
|
+
if (isValidRange && ((_validate = validate === null || validate === void 0 ? void 0 : validate(+state.from, +state.to)) !== null && _validate !== void 0 ? _validate : true)) {
|
|
81
|
+
onChange((0, _operations.addRangeDefault)(+state.from, +state.to, value, isFloatValues ? decimalPlaces : null));
|
|
82
|
+
setState(DEFAULT_STATE);
|
|
93
83
|
setInnerError('');
|
|
94
84
|
} else setInnerError(defaultErrorText);
|
|
95
85
|
},
|
|
@@ -186,7 +176,7 @@ var RangeList = function RangeList(props) {
|
|
|
186
176
|
onClick: handle.addRange
|
|
187
177
|
}, "Add"))), (innerError || error) && /*#__PURE__*/React.createElement("span", {
|
|
188
178
|
className: "".concat(RC, "__error")
|
|
189
|
-
},
|
|
179
|
+
}, error || innerError), !(value !== null && value !== void 0 && value.length) && /*#__PURE__*/React.createElement("div", {
|
|
190
180
|
className: (0, _classnames.default)("".concat(RC, "__row"), "".concat(RC, "__values"), "".concat(RC, "__null-value"))
|
|
191
181
|
}, NULL_VALUE_TEXT), value.map(function (row, idx) {
|
|
192
182
|
return /*#__PURE__*/React.createElement(_RangeListRow.default, (0, _extends2.default)({
|
|
@@ -11,8 +11,6 @@ exports.RangeListTemplate = exports.default = void 0;
|
|
|
11
11
|
|
|
12
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
13
|
|
|
14
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
|
-
|
|
16
14
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
15
|
|
|
18
16
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
@@ -23,7 +21,7 @@ var _RangeList = _interopRequireDefault(require("./RangeList"));
|
|
|
23
21
|
|
|
24
22
|
require("./partial/AnyOuterClass.scss");
|
|
25
23
|
|
|
26
|
-
var _excluded = ["includeOuterStyles"];
|
|
24
|
+
var _excluded = ["includeOuterStyles", "isAddValidateForExamle", "isUseInitialValues", "initialValues"];
|
|
27
25
|
|
|
28
26
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
29
27
|
|
|
@@ -43,9 +41,12 @@ var rootStyles = {
|
|
|
43
41
|
|
|
44
42
|
var Template = function Template(args) {
|
|
45
43
|
var includeOuterStyles = args.includeOuterStyles,
|
|
44
|
+
isAddValidateForExamle = args.isAddValidateForExamle,
|
|
45
|
+
isUseInitialValues = args.isUseInitialValues,
|
|
46
|
+
initialValues = args.initialValues,
|
|
46
47
|
restArgs = (0, _objectWithoutProperties2.default)(args, _excluded);
|
|
47
48
|
|
|
48
|
-
var _useState = (0, _react.useState)(
|
|
49
|
+
var _useState = (0, _react.useState)(),
|
|
49
50
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
50
51
|
value = _useState2[0],
|
|
51
52
|
setValue = _useState2[1];
|
|
@@ -55,19 +56,19 @@ var Template = function Template(args) {
|
|
|
55
56
|
error = _useState4[0],
|
|
56
57
|
setError = _useState4[1];
|
|
57
58
|
|
|
58
|
-
var
|
|
59
|
+
var validateForExample = function validateForExample(from, to) {
|
|
59
60
|
if (+from < 18) {
|
|
60
61
|
setError('18 is the minimum allowed value');
|
|
61
|
-
return
|
|
62
|
+
return false;
|
|
62
63
|
} else {
|
|
63
64
|
setError('');
|
|
64
|
-
return
|
|
65
|
-
from: from,
|
|
66
|
-
to: to
|
|
67
|
-
}]);
|
|
65
|
+
return true;
|
|
68
66
|
}
|
|
69
67
|
};
|
|
70
68
|
|
|
69
|
+
(0, _react.useEffect)(function () {
|
|
70
|
+
if (isUseInitialValues) setValue(initialValues);else setValue([]);
|
|
71
|
+
}, [isUseInitialValues, restArgs.isFloatValues]);
|
|
71
72
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
72
73
|
style: rootStyles
|
|
73
74
|
}, /*#__PURE__*/_react.default.createElement(_RangeList.default, (0, _extends2.default)({}, restArgs, {
|
|
@@ -76,21 +77,30 @@ var Template = function Template(args) {
|
|
|
76
77
|
onChange: function onChange(val) {
|
|
77
78
|
return setValue(val);
|
|
78
79
|
},
|
|
79
|
-
|
|
80
|
-
|
|
80
|
+
error: error,
|
|
81
|
+
validate: isAddValidateForExamle ? validateForExample : null
|
|
81
82
|
})));
|
|
82
|
-
};
|
|
83
|
-
|
|
83
|
+
};
|
|
84
84
|
|
|
85
85
|
var RangeListTemplate = Template.bind({});
|
|
86
86
|
exports.RangeListTemplate = RangeListTemplate;
|
|
87
87
|
RangeListTemplate.args = {
|
|
88
|
-
// initialValues: [{ from: 1, to: 2 }, { from: 5, to: 7 }, { from: 8, to: 9 }],
|
|
89
88
|
includeOuterStyles: false,
|
|
89
|
+
isAddValidateForExamle: true,
|
|
90
90
|
disabled: false,
|
|
91
|
-
isAddRangeInTop: false,
|
|
92
91
|
isFloatValues: false,
|
|
93
92
|
decimalPlaces: 2,
|
|
94
93
|
defaultErrorText: 'Set a valid range',
|
|
95
|
-
nullValueText: 'Not set'
|
|
94
|
+
nullValueText: 'Not set',
|
|
95
|
+
isUseInitialValues: true,
|
|
96
|
+
initialValues: [{
|
|
97
|
+
from: 15,
|
|
98
|
+
to: 17
|
|
99
|
+
}, {
|
|
100
|
+
from: 19,
|
|
101
|
+
to: 23
|
|
102
|
+
}, {
|
|
103
|
+
from: 25,
|
|
104
|
+
to: 30
|
|
105
|
+
}]
|
|
96
106
|
};
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.addRangeDefault = void 0;
|
|
9
|
+
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
|
|
12
|
+
// Взято из https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Math/round
|
|
13
|
+
// При импорте любой ф-и из этого файла отработает самовызывающаяся ф-я и расширит объект Math 3-мя ф-ми: round10, floor10, ceil10
|
|
14
|
+
(function () {
|
|
15
|
+
/**
|
|
16
|
+
* Корректировка округления десятичных дробей.
|
|
17
|
+
*
|
|
18
|
+
* @param {String} type Тип корректировки.
|
|
19
|
+
* @param {Number} value Число.
|
|
20
|
+
* @param {Integer} exp Показатель степени (десятичный логарифм основания корректировки).
|
|
21
|
+
* @returns {Number} Скорректированное значение.
|
|
22
|
+
*/
|
|
23
|
+
function decimalAdjust(type, value, exp) {
|
|
24
|
+
// Если степень не определена, либо равна нулю...
|
|
25
|
+
if (typeof exp === 'undefined' || +exp === 0) {
|
|
26
|
+
return Math[type](value);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
value = +value;
|
|
30
|
+
exp = +exp; // Если значение не является числом, либо степень не является целым числом...
|
|
31
|
+
|
|
32
|
+
if (isNaN(value) || !(typeof exp === 'number' && exp % 1 === 0)) {
|
|
33
|
+
return NaN;
|
|
34
|
+
} // Сдвиг разрядов
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
value = value.toString().split('e');
|
|
38
|
+
value = Math[type](+(value[0] + 'e' + (value[1] ? +value[1] - exp : -exp))); // Обратный сдвиг
|
|
39
|
+
|
|
40
|
+
value = value.toString().split('e');
|
|
41
|
+
return +(value[0] + 'e' + (value[1] ? +value[1] + exp : exp));
|
|
42
|
+
} // Десятичное округление к ближайшему
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
if (!Math.round10) {
|
|
46
|
+
Math.round10 = function (value, exp) {
|
|
47
|
+
return decimalAdjust('round', value, exp);
|
|
48
|
+
};
|
|
49
|
+
} // Десятичное округление вниз
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
if (!Math.floor10) {
|
|
53
|
+
Math.floor10 = function (value, exp) {
|
|
54
|
+
return decimalAdjust('floor', value, exp);
|
|
55
|
+
};
|
|
56
|
+
} // Десятичное округление вверх
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
if (!Math.ceil10) {
|
|
60
|
+
Math.ceil10 = function (value, exp) {
|
|
61
|
+
return decimalAdjust('ceil', value, exp);
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
})();
|
|
65
|
+
|
|
66
|
+
var addRangeDefault = function addRangeDefault(from, to, currentValues, decimalPlaces) {
|
|
67
|
+
if (!(currentValues !== null && currentValues !== void 0 && currentValues.length)) return [{
|
|
68
|
+
from: from,
|
|
69
|
+
to: to
|
|
70
|
+
}];
|
|
71
|
+
var step = decimalPlaces ? Math.pow(10, -1 * decimalPlaces) : 1;
|
|
72
|
+
var resultOfProcessAddingRange = currentValues.reduce(function (acc, range) {
|
|
73
|
+
var isIncludesFrom = !!acc.from && range.from < acc.from && range.to >= acc.from;
|
|
74
|
+
var isIncludesTo = !!acc.to && range.from <= acc.to && range.to > acc.to;
|
|
75
|
+
var isRangeMustBeIncludet = !!acc.from && !!acc.to && acc.from <= range.from && acc.to >= range.to;
|
|
76
|
+
|
|
77
|
+
var processTo = function processTo() {
|
|
78
|
+
var lastAccRange = acc.result[acc.result.length - 1];
|
|
79
|
+
|
|
80
|
+
if (acc.to < range.from) {
|
|
81
|
+
lastAccRange.to = acc.to;
|
|
82
|
+
acc.to = null;
|
|
83
|
+
acc.result = [].concat((0, _toConsumableArray2.default)(acc.result), [range]);
|
|
84
|
+
} else if (isIncludesTo) {
|
|
85
|
+
lastAccRange.to = acc.to;
|
|
86
|
+
acc.result = [].concat((0, _toConsumableArray2.default)(acc.result), [{
|
|
87
|
+
from: Math.round10(acc.to + step, -1 * decimalPlaces),
|
|
88
|
+
to: range.to
|
|
89
|
+
}]);
|
|
90
|
+
acc.to = null;
|
|
91
|
+
} else if (acc.to === range.to) {
|
|
92
|
+
lastAccRange.to = acc.to;
|
|
93
|
+
acc.to = null;
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
if (!acc.from && !acc.to) acc.result = [].concat((0, _toConsumableArray2.default)(acc.result), [range]);else if (!acc.from && acc.to) processTo();else if (acc.from && acc.to) {
|
|
98
|
+
if (acc.from <= range.from) {
|
|
99
|
+
acc.result = [].concat((0, _toConsumableArray2.default)(acc.result), [{
|
|
100
|
+
from: acc.from
|
|
101
|
+
}]);
|
|
102
|
+
acc.from = null;
|
|
103
|
+
processTo();
|
|
104
|
+
} else if (isIncludesFrom) {
|
|
105
|
+
acc.result = [].concat((0, _toConsumableArray2.default)(acc.result), [{
|
|
106
|
+
from: range.from,
|
|
107
|
+
to: Math.round10(acc.from - step, -1 * decimalPlaces)
|
|
108
|
+
}, {
|
|
109
|
+
from: acc.from
|
|
110
|
+
}]);
|
|
111
|
+
acc.from = null;
|
|
112
|
+
processTo();
|
|
113
|
+
} else {
|
|
114
|
+
acc.result = [].concat((0, _toConsumableArray2.default)(acc.result), (0, _toConsumableArray2.default)(!isRangeMustBeIncludet ? [range] : []));
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return acc;
|
|
118
|
+
}, {
|
|
119
|
+
from: from,
|
|
120
|
+
to: to,
|
|
121
|
+
result: []
|
|
122
|
+
});
|
|
123
|
+
var result = resultOfProcessAddingRange.result;
|
|
124
|
+
if (!result[result.length - 1].to) result[result.length - 1].to = to;
|
|
125
|
+
return result;
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
exports.addRangeDefault = addRangeDefault;
|
package/package.json
CHANGED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.formatInput = void 0;
|
|
7
|
-
|
|
8
|
-
var _fieldValueFormatters = require("../Functions/fieldValueFormatters");
|
|
9
|
-
|
|
10
|
-
var formatInput = {
|
|
11
|
-
priceInput: {
|
|
12
|
-
addCommas: _fieldValueFormatters.formatToAddBitDepthPoints,
|
|
13
|
-
removeComma: function removeComma(value) {
|
|
14
|
-
return parseInt(value.toString().replace(/\,/g, ''));
|
|
15
|
-
}
|
|
16
|
-
},
|
|
17
|
-
// onlyNumbers: (value, isDot = false) => {
|
|
18
|
-
// const val = value.slice(0, 1) !== '0' && value.slice(0, 1) !== '.' ? value : value.slice(1);
|
|
19
|
-
// if (isDot) return twoDigitAfterDot(val.replace(/[^0-9.]/g, ''));
|
|
20
|
-
// else return +val.toString().replace(/\D/g, '');
|
|
21
|
-
// },
|
|
22
|
-
formatToOnlyNumbers: function formatToOnlyNumbers(value, settings) {
|
|
23
|
-
var _ref = settings || {},
|
|
24
|
-
_ref$type = _ref.type,
|
|
25
|
-
type = _ref$type === void 0 ? 'float' : _ref$type,
|
|
26
|
-
decimalPlaces = _ref.decimalPlaces;
|
|
27
|
-
|
|
28
|
-
var executor = type === 'float' ? _fieldValueFormatters.filterFloat : _fieldValueFormatters.formatOnlyNumbers;
|
|
29
|
-
return executor(value, decimalPlaces);
|
|
30
|
-
},
|
|
31
|
-
formatToOnlyString: function formatToOnlyString(value) {
|
|
32
|
-
var soft = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
33
|
-
|
|
34
|
-
if (soft) {
|
|
35
|
-
return value.toString().replace(/[^a-z- ]/gi, '');
|
|
36
|
-
} else {
|
|
37
|
-
return value.toString().replace(/[^a-z]/gi, '');
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}; //обрезает числа после точки до 2х
|
|
41
|
-
// 342.23423432 -> 342.23
|
|
42
|
-
|
|
43
|
-
exports.formatInput = formatInput;
|
|
44
|
-
|
|
45
|
-
var twoDigitAfterDot = function twoDigitAfterDot(value) {
|
|
46
|
-
if (value.includes('.')) {
|
|
47
|
-
var valueAfterDot = value.slice(0, value.indexOf('.') + 3);
|
|
48
|
-
var rest = value.slice(value.indexOf('.') + 1, value.indexOf('.') + 3);
|
|
49
|
-
return allButTheFirstDotCutter(valueAfterDot);
|
|
50
|
-
} else {
|
|
51
|
-
return value;
|
|
52
|
-
}
|
|
53
|
-
}; //обрезает все точки кроме первой.
|
|
54
|
-
//для фомата "2 цифры после точки"
|
|
55
|
-
// нельзя = 123...
|
|
56
|
-
// можно 123.99
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
function allButTheFirstDotCutter(str) {
|
|
60
|
-
return str.replace(/^([^.]*\.)(.*)$/, function (a, b, c) {
|
|
61
|
-
return b + c.replace(/\./g, '');
|
|
62
|
-
});
|
|
63
|
-
}
|