oa-componentbook 0.18.135 → 0.18.136
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.
|
@@ -46,6 +46,7 @@ const valuesArrayToOptionArray = (valuesArray, valueLabelMap) => valuesArray.map
|
|
|
46
46
|
label: valueLabelMap === null || valueLabelMap === void 0 ? void 0 : valueLabelMap[value]
|
|
47
47
|
}));
|
|
48
48
|
function CustomSelect(_ref) {
|
|
49
|
+
var _selectedOptions$inde2;
|
|
49
50
|
let {
|
|
50
51
|
allText,
|
|
51
52
|
children,
|
|
@@ -120,7 +121,8 @@ function CustomSelect(_ref) {
|
|
|
120
121
|
});
|
|
121
122
|
const [selectedOptions, setSelectedOptions] = (0, _react.useState)(actualDefaultValue);
|
|
122
123
|
const getMaxTagPlaceholder = omittedValues => {
|
|
123
|
-
|
|
124
|
+
var _selectedOptions$inde;
|
|
125
|
+
if ((selectedOptions === null || selectedOptions === void 0 || (_selectedOptions$inde = selectedOptions.indexOf) === null || _selectedOptions$inde === void 0 ? void 0 : _selectedOptions$inde.call(selectedOptions, allText)) !== -1) {
|
|
124
126
|
return null;
|
|
125
127
|
}
|
|
126
128
|
return "".concat("+".concat(omittedValues.length, " more"));
|
|
@@ -153,8 +155,9 @@ function CustomSelect(_ref) {
|
|
|
153
155
|
});
|
|
154
156
|
};
|
|
155
157
|
const onOptionsChangeForMultiple = (select, value) => {
|
|
156
|
-
|
|
157
|
-
const
|
|
158
|
+
var _newlySelectedOptions;
|
|
159
|
+
const newlySelectedOptions = selectedOptions === null || selectedOptions === void 0 ? void 0 : selectedOptions.slice(0);
|
|
160
|
+
const allIndex = newlySelectedOptions === null || newlySelectedOptions === void 0 || (_newlySelectedOptions = newlySelectedOptions.indexOf) === null || _newlySelectedOptions === void 0 ? void 0 : _newlySelectedOptions.call(newlySelectedOptions, allText);
|
|
158
161
|
if (allIndex !== -1) {
|
|
159
162
|
newlySelectedOptions.splice(allIndex, 1);
|
|
160
163
|
}
|
|
@@ -171,13 +174,14 @@ function CustomSelect(_ref) {
|
|
|
171
174
|
return !((_option$disabled2 = option === null || option === void 0 ? void 0 : option.disabled) !== null && _option$disabled2 !== void 0 ? _option$disabled2 : false);
|
|
172
175
|
});
|
|
173
176
|
if (newlySelectedOptions.length === enabledOptions.length && allText) {
|
|
174
|
-
newlySelectedOptions.unshift(allText);
|
|
177
|
+
newlySelectedOptions === null || newlySelectedOptions === void 0 || newlySelectedOptions.unshift(allText);
|
|
175
178
|
}
|
|
176
179
|
}
|
|
177
180
|
} else if (value === allText) {
|
|
178
181
|
newlySelectedOptions.length = 0; // Emptying the array.
|
|
179
182
|
} else {
|
|
180
|
-
|
|
183
|
+
var _newlySelectedOptions2;
|
|
184
|
+
newlySelectedOptions.splice((_newlySelectedOptions2 = newlySelectedOptions.indexOf) === null || _newlySelectedOptions2 === void 0 ? void 0 : _newlySelectedOptions2.call(newlySelectedOptions, value), 1);
|
|
181
185
|
}
|
|
182
186
|
const optionsWithoutAllText = newlySelectedOptions.filter(option => option !== allText);
|
|
183
187
|
|
|
@@ -186,6 +190,7 @@ function CustomSelect(_ref) {
|
|
|
186
190
|
setSelectedOptions(newlySelectedOptions);
|
|
187
191
|
};
|
|
188
192
|
const onOptionsChange = mode === 'multiple' ? onOptionsChangeForMultiple : onOptionsChangeForSingle;
|
|
193
|
+
console.log(selectedOptions, 'selectedOptions');
|
|
189
194
|
return /*#__PURE__*/_react.default.createElement(_antd.ConfigProvider, {
|
|
190
195
|
theme: {
|
|
191
196
|
components: {
|
|
@@ -255,7 +260,7 @@ function CustomSelect(_ref) {
|
|
|
255
260
|
padding: '0px'
|
|
256
261
|
},
|
|
257
262
|
mode: mode,
|
|
258
|
-
maxTagCount: selectedOptions.indexOf(allText) === -1 ? 'responsive' : 1,
|
|
263
|
+
maxTagCount: (selectedOptions === null || selectedOptions === void 0 || (_selectedOptions$inde2 = selectedOptions.indexOf) === null || _selectedOptions$inde2 === void 0 ? void 0 : _selectedOptions$inde2.call(selectedOptions, allText)) === -1 ? 'responsive' : 1,
|
|
259
264
|
maxTagPlaceholder: getMaxTagPlaceholder,
|
|
260
265
|
onDeselect: (0, _utils.isFunction)(onSelectionChange) ? value => onOptionsChange(false, value) : undefined,
|
|
261
266
|
onSelect: (0, _utils.isFunction)(onSelectionChange) ? value => onOptionsChange(true, value) : undefined,
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.weak-map.js");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
require("core-js/modules/es.parse-int.js");
|
|
9
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _antd = require("antd");
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
var _Done = _interopRequireDefault(require("@material-ui/icons/Done"));
|
|
14
|
+
var _dayjs3 = _interopRequireDefault(require("dayjs"));
|
|
15
|
+
var _styles = require("./styles");
|
|
16
|
+
var _CustomSelect = _interopRequireDefault(require("../../components/oa-component-select/CustomSelect"));
|
|
17
|
+
var _MaterialIcon = _interopRequireDefault(require("../../components/oa-component-icons/MaterialIcon"));
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
20
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
21
|
+
const {
|
|
22
|
+
RangePicker
|
|
23
|
+
} = _antd.DatePicker;
|
|
24
|
+
function getDateOffset(day) {
|
|
25
|
+
if (day === -1) return null;
|
|
26
|
+
const days = parseInt(day, 10);
|
|
27
|
+
const date = new Date();
|
|
28
|
+
date.setDate(date.getDate() - days);
|
|
29
|
+
return date;
|
|
30
|
+
}
|
|
31
|
+
let rangePickerLable;
|
|
32
|
+
function DateDropDown(_ref) {
|
|
33
|
+
var _selectValue$label;
|
|
34
|
+
let {
|
|
35
|
+
options,
|
|
36
|
+
format,
|
|
37
|
+
getValues,
|
|
38
|
+
defaultLabel,
|
|
39
|
+
disabledDate,
|
|
40
|
+
subLine
|
|
41
|
+
} = _ref;
|
|
42
|
+
const [showRangePicker, setshowRangePicker] = (0, _react.useState)(false);
|
|
43
|
+
const [selectValue, setSelectValue] = (0, _react.useState)({
|
|
44
|
+
label: defaultLabel,
|
|
45
|
+
dateSelected: false,
|
|
46
|
+
prevLabel: ''
|
|
47
|
+
});
|
|
48
|
+
const labelWithDate = {};
|
|
49
|
+
(0, _react.useEffect)(() => {
|
|
50
|
+
options.forEach(option => {
|
|
51
|
+
if (option.value === -1) {
|
|
52
|
+
rangePickerLable = option.label;
|
|
53
|
+
}
|
|
54
|
+
labelWithDate[option.label] = option.value;
|
|
55
|
+
});
|
|
56
|
+
if (selectValue !== null && selectValue !== void 0 && selectValue.label && labelWithDate[selectValue.label] !== -1 && selectValue.label in labelWithDate) {
|
|
57
|
+
getValues({
|
|
58
|
+
startDate: (0, _dayjs3.default)(getDateOffset(labelWithDate[selectValue.label])).format(format),
|
|
59
|
+
endDate: (0, _dayjs3.default)(getDateOffset(0)).format(format)
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}, []);
|
|
63
|
+
const showTickIcon = (label, selectedLabel, dateSelected, isCustomRange) => label === selectedLabel || isCustomRange && dateSelected;
|
|
64
|
+
const optionRender = option => {
|
|
65
|
+
var _option$label;
|
|
66
|
+
const selectedLabel = option === null || option === void 0 || (_option$label = option.label) === null || _option$label === void 0 || (_option$label = _option$label.props) === null || _option$label === void 0 ? void 0 : _option$label.children;
|
|
67
|
+
const isCustomRange = selectedLabel === rangePickerLable;
|
|
68
|
+
const {
|
|
69
|
+
label,
|
|
70
|
+
dateSelected
|
|
71
|
+
} = selectValue !== null && selectValue !== void 0 ? selectValue : {};
|
|
72
|
+
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
|
|
73
|
+
className: "label-date-dropdown",
|
|
74
|
+
style: {
|
|
75
|
+
display: 'flex',
|
|
76
|
+
flexDirection: 'row',
|
|
77
|
+
justifyContent: 'space-between'
|
|
78
|
+
}
|
|
79
|
+
}, option.label, showTickIcon(label, selectedLabel, dateSelected, isCustomRange) && /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(_MaterialIcon.default, {
|
|
80
|
+
icon: _Done.default,
|
|
81
|
+
size: 20,
|
|
82
|
+
color: "primary"
|
|
83
|
+
})), isCustomRange && /*#__PURE__*/_react.default.createElement("span", null, subLine)));
|
|
84
|
+
};
|
|
85
|
+
const onSelect = event => {
|
|
86
|
+
if ((event === null || event === void 0 ? void 0 : event.label) === rangePickerLable) {
|
|
87
|
+
setSelectValue(prev => {
|
|
88
|
+
setshowRangePicker(true);
|
|
89
|
+
return {
|
|
90
|
+
label: 'Start date -End date',
|
|
91
|
+
dateSelected: false,
|
|
92
|
+
prevLabel: prev.label
|
|
93
|
+
};
|
|
94
|
+
});
|
|
95
|
+
} else {
|
|
96
|
+
getValues({
|
|
97
|
+
startDate: (0, _dayjs3.default)(getDateOffset(event.value)).format(format),
|
|
98
|
+
endDate: (0, _dayjs3.default)(getDateOffset(0)).format(format)
|
|
99
|
+
});
|
|
100
|
+
setSelectValue({
|
|
101
|
+
label: event === null || event === void 0 ? void 0 : event.label,
|
|
102
|
+
dateSelected: false
|
|
103
|
+
});
|
|
104
|
+
setshowRangePicker(false);
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
const handleDateRangeValue = e => {
|
|
108
|
+
var _dayjs, _dayjs$format, _e$, _dayjs2, _dayjs2$format, _e$2;
|
|
109
|
+
const fromDateApi = _dayjs3.default === null || _dayjs3.default === void 0 || (_dayjs = (0, _dayjs3.default)(e === null || e === void 0 || (_e$ = e[0]) === null || _e$ === void 0 ? void 0 : _e$.$d)) === null || _dayjs === void 0 || (_dayjs$format = _dayjs.format) === null || _dayjs$format === void 0 ? void 0 : _dayjs$format.call(_dayjs, format);
|
|
110
|
+
const toDateApi = _dayjs3.default === null || _dayjs3.default === void 0 || (_dayjs2 = (0, _dayjs3.default)(e === null || e === void 0 || (_e$2 = e[1]) === null || _e$2 === void 0 ? void 0 : _e$2.$d)) === null || _dayjs2 === void 0 || (_dayjs2$format = _dayjs2.format) === null || _dayjs2$format === void 0 ? void 0 : _dayjs2$format.call(_dayjs2, format);
|
|
111
|
+
const date = "".concat(fromDateApi, " - ").concat(toDateApi);
|
|
112
|
+
setSelectValue({
|
|
113
|
+
label: date,
|
|
114
|
+
dateSelected: true
|
|
115
|
+
});
|
|
116
|
+
getValues({
|
|
117
|
+
startDate: fromDateApi,
|
|
118
|
+
endDate: toDateApi
|
|
119
|
+
});
|
|
120
|
+
setshowRangePicker(false);
|
|
121
|
+
};
|
|
122
|
+
const handleOnSelectClick = () => {
|
|
123
|
+
setshowRangePicker(false);
|
|
124
|
+
if (selectValue !== null && selectValue !== void 0 && selectValue.prevLabel) {
|
|
125
|
+
const getParsedValue = labelWithDate[selectValue === null || selectValue === void 0 ? void 0 : selectValue.prevLabel];
|
|
126
|
+
getValues({
|
|
127
|
+
startDate: (0, _dayjs3.default)(getParsedValue).format(format),
|
|
128
|
+
endDate: (0, _dayjs3.default)(getDateOffset(0)).format(format)
|
|
129
|
+
});
|
|
130
|
+
setSelectValue(prev => ({
|
|
131
|
+
label: prev === null || prev === void 0 ? void 0 : prev.prevLabel,
|
|
132
|
+
dateSelected: false,
|
|
133
|
+
prevLabel: ''
|
|
134
|
+
}));
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
return /*#__PURE__*/_react.default.createElement(_styles.StyledContainer, null, /*#__PURE__*/_react.default.createElement(_CustomSelect.default, {
|
|
138
|
+
defaultValue: (_selectValue$label = selectValue.label) !== null && _selectValue$label !== void 0 ? _selectValue$label : '',
|
|
139
|
+
value: selectValue === null || selectValue === void 0 ? void 0 : selectValue.label,
|
|
140
|
+
className: "temp" // Need to remove this
|
|
141
|
+
,
|
|
142
|
+
placeholder: "Please select a date",
|
|
143
|
+
optionRender: optionRender,
|
|
144
|
+
options: options,
|
|
145
|
+
onSelectionChange: onSelect,
|
|
146
|
+
onBlur: handleOnSelectClick
|
|
147
|
+
}), showRangePicker && /*#__PURE__*/_react.default.createElement(RangePicker, {
|
|
148
|
+
open: true,
|
|
149
|
+
allowClear: true,
|
|
150
|
+
format: format,
|
|
151
|
+
disabledDate: disabledDate,
|
|
152
|
+
onChange: value => handleDateRangeValue(value),
|
|
153
|
+
className: "custom-picker"
|
|
154
|
+
}));
|
|
155
|
+
}
|
|
156
|
+
DateDropDown.propTypes = {
|
|
157
|
+
options: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
158
|
+
label: _propTypes.default.node,
|
|
159
|
+
value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]).isRequired
|
|
160
|
+
})),
|
|
161
|
+
getValues: _propTypes.default.func,
|
|
162
|
+
format: _propTypes.default.string,
|
|
163
|
+
defaultLabel: _propTypes.default.string,
|
|
164
|
+
disabledDate: _propTypes.default.func,
|
|
165
|
+
subLine: _propTypes.default.string
|
|
166
|
+
};
|
|
167
|
+
DateDropDown.defaultProps = {
|
|
168
|
+
options: [],
|
|
169
|
+
format: 'DD-MMM-YYYY',
|
|
170
|
+
getValues: () => {},
|
|
171
|
+
defaultLabel: null,
|
|
172
|
+
disabledDate: () => {},
|
|
173
|
+
subLine: ''
|
|
174
|
+
};
|
|
175
|
+
var _default = exports.default = DateDropDown;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.StyledContainer = void 0;
|
|
7
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
8
|
+
var _templateObject;
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
11
|
+
var _default = exports.default = {};
|
|
12
|
+
const StyledContainer = exports.StyledContainer = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .custom-picker {\n visibility: hidden;\n }\n .temp{\n width:100%;\n }\n .label-date-dropdown { display:'flex', flexDirection:'row', justifyContent:'space-between'}\n"])));
|