linear-react-components-ui 1.0.14-beta.3 → 1.0.14
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/.vscode/settings.json +1 -1
- package/lib/assets/styles/datepicker.scss +1 -3
- package/lib/assets/styles/periodpicker.scss +7 -3
- package/lib/assets/styles/tabs.scss +56 -25
- package/lib/form/FieldArray.js +8 -6
- package/lib/form/FieldPeriod.js +51 -37
- package/lib/form/types.d.ts +10 -3
- package/lib/inputs/base/helpers.d.ts +2 -2
- package/lib/inputs/base/helpers.js +2 -4
- package/lib/inputs/multiSelect/index.js +2 -1
- package/lib/inputs/period/index.js +110 -49
- package/lib/inputs/period/types.d.ts +10 -1
- package/package.json +1 -1
package/.vscode/settings.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
@import "commons.scss";
|
|
2
2
|
@import "effects.scss";
|
|
3
|
+
|
|
3
4
|
.periodpicker-component {
|
|
4
5
|
height: auto;
|
|
5
6
|
position: relative;
|
|
@@ -8,7 +9,7 @@
|
|
|
8
9
|
border: 1px solid #dae1e8;
|
|
9
10
|
|
|
10
11
|
.inputwrapper {
|
|
11
|
-
|
|
12
|
+
border: none;
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
.separation_icon {
|
|
@@ -21,7 +22,7 @@
|
|
|
21
22
|
padding: 4px;
|
|
22
23
|
border: none;
|
|
23
24
|
}
|
|
24
|
-
|
|
25
|
+
|
|
25
26
|
.input-base-component {
|
|
26
27
|
flex: 1;
|
|
27
28
|
}
|
|
@@ -39,11 +40,14 @@
|
|
|
39
40
|
&:hover {
|
|
40
41
|
background-color: $default-hover-color;
|
|
41
42
|
}
|
|
43
|
+
|
|
42
44
|
&.-selected {
|
|
43
45
|
background-color: $default-hover-color;
|
|
44
46
|
}
|
|
47
|
+
|
|
45
48
|
&.-disabled {
|
|
46
49
|
@extend %component-menu-disabled;
|
|
50
|
+
|
|
47
51
|
&:hover {
|
|
48
52
|
background-color: transparent;
|
|
49
53
|
}
|
|
@@ -62,4 +66,4 @@
|
|
|
62
66
|
overflow-x: hidden;
|
|
63
67
|
/* margin-top: 2px; */
|
|
64
68
|
z-index: 99999999999;
|
|
65
|
-
}
|
|
69
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
@import "colors.scss";
|
|
2
|
+
|
|
2
3
|
%tab-closepanel {
|
|
3
4
|
background-color: transparent;
|
|
4
5
|
border: 0;
|
|
@@ -10,6 +11,7 @@
|
|
|
10
11
|
visibility: hidden;
|
|
11
12
|
transition: all 0.2s ease-in-out;
|
|
12
13
|
border-radius: 4px;
|
|
14
|
+
|
|
13
15
|
&:after {
|
|
14
16
|
content: "×";
|
|
15
17
|
font-size: 20px;
|
|
@@ -17,13 +19,16 @@
|
|
|
17
19
|
color: $font-color-soft;
|
|
18
20
|
transition: all 0.2s ease-in-out;
|
|
19
21
|
}
|
|
22
|
+
|
|
20
23
|
&:hover {
|
|
21
24
|
background-color: $color-light-dark;
|
|
25
|
+
|
|
22
26
|
&:after {
|
|
23
27
|
color: $font-color-second;
|
|
24
28
|
}
|
|
25
29
|
}
|
|
26
30
|
}
|
|
31
|
+
|
|
27
32
|
%tab-component-menus {
|
|
28
33
|
.menu {
|
|
29
34
|
-webkit-box-shadow: 0px -1px 0px $component-border-color inset;
|
|
@@ -33,11 +38,13 @@
|
|
|
33
38
|
flex-wrap: nowrap;
|
|
34
39
|
justify-content: center;
|
|
35
40
|
flex: 1;
|
|
36
|
-
|
|
41
|
+
|
|
42
|
+
&.-firsttabident>.menuitem:first-child {
|
|
37
43
|
margin-left: 15px;
|
|
38
44
|
}
|
|
39
45
|
}
|
|
40
|
-
|
|
46
|
+
|
|
47
|
+
.menu>.menuitem {
|
|
41
48
|
border-bottom: 0;
|
|
42
49
|
border-radius: 5px 5px 0px 0px;
|
|
43
50
|
-moz-border-radius: 5px 5px 0px 0px;
|
|
@@ -51,27 +58,31 @@
|
|
|
51
58
|
display: flex;
|
|
52
59
|
justify-content: space-between;
|
|
53
60
|
align-items: center;
|
|
61
|
+
|
|
54
62
|
&.selected {
|
|
55
63
|
border: 1px solid $component-border-color;
|
|
56
64
|
background: $font-color-second;
|
|
57
65
|
border-bottom: 1px solid $font-color-second;
|
|
58
66
|
border-top: 2px solid $component-selected-color;
|
|
59
67
|
box-shadow: 0;
|
|
60
|
-
font-weight: bold;
|
|
68
|
+
font-weight: bold;
|
|
69
|
+
/* z-index: 2; */
|
|
61
70
|
}
|
|
62
|
-
|
|
63
|
-
|
|
71
|
+
|
|
72
|
+
&.selected>.closepanel,
|
|
73
|
+
&:hover>.closepanel {
|
|
64
74
|
visibility: visible;
|
|
65
75
|
}
|
|
66
76
|
}
|
|
67
|
-
|
|
77
|
+
|
|
78
|
+
.menu>.menuitem>.menubutton {
|
|
68
79
|
white-space: nowrap;
|
|
69
80
|
text-overflow: ellipsis;
|
|
70
81
|
background: transparent;
|
|
71
82
|
border: 0;
|
|
72
83
|
}
|
|
73
84
|
|
|
74
|
-
.menu
|
|
85
|
+
.menu>.menuitem>.closepanel {
|
|
75
86
|
@extend %tab-closepanel;
|
|
76
87
|
}
|
|
77
88
|
|
|
@@ -90,27 +101,32 @@
|
|
|
90
101
|
grid-template-rows: auto 1fr;
|
|
91
102
|
width: 100%;
|
|
92
103
|
height: 100%;
|
|
104
|
+
overflow: auto;
|
|
93
105
|
@extend %tab-component-menus;
|
|
94
|
-
|
|
106
|
+
|
|
107
|
+
>.menucontainer {
|
|
95
108
|
display: flex;
|
|
96
109
|
flex-wrap: nowrap;
|
|
97
110
|
width: 100%;
|
|
98
111
|
min-height: 35px;
|
|
99
112
|
overflow: hidden;
|
|
100
113
|
@extend %tab-component-menus;
|
|
101
|
-
|
|
114
|
+
|
|
115
|
+
>.dropdownbutton {
|
|
102
116
|
border-bottom: 1px solid $component-border-color;
|
|
103
117
|
padding: 0 0.8rem;
|
|
104
118
|
}
|
|
105
119
|
}
|
|
106
|
-
|
|
120
|
+
|
|
121
|
+
>.panel {
|
|
107
122
|
background-color: $font-color-second;
|
|
108
123
|
border: 1px solid $component-border-color;
|
|
109
124
|
border-top: 0;
|
|
110
125
|
padding: 10px;
|
|
111
126
|
overflow: auto;
|
|
112
127
|
}
|
|
113
|
-
|
|
128
|
+
|
|
129
|
+
>.hidepanel {
|
|
114
130
|
display: none;
|
|
115
131
|
}
|
|
116
132
|
}
|
|
@@ -121,16 +137,19 @@
|
|
|
121
137
|
.tabs-component.menu-left {
|
|
122
138
|
grid-template-columns: auto 1fr;
|
|
123
139
|
grid-template-rows: none;
|
|
124
|
-
|
|
125
|
-
|
|
140
|
+
|
|
141
|
+
>.menucontainer {
|
|
142
|
+
>.menu {
|
|
126
143
|
box-shadow: -1px 0px 0px 0px $component-border-color inset;
|
|
127
144
|
flex-direction: column;
|
|
128
145
|
justify-content: center;
|
|
129
146
|
}
|
|
130
|
-
|
|
147
|
+
|
|
148
|
+
>.menu>.menuitem {
|
|
131
149
|
border-radius: 5px 0px 0px 5px;
|
|
132
150
|
-moz-border-radius: 5px 0px 0px 5px;
|
|
133
151
|
-webkit-border-radius: 5px 0px 0px 5px;
|
|
152
|
+
|
|
134
153
|
&.selected {
|
|
135
154
|
border: 1px solid $component-border-color;
|
|
136
155
|
border-right: 1px solid $font-color-second;
|
|
@@ -138,11 +157,13 @@
|
|
|
138
157
|
width: 100%;
|
|
139
158
|
}
|
|
140
159
|
}
|
|
141
|
-
|
|
160
|
+
|
|
161
|
+
>.menu>.menuitem>.closepanel {
|
|
142
162
|
float: left;
|
|
143
163
|
}
|
|
144
164
|
}
|
|
145
|
-
|
|
165
|
+
|
|
166
|
+
>.panel {
|
|
146
167
|
border-top: 1px solid $component-border-color;
|
|
147
168
|
border-left: 0;
|
|
148
169
|
}
|
|
@@ -153,14 +174,17 @@
|
|
|
153
174
|
*/
|
|
154
175
|
.tabs-component.menu-bottom {
|
|
155
176
|
grid-template-rows: 1fr auto;
|
|
177
|
+
|
|
156
178
|
.menucontainer {
|
|
157
|
-
|
|
179
|
+
>.menu {
|
|
158
180
|
box-shadow: 0 1px 1px 0px $component-border-color inset;
|
|
159
181
|
}
|
|
160
|
-
|
|
182
|
+
|
|
183
|
+
>.menu>.menuitem {
|
|
161
184
|
border-radius: 0px 0px 5px 5px;
|
|
162
185
|
-moz-border-radius: 0px 0px 5px 5px;
|
|
163
186
|
-webkit-border-radius: 0px 0px 5px 5px;
|
|
187
|
+
|
|
164
188
|
&.selected {
|
|
165
189
|
border: 1px solid $component-border-color;
|
|
166
190
|
border-top: 1px solid $font-color-second;
|
|
@@ -169,7 +193,8 @@
|
|
|
169
193
|
}
|
|
170
194
|
}
|
|
171
195
|
}
|
|
172
|
-
|
|
196
|
+
|
|
197
|
+
>.panel {
|
|
173
198
|
border-top: 1px solid $component-border-color;
|
|
174
199
|
border-bottom: 0;
|
|
175
200
|
}
|
|
@@ -181,16 +206,19 @@
|
|
|
181
206
|
.tabs-component.menu-right {
|
|
182
207
|
grid-template-columns: 1fr auto;
|
|
183
208
|
grid-template-rows: none;
|
|
184
|
-
|
|
185
|
-
|
|
209
|
+
|
|
210
|
+
.menucontainer {
|
|
211
|
+
>.menu {
|
|
186
212
|
box-shadow: 2px 0 0px -1px $component-border-color inset;
|
|
187
213
|
flex-direction: column;
|
|
188
214
|
justify-content: center;
|
|
189
215
|
}
|
|
190
|
-
|
|
216
|
+
|
|
217
|
+
>.menu>.menuitem {
|
|
191
218
|
border-radius: 0px 5px 5px 0px;
|
|
192
219
|
-moz-border-radius: 0px 5px 5px 0px;
|
|
193
220
|
-webkit-border-radius: 0px 5px 5px 0px;
|
|
221
|
+
|
|
194
222
|
&.selected {
|
|
195
223
|
border: 1px solid $component-border-color;
|
|
196
224
|
border-left: 1px solid $font-color-second;
|
|
@@ -199,7 +227,8 @@
|
|
|
199
227
|
}
|
|
200
228
|
}
|
|
201
229
|
}
|
|
202
|
-
|
|
230
|
+
|
|
231
|
+
>.panel {
|
|
203
232
|
border-top: 1px solid $component-border-color;
|
|
204
233
|
border-right: 0;
|
|
205
234
|
}
|
|
@@ -216,10 +245,12 @@
|
|
|
216
245
|
align-items: center;
|
|
217
246
|
justify-content: space-between;
|
|
218
247
|
min-height: 50px;
|
|
219
|
-
|
|
248
|
+
|
|
249
|
+
>.closepanel {
|
|
220
250
|
@extend %tab-closepanel;
|
|
221
251
|
}
|
|
222
|
-
|
|
252
|
+
|
|
253
|
+
&:hover>.closepanel {
|
|
223
254
|
visibility: visible;
|
|
224
255
|
}
|
|
225
256
|
}
|
package/lib/form/FieldArray.js
CHANGED
|
@@ -116,9 +116,10 @@ var FieldArray = function FieldArray(props) {
|
|
|
116
116
|
}
|
|
117
117
|
})), {
|
|
118
118
|
label: label,
|
|
119
|
-
name: name
|
|
120
|
-
|
|
121
|
-
|
|
119
|
+
name: name,
|
|
120
|
+
errorMessages: (0, _helpers.getErrorMessages)(_objectSpread(_objectSpread({}, props), {}, {
|
|
121
|
+
fieldErrors: showValidateMessages ? props.fieldErrors : {}
|
|
122
|
+
}))
|
|
122
123
|
})));
|
|
123
124
|
} else {
|
|
124
125
|
content = /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(Component, _extends({}, rest, getDefaultProps(props, handleShowValidateMessages), getEvents(_objectSpread(_objectSpread({}, props), {}, {
|
|
@@ -127,9 +128,10 @@ var FieldArray = function FieldArray(props) {
|
|
|
127
128
|
}
|
|
128
129
|
})), {
|
|
129
130
|
label: label,
|
|
130
|
-
name: name
|
|
131
|
-
|
|
132
|
-
|
|
131
|
+
name: name,
|
|
132
|
+
errorMessages: (0, _helpers.getErrorMessages)(_objectSpread(_objectSpread({}, props), {}, {
|
|
133
|
+
fieldErrors: showValidateMessages ? props.fieldErrors : {}
|
|
134
|
+
}))
|
|
133
135
|
})));
|
|
134
136
|
}
|
|
135
137
|
}
|
package/lib/form/FieldPeriod.js
CHANGED
|
@@ -7,12 +7,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
10
|
+
var _gridlayout = _interopRequireDefault(require("../gridlayout"));
|
|
10
11
|
var _withFieldHOC = _interopRequireDefault(require("./withFieldHOC"));
|
|
11
12
|
var _helpers = require("./helpers");
|
|
12
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
14
|
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); }
|
|
14
15
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15
16
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
17
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
18
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
19
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
16
20
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
17
21
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
18
22
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
@@ -29,13 +33,18 @@ var FieldPeriod = function FieldPeriod(props) {
|
|
|
29
33
|
externalMessagesErrors = props.externalMessagesErrors,
|
|
30
34
|
_onChange = props.onChange,
|
|
31
35
|
validators = props.validators,
|
|
32
|
-
originalData = props.originalData
|
|
36
|
+
originalData = props.originalData,
|
|
37
|
+
gridLayout = props.gridLayout,
|
|
38
|
+
Component = props.component,
|
|
39
|
+
name = props.name,
|
|
40
|
+
externalFieldErrors = props.externalFieldErrors;
|
|
41
|
+
var content = null;
|
|
33
42
|
var _useState = (0, _react.useState)(false),
|
|
34
43
|
_useState2 = _slicedToArray(_useState, 2),
|
|
35
44
|
showValidateMessages = _useState2[0],
|
|
36
45
|
setShowValidateMessages = _useState2[1];
|
|
37
|
-
var currentValue = _lodash.default.get(data,
|
|
38
|
-
var originalValue = _lodash.default.get(originalData,
|
|
46
|
+
var currentValue = _lodash.default.get(data, name);
|
|
47
|
+
var originalValue = _lodash.default.get(originalData, name);
|
|
39
48
|
(0, _react.useEffect)(function () {
|
|
40
49
|
if (!_lodash.default.isEqual(currentValue, originalValue) && currentValue && (!!currentValue || currentValue === 0 || Array.isArray(currentValue) && currentValue.length > 0)) {
|
|
41
50
|
setShowValidateMessages(true);
|
|
@@ -44,47 +53,52 @@ var FieldPeriod = function FieldPeriod(props) {
|
|
|
44
53
|
}
|
|
45
54
|
}, [currentValue]);
|
|
46
55
|
var errorMessages = (0, _helpers.getErrorMessages)({
|
|
47
|
-
name:
|
|
56
|
+
name: name,
|
|
48
57
|
fieldErrors: showValidateMessages ? fieldErrors : {},
|
|
58
|
+
externalFieldErrors: externalFieldErrors,
|
|
49
59
|
externalMessagesErrors: externalMessagesErrors
|
|
50
60
|
});
|
|
51
|
-
if (
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
61
|
+
if (Component) {
|
|
62
|
+
content = /*#__PURE__*/_react.default.createElement(Component, _extends({}, props, {
|
|
63
|
+
errorMessages: errorMessages,
|
|
64
|
+
onChange: function onChange(e, maskValue, _ref) {
|
|
65
|
+
var initial = _ref.initial,
|
|
66
|
+
final = _ref.final;
|
|
67
|
+
if (validators && handlerFieldValidade) {
|
|
68
|
+
var _handlerFieldValidade;
|
|
69
|
+
handlerFieldValidade(nameDateInitial, (_handlerFieldValidade = {}, _defineProperty(_handlerFieldValidade, nameDateInitial, initial), _defineProperty(_handlerFieldValidade, nameDateFinal, final), _handlerFieldValidade), validators);
|
|
70
|
+
setShowValidateMessages(true);
|
|
71
|
+
}
|
|
72
|
+
if (handlerFieldChange) {
|
|
73
|
+
var _value;
|
|
74
|
+
handlerFieldChange({
|
|
75
|
+
target: {
|
|
76
|
+
name: name,
|
|
77
|
+
value: (_value = {}, _defineProperty(_value, nameDateInitial, initial), _defineProperty(_value, nameDateFinal, final), _value)
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
if (_onChange) _onChange({
|
|
59
82
|
initial: initial,
|
|
60
83
|
final: final
|
|
61
|
-
}, validators);
|
|
62
|
-
setShowValidateMessages(true);
|
|
63
|
-
}
|
|
64
|
-
if (handlerFieldChange) {
|
|
65
|
-
handlerFieldChange({
|
|
66
|
-
target: {
|
|
67
|
-
name: nameDateInitial,
|
|
68
|
-
value: initial
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
handlerFieldChange({
|
|
72
|
-
target: {
|
|
73
|
-
name: nameDateFinal,
|
|
74
|
-
value: final
|
|
75
|
-
}
|
|
76
84
|
});
|
|
85
|
+
},
|
|
86
|
+
value: {
|
|
87
|
+
initial: _lodash.default.get(data, "".concat(name, ".").concat(nameDateInitial)),
|
|
88
|
+
final: _lodash.default.get(data, "".concat(name, ".").concat(nameDateFinal))
|
|
77
89
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
92
|
+
if (gridLayout !== undefined) {
|
|
93
|
+
return /*#__PURE__*/_react.default.createElement(_gridlayout.default, {
|
|
94
|
+
customClass: "-withinput",
|
|
95
|
+
cols: gridLayout,
|
|
96
|
+
style: {
|
|
97
|
+
height: '100%'
|
|
98
|
+
}
|
|
99
|
+
}, content);
|
|
100
|
+
}
|
|
101
|
+
return content;
|
|
88
102
|
};
|
|
89
103
|
var _default = (0, _withFieldHOC.default)(FieldPeriod);
|
|
90
104
|
exports.default = _default;
|
package/lib/form/types.d.ts
CHANGED
|
@@ -8,8 +8,8 @@ import '../@types/Period.js';
|
|
|
8
8
|
|
|
9
9
|
type Validator = (value: string) => string | undefined;
|
|
10
10
|
type PeriodValidator = (value: {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
inicial: string;
|
|
12
|
+
final: string;
|
|
13
13
|
}) => string | undefined;
|
|
14
14
|
type OnFielChangeEvent = Event & {
|
|
15
15
|
target: HTMLInputElement;
|
|
@@ -117,6 +117,7 @@ interface IFieldArrayProps extends WithFieldProps {
|
|
|
117
117
|
disabled?: boolean;
|
|
118
118
|
onBlur?: (event: ChangeEvent<HTMLInputElement>) => void;
|
|
119
119
|
handlerFieldValidade?: (name: string, value: string, validatorsArray: Validator[] | Validator) => void;
|
|
120
|
+
required?: boolean;
|
|
120
121
|
}
|
|
121
122
|
type PeriodChangeEvent = {
|
|
122
123
|
initial: string;
|
|
@@ -125,7 +126,9 @@ type PeriodChangeEvent = {
|
|
|
125
126
|
type PeriodFieldChangeEvent = {
|
|
126
127
|
target: {
|
|
127
128
|
name: string;
|
|
128
|
-
value:
|
|
129
|
+
value: {
|
|
130
|
+
[valueDate: string]: string;
|
|
131
|
+
};
|
|
129
132
|
};
|
|
130
133
|
};
|
|
131
134
|
interface IFieldPeriodProps extends WithFieldProps {
|
|
@@ -142,8 +145,12 @@ interface IFieldPeriodProps extends WithFieldProps {
|
|
|
142
145
|
[name: string]: string[];
|
|
143
146
|
};
|
|
144
147
|
externalMessagesErrors?: string[];
|
|
148
|
+
externalFieldErrors?: {
|
|
149
|
+
[name: string]: string[];
|
|
150
|
+
};
|
|
145
151
|
handlerFieldValidade?: (name: string, value: object, validatorsArray: PeriodValidator[] | PeriodValidator) => void;
|
|
146
152
|
onChange?: (event: PeriodChangeEvent) => PeriodChangeEvent;
|
|
153
|
+
gridLayout?: string;
|
|
147
154
|
}
|
|
148
155
|
interface FormContextProps {
|
|
149
156
|
skeletonize?: boolean;
|
|
@@ -4,13 +4,13 @@ import 'react';
|
|
|
4
4
|
import '../../@types/Period.js';
|
|
5
5
|
import '../../@types/PermissionAttr.js';
|
|
6
6
|
|
|
7
|
-
declare const getInputClass: ({ textAlign, readOnly, readOnlyClass }: {
|
|
7
|
+
declare const getInputClass: ({ textAlign, readOnly, readOnlyClass, }: {
|
|
8
8
|
textAlign?: TextAlign | undefined;
|
|
9
9
|
readOnly?: boolean | undefined;
|
|
10
10
|
readOnlyClass?: string | undefined;
|
|
11
11
|
}) => string;
|
|
12
12
|
declare const getInputWrapperClass: (props: IBaseProps) => string;
|
|
13
13
|
declare const getErrorMessages: (messages: string[]) => JSX.Element;
|
|
14
|
-
declare const getRightElements: (errorMessages: string[], skeletonize: boolean, rightElements?: JSX.Element | JSX.Element[]) => JSX.Element
|
|
14
|
+
declare const getRightElements: (errorMessages: string[], skeletonize: boolean, rightElements?: JSX.Element | JSX.Element[]) => JSX.Element[] | null;
|
|
15
15
|
|
|
16
16
|
export { getErrorMessages, getInputClass, getInputWrapperClass, getRightElements };
|
|
@@ -41,9 +41,7 @@ var getRightElements = function getRightElements(errorMessages, skeletonize, rig
|
|
|
41
41
|
key: "rightelement-".concat(index + 1)
|
|
42
42
|
});
|
|
43
43
|
});
|
|
44
|
-
if (errorMessages
|
|
45
|
-
return
|
|
46
|
-
className: "sidebuttons"
|
|
47
|
-
}, elements);
|
|
44
|
+
if (errorMessages) return elements;
|
|
45
|
+
return elements;
|
|
48
46
|
};
|
|
49
47
|
exports.getRightElements = getRightElements;
|
|
@@ -188,7 +188,8 @@ var MultiSelectField = function MultiSelectField(props) {
|
|
|
188
188
|
};
|
|
189
189
|
(0, _react.useEffect)(function () {
|
|
190
190
|
if (gridLayout) {
|
|
191
|
-
var
|
|
191
|
+
var _selectWrapper$curren;
|
|
192
|
+
var currentGridEl = (_selectWrapper$curren = selectWrapper.current) === null || _selectWrapper$curren === void 0 ? void 0 : _selectWrapper$curren.parentElement;
|
|
192
193
|
if (currentGridEl) setElementStyles(window.getComputedStyle(currentGridEl));
|
|
193
194
|
}
|
|
194
195
|
window.addEventListener('resize', onScreenResize);
|
|
@@ -14,6 +14,7 @@ var _calendar = _interopRequireDefault(require("../../calendar"));
|
|
|
14
14
|
var _buttons = _interopRequireDefault(require("../../buttons"));
|
|
15
15
|
var _icons = _interopRequireDefault(require("../../icons"));
|
|
16
16
|
var _Dialog = _interopRequireDefault(require("./Dialog"));
|
|
17
|
+
var _hint = _interopRequireDefault(require("../../hint"));
|
|
17
18
|
var helperBase = _interopRequireWildcard(require("../base/helpers"));
|
|
18
19
|
require("../../assets/styles/periodpicker.scss");
|
|
19
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -37,6 +38,7 @@ var PeriodPicker = function PeriodPicker(props) {
|
|
|
37
38
|
openOnFocus = _props$openOnFocus === void 0 ? true : _props$openOnFocus,
|
|
38
39
|
_props$shouldCloseOnS = props.shouldCloseOnSelect,
|
|
39
40
|
shouldCloseOnSelect = _props$shouldCloseOnS === void 0 ? true : _props$shouldCloseOnS,
|
|
41
|
+
calendarColorStyle = props.calendarColorStyle,
|
|
40
42
|
_props$showCalendarIn = props.showCalendarInDialog,
|
|
41
43
|
showCalendarInDialog = _props$showCalendarIn === void 0 ? false : _props$showCalendarIn,
|
|
42
44
|
_props$dialogSize = props.dialogSize,
|
|
@@ -44,27 +46,27 @@ var PeriodPicker = function PeriodPicker(props) {
|
|
|
44
46
|
width: '350px',
|
|
45
47
|
height: '350px'
|
|
46
48
|
} : _props$dialogSize,
|
|
47
|
-
|
|
48
|
-
var _useState = (0, _react.useState)(props.value &&
|
|
49
|
+
hint = props.hint;
|
|
50
|
+
var _useState = (0, _react.useState)(props.value && (0, _moment.default)(props.value.initial, 'DD/MM/YYYY')),
|
|
49
51
|
_useState2 = _slicedToArray(_useState, 2),
|
|
50
52
|
valueInitial = _useState2[0],
|
|
51
53
|
setValueInitial = _useState2[1];
|
|
52
|
-
var _useState3 = (0, _react.useState)(props.value &&
|
|
54
|
+
var _useState3 = (0, _react.useState)(props.value && (0, _moment.default)(props.value.final, 'DD/MM/YYYY')),
|
|
53
55
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
54
56
|
valueFinal = _useState4[0],
|
|
55
57
|
setValueFinal = _useState4[1];
|
|
56
|
-
var _useState5 = (0, _react.useState)('
|
|
58
|
+
var _useState5 = (0, _react.useState)('week'),
|
|
57
59
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
var _useState7 = (0, _react.useState)(
|
|
60
|
+
valuePeriodSelection = _useState6[0],
|
|
61
|
+
setValuePeriodSelection = _useState6[1];
|
|
62
|
+
var _useState7 = (0, _react.useState)(false),
|
|
61
63
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
62
|
-
|
|
63
|
-
|
|
64
|
+
showCalendarValueInitial = _useState8[0],
|
|
65
|
+
setShowCalendarValueInitial = _useState8[1];
|
|
64
66
|
var _useState9 = (0, _react.useState)(false),
|
|
65
67
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
66
|
-
|
|
67
|
-
|
|
68
|
+
showCalendarValueFinal = _useState10[0],
|
|
69
|
+
setShowCalendarValueFinal = _useState10[1];
|
|
68
70
|
var _useState11 = (0, _react.useState)(false),
|
|
69
71
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
70
72
|
showPeriodSelection = _useState12[0],
|
|
@@ -77,6 +79,7 @@ var PeriodPicker = function PeriodPicker(props) {
|
|
|
77
79
|
_useState16 = _slicedToArray(_useState15, 2),
|
|
78
80
|
onDenied = _useState16[0],
|
|
79
81
|
setOnDenied = _useState16[1];
|
|
82
|
+
var wrapperBaseInputPeriodRef = (0, _react.useRef)(null);
|
|
80
83
|
var inputContainerRef = (0, _react.useRef)(null);
|
|
81
84
|
var inputInitialRef = (0, _react.useRef)(null);
|
|
82
85
|
var buttonOpenRef = (0, _react.useRef)(null);
|
|
@@ -94,18 +97,31 @@ var PeriodPicker = function PeriodPicker(props) {
|
|
|
94
97
|
if (target === inputContainerRef.current || target === inputInitialRef.current || target === inputFinalRef.current || target === buttonOpenRef.current || target === buttonSelectPeriodRef.current) {
|
|
95
98
|
return;
|
|
96
99
|
}
|
|
97
|
-
if (dropdownCalendarContainer.current && dropdownCalendarContainer.current.contains(target))
|
|
100
|
+
if (dropdownCalendarContainer.current && dropdownCalendarContainer.current.contains(target)) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
98
103
|
if (dropdownPeriodContainer.current && dropdownPeriodContainer.current.contains(target)) return;
|
|
99
|
-
|
|
104
|
+
setShowCalendarValueInitial(false);
|
|
105
|
+
setShowCalendarValueFinal(false);
|
|
100
106
|
setShowPeriodSelection(false);
|
|
101
107
|
};
|
|
108
|
+
var onCloseCalendarWithoutFocus = function onCloseCalendarWithoutFocus(event) {
|
|
109
|
+
if (event.key === 'Tab') {
|
|
110
|
+
if (wrapperBaseInputPeriodRef.current && wrapperBaseInputPeriodRef.current.contains(document.activeElement) && document.activeElement instanceof HTMLInputElement) {
|
|
111
|
+
setShowCalendarValueInitial(false);
|
|
112
|
+
setShowCalendarValueFinal(false);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
};
|
|
102
116
|
(0, _react.useEffect)(function () {
|
|
103
117
|
window.addEventListener('resize', onScreenResize);
|
|
104
118
|
document.addEventListener('click', onClickOutside);
|
|
119
|
+
document.addEventListener('keydown', onCloseCalendarWithoutFocus);
|
|
105
120
|
if (inputContainerRef.current) onScreenResize();
|
|
106
121
|
return function () {
|
|
107
122
|
window.removeEventListener('resize', onScreenResize);
|
|
108
123
|
document.removeEventListener('click', onClickOutside);
|
|
124
|
+
document.removeEventListener('keydown', onCloseCalendarWithoutFocus);
|
|
109
125
|
};
|
|
110
126
|
}, []);
|
|
111
127
|
(0, _react.useEffect)(function () {
|
|
@@ -138,8 +154,14 @@ var PeriodPicker = function PeriodPicker(props) {
|
|
|
138
154
|
setValueFinal(newValueFinal);
|
|
139
155
|
}
|
|
140
156
|
}, [props.value]);
|
|
141
|
-
var openCalendar = function openCalendar() {
|
|
142
|
-
|
|
157
|
+
var openCalendar = function openCalendar(calendarName) {
|
|
158
|
+
if (calendarName === 'valueInitial') {
|
|
159
|
+
setShowCalendarValueFinal(false);
|
|
160
|
+
setShowCalendarValueInitial(true);
|
|
161
|
+
} else {
|
|
162
|
+
setShowCalendarValueInitial(false);
|
|
163
|
+
setShowCalendarValueFinal(true);
|
|
164
|
+
}
|
|
143
165
|
setShowPeriodSelection(false);
|
|
144
166
|
if (inputContainerRef.current) {
|
|
145
167
|
setInputDimensions(inputContainerRef.current.getBoundingClientRect());
|
|
@@ -148,14 +170,17 @@ var PeriodPicker = function PeriodPicker(props) {
|
|
|
148
170
|
var onInputFocus = function onInputFocus(e) {
|
|
149
171
|
var _ref = e.target,
|
|
150
172
|
name = _ref.name;
|
|
151
|
-
|
|
152
|
-
if (
|
|
173
|
+
if (openOnFocus) openCalendar(name);
|
|
174
|
+
if (props.onFocus) props.onFocus(e);
|
|
175
|
+
};
|
|
176
|
+
var onInputBlur = function onInputBlur(e) {
|
|
177
|
+
if (props.onBlur) props.onBlur(e);
|
|
153
178
|
};
|
|
154
179
|
var onInputChange = function onInputChange(event, value) {
|
|
155
180
|
if (event) {
|
|
156
181
|
var _ref2 = event.target,
|
|
157
182
|
changingAux = _ref2.name;
|
|
158
|
-
if (value && value.replace(/\D/g, '')
|
|
183
|
+
if (value && value.replace(/\D/g, '').trim().length !== 0) {
|
|
159
184
|
if (changingAux === 'valueInitial') {
|
|
160
185
|
setValueInitial(undefined);
|
|
161
186
|
} else {
|
|
@@ -164,25 +189,28 @@ var PeriodPicker = function PeriodPicker(props) {
|
|
|
164
189
|
}
|
|
165
190
|
}
|
|
166
191
|
};
|
|
167
|
-
var setValue = function setValue(
|
|
192
|
+
var setValue = function setValue(event, value) {
|
|
193
|
+
var _inputInitialRef$curr, _inputFinalRef$curren;
|
|
168
194
|
var shouldOpenDropdown = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
169
|
-
var
|
|
195
|
+
var valueDateName = event ? event.target.name : '';
|
|
170
196
|
var dateObj = (0, _moment.default)(value, 'DD/MM/YYYY');
|
|
171
|
-
if (
|
|
197
|
+
if (showCalendarValueInitial) (_inputInitialRef$curr = inputInitialRef.current) === null || _inputInitialRef$curr === void 0 ? void 0 : _inputInitialRef$curr.focus();
|
|
198
|
+
if (showCalendarValueFinal) (_inputFinalRef$curren = inputFinalRef.current) === null || _inputFinalRef$curren === void 0 ? void 0 : _inputFinalRef$curren.focus();
|
|
199
|
+
if (valueDateName === 'valueInitial') {
|
|
172
200
|
setValueInitial(dateObj);
|
|
173
201
|
} else {
|
|
174
202
|
setValueFinal(dateObj);
|
|
175
203
|
}
|
|
176
|
-
if (
|
|
177
|
-
var _inputFinalRef$
|
|
178
|
-
|
|
179
|
-
setShowCalendar(false);
|
|
180
|
-
(_inputFinalRef$curren = inputFinalRef.current) === null || _inputFinalRef$curren === void 0 ? void 0 : _inputFinalRef$curren.focus();
|
|
204
|
+
if (valueDateName === 'valueInitial' && !valueFinal && shouldOpenDropdown) {
|
|
205
|
+
var _inputFinalRef$curren2;
|
|
206
|
+
(_inputFinalRef$curren2 = inputFinalRef.current) === null || _inputFinalRef$curren2 === void 0 ? void 0 : _inputFinalRef$curren2.focus();
|
|
181
207
|
setTimeout(function () {
|
|
182
|
-
return
|
|
208
|
+
return setShowCalendarValueFinal(true);
|
|
183
209
|
}, 100);
|
|
184
|
-
}
|
|
185
|
-
|
|
210
|
+
}
|
|
211
|
+
if (shouldCloseOnSelect) {
|
|
212
|
+
setShowCalendarValueInitial(false);
|
|
213
|
+
setShowCalendarValueFinal(false);
|
|
186
214
|
}
|
|
187
215
|
};
|
|
188
216
|
var shouldDisable = function shouldDisable() {
|
|
@@ -198,10 +226,9 @@ var PeriodPicker = function PeriodPicker(props) {
|
|
|
198
226
|
name: "calendar"
|
|
199
227
|
}),
|
|
200
228
|
onClick: function onClick() {
|
|
201
|
-
var _inputInitialRef$
|
|
202
|
-
(_inputInitialRef$
|
|
203
|
-
|
|
204
|
-
openCalendar();
|
|
229
|
+
var _inputInitialRef$curr2;
|
|
230
|
+
(_inputInitialRef$curr2 = inputInitialRef.current) === null || _inputInitialRef$curr2 === void 0 ? void 0 : _inputInitialRef$curr2.focus();
|
|
231
|
+
openCalendar('valueInitial');
|
|
205
232
|
},
|
|
206
233
|
customClass: "calendar-button",
|
|
207
234
|
tabIndex: -1,
|
|
@@ -218,7 +245,8 @@ var PeriodPicker = function PeriodPicker(props) {
|
|
|
218
245
|
});
|
|
219
246
|
};
|
|
220
247
|
var openPeriodSelecion = function openPeriodSelecion() {
|
|
221
|
-
|
|
248
|
+
setShowCalendarValueFinal(false);
|
|
249
|
+
setShowCalendarValueInitial(false);
|
|
222
250
|
setShowPeriodSelection(true);
|
|
223
251
|
if (inputContainerRef.current) {
|
|
224
252
|
setInputDimensions(inputContainerRef.current.getBoundingClientRect());
|
|
@@ -231,6 +259,11 @@ var PeriodPicker = function PeriodPicker(props) {
|
|
|
231
259
|
icon: /*#__PURE__*/_react.default.createElement(_icons.default, {
|
|
232
260
|
name: "more1"
|
|
233
261
|
}),
|
|
262
|
+
onBlur: function onBlur() {
|
|
263
|
+
return setTimeout(function () {
|
|
264
|
+
return setShowPeriodSelection(false);
|
|
265
|
+
}, 100);
|
|
266
|
+
},
|
|
234
267
|
onClick: function onClick() {
|
|
235
268
|
return openPeriodSelecion();
|
|
236
269
|
},
|
|
@@ -242,13 +275,13 @@ var PeriodPicker = function PeriodPicker(props) {
|
|
|
242
275
|
disabled: shouldDisable()
|
|
243
276
|
});
|
|
244
277
|
};
|
|
245
|
-
var getCalendar = function getCalendar(value, calendarColorStyleCalendar,
|
|
278
|
+
var getCalendar = function getCalendar(value, calendarColorStyleCalendar, valueDateName) {
|
|
246
279
|
return /*#__PURE__*/_react.default.createElement(_calendar.default, {
|
|
247
280
|
currentDate: value !== undefined ? (0, _moment.default)(value) : (0, _moment.default)(),
|
|
248
281
|
onDateChange: function onDateChange(date) {
|
|
249
282
|
return setValue({
|
|
250
283
|
target: {
|
|
251
|
-
name:
|
|
284
|
+
name: valueDateName
|
|
252
285
|
}
|
|
253
286
|
}, date);
|
|
254
287
|
},
|
|
@@ -257,12 +290,10 @@ var PeriodPicker = function PeriodPicker(props) {
|
|
|
257
290
|
};
|
|
258
291
|
var setPeriodDates = function setPeriodDates(selected, dates) {
|
|
259
292
|
if (selected === 'custom') {
|
|
260
|
-
var _inputInitialRef$
|
|
261
|
-
(_inputInitialRef$
|
|
293
|
+
var _inputInitialRef$curr3;
|
|
294
|
+
(_inputInitialRef$curr3 = inputInitialRef.current) === null || _inputInitialRef$curr3 === void 0 ? void 0 : _inputInitialRef$curr3.focus();
|
|
262
295
|
setValuePeriodSelection(selected);
|
|
263
|
-
setChanging('valueInitial');
|
|
264
296
|
setShowPeriodSelection(false);
|
|
265
|
-
setShowCalendar(true);
|
|
266
297
|
return;
|
|
267
298
|
}
|
|
268
299
|
setValuePeriodSelection(selected);
|
|
@@ -274,16 +305,35 @@ var PeriodPicker = function PeriodPicker(props) {
|
|
|
274
305
|
setShowPeriodSelection(false);
|
|
275
306
|
}
|
|
276
307
|
};
|
|
277
|
-
var
|
|
278
|
-
|
|
308
|
+
var getWrapperComponentCalendarValueInitial = function getWrapperComponentCalendarValueInitial() {
|
|
309
|
+
if (onDenied && onDenied.readOnly) return null;
|
|
310
|
+
if (showCalendarInDialog) {
|
|
311
|
+
return /*#__PURE__*/_react.default.createElement(_Dialog.default, {
|
|
312
|
+
dialogSize: dialogSize,
|
|
313
|
+
handlerClose: function handlerClose() {
|
|
314
|
+
return setShowCalendarValueInitial(false);
|
|
315
|
+
}
|
|
316
|
+
}, getCalendar(valueInitial, calendarColorStyle, 'valueInitial'));
|
|
317
|
+
}
|
|
318
|
+
return /*#__PURE__*/_react.default.createElement(_Dropdown.default, {
|
|
319
|
+
targetElement: inputContainerRef.current,
|
|
320
|
+
topPosition: inputDimensions ? inputDimensions.top + inputDimensions.height + 5 : '',
|
|
321
|
+
leftPosition: inputDimensions ? inputDimensions.left : '',
|
|
322
|
+
width: inputDimensions ? inputDimensions.width : '',
|
|
323
|
+
dropdownRef: function dropdownRef(el) {
|
|
324
|
+
dropdownCalendarContainer.current = el;
|
|
325
|
+
}
|
|
326
|
+
}, getCalendar(valueInitial, calendarColorStyle, 'valueInitial'));
|
|
327
|
+
};
|
|
328
|
+
var getWrapperComponentCalendarValueFinal = function getWrapperComponentCalendarValueFinal() {
|
|
279
329
|
if (onDenied && onDenied.readOnly) return null;
|
|
280
330
|
if (showCalendarInDialog) {
|
|
281
331
|
return /*#__PURE__*/_react.default.createElement(_Dialog.default, {
|
|
282
332
|
dialogSize: dialogSize,
|
|
283
333
|
handlerClose: function handlerClose() {
|
|
284
|
-
return
|
|
334
|
+
return setShowCalendarValueFinal(false);
|
|
285
335
|
}
|
|
286
|
-
}, getCalendar(
|
|
336
|
+
}, getCalendar(valueFinal, calendarColorStyle, 'valueFinal'));
|
|
287
337
|
}
|
|
288
338
|
return /*#__PURE__*/_react.default.createElement(_Dropdown.default, {
|
|
289
339
|
targetElement: inputContainerRef.current,
|
|
@@ -293,7 +343,7 @@ var PeriodPicker = function PeriodPicker(props) {
|
|
|
293
343
|
dropdownRef: function dropdownRef(el) {
|
|
294
344
|
dropdownCalendarContainer.current = el;
|
|
295
345
|
}
|
|
296
|
-
}, getCalendar(
|
|
346
|
+
}, getCalendar(valueFinal, calendarColorStyle, 'valueFinal'));
|
|
297
347
|
};
|
|
298
348
|
var getWrapperComponentPeriodSelection = function getWrapperComponentPeriodSelection() {
|
|
299
349
|
if (showCalendarInDialog) {
|
|
@@ -316,6 +366,7 @@ var PeriodPicker = function PeriodPicker(props) {
|
|
|
316
366
|
};
|
|
317
367
|
if (onDenied && onDenied.unvisible) return null;
|
|
318
368
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
369
|
+
ref: wrapperBaseInputPeriodRef,
|
|
319
370
|
className: "input-base-component"
|
|
320
371
|
}, props.label && /*#__PURE__*/_react.default.createElement("div", {
|
|
321
372
|
className: "labelcontainer"
|
|
@@ -335,13 +386,16 @@ var PeriodPicker = function PeriodPicker(props) {
|
|
|
335
386
|
value: !valueInitial ? '' : (0, _moment.default)(valueInitial).format('DD/MM/YYYY'),
|
|
336
387
|
mask: "00/00/0000",
|
|
337
388
|
onComplete: function onComplete(e, date) {
|
|
338
|
-
setValue(e, date,
|
|
389
|
+
setValue(e, date, true);
|
|
339
390
|
},
|
|
340
391
|
onFocus: onInputFocus,
|
|
392
|
+
onBlur: function onBlur(e) {
|
|
393
|
+
return onInputBlur(e);
|
|
394
|
+
},
|
|
341
395
|
isDateField: true,
|
|
342
396
|
onChange: onInputChange,
|
|
343
397
|
inputRef: function inputRef(el) {
|
|
344
|
-
|
|
398
|
+
inputInitialRef.current = el;
|
|
345
399
|
},
|
|
346
400
|
handlerSetOnDenied: function handlerSetOnDenied(denied) {
|
|
347
401
|
setOnDenied(denied);
|
|
@@ -357,9 +411,12 @@ var PeriodPicker = function PeriodPicker(props) {
|
|
|
357
411
|
mask: "00/00/0000",
|
|
358
412
|
isDateField: true,
|
|
359
413
|
onComplete: function onComplete(e, date) {
|
|
360
|
-
setValue(e, date,
|
|
414
|
+
setValue(e, date, true);
|
|
361
415
|
},
|
|
362
416
|
onFocus: onInputFocus,
|
|
417
|
+
onBlur: function onBlur(e) {
|
|
418
|
+
return onInputBlur(e);
|
|
419
|
+
},
|
|
363
420
|
onChange: onInputChange,
|
|
364
421
|
inputRef: function inputRef(el) {
|
|
365
422
|
inputFinalRef.current = el;
|
|
@@ -368,7 +425,11 @@ var PeriodPicker = function PeriodPicker(props) {
|
|
|
368
425
|
return setOnDenied(denied);
|
|
369
426
|
},
|
|
370
427
|
required: props.required
|
|
371
|
-
}), getButtonOpen(), getButtonSelectPeriod()),
|
|
428
|
+
}), getButtonOpen(), getButtonSelectPeriod()), showCalendarValueInitial && getWrapperComponentCalendarValueInitial(), showCalendarValueFinal && getWrapperComponentCalendarValueFinal(), showPeriodSelection && getWrapperComponentPeriodSelection(), /*#__PURE__*/_react.default.createElement(_hint.default, {
|
|
429
|
+
visible: !!hint,
|
|
430
|
+
customClass: "hint",
|
|
431
|
+
description: hint
|
|
432
|
+
}), props.errorMessages && helperBase.getErrorMessages(props.errorMessages));
|
|
372
433
|
};
|
|
373
434
|
var _default = PeriodPicker;
|
|
374
435
|
exports.default = _default;
|
|
@@ -7,6 +7,12 @@ import { CustomInputEvent } from '../base/types.js';
|
|
|
7
7
|
import '../../@types/Align.js';
|
|
8
8
|
|
|
9
9
|
type DateTypes = 'today' | 'week' | 'lastweek' | 'last15' | 'month' | 'lastmonth';
|
|
10
|
+
interface ChangeInputPeriodEvent {
|
|
11
|
+
target: {
|
|
12
|
+
value?: string;
|
|
13
|
+
name?: string;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
10
16
|
interface IPeriodOptions {
|
|
11
17
|
id: DateTypes | 'custom';
|
|
12
18
|
label?: string;
|
|
@@ -50,10 +56,13 @@ interface IPeriodPickerProps {
|
|
|
50
56
|
permissionAttr?: PermissionAttr;
|
|
51
57
|
errorMessages?: string[];
|
|
52
58
|
name?: string;
|
|
59
|
+
hint?: string;
|
|
60
|
+
onBlur?: (e: CustomInputEvent) => void;
|
|
61
|
+
onFocus?: (e: CustomInputEvent) => void;
|
|
53
62
|
}
|
|
54
63
|
interface IPeriodListProps {
|
|
55
64
|
handleOnSelect: (value: DateTypes | 'custom', date: Moment[] | null) => void;
|
|
56
65
|
selected?: string;
|
|
57
66
|
}
|
|
58
67
|
|
|
59
|
-
export { DateTypes, IDialogProps, IPeriodDropdownProps, IPeriodListProps, IPeriodOptions, IPeriodPickerProps };
|
|
68
|
+
export { ChangeInputPeriodEvent, DateTypes, IDialogProps, IPeriodDropdownProps, IPeriodListProps, IPeriodOptions, IPeriodPickerProps };
|