empower-container 0.1.21 → 0.1.24
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +378 -376
- package/dist/cjs/DatetimeFormatter.d.ts +3 -3
- package/dist/cjs/DatetimeFormatter.js +389 -389
- package/dist/cjs/Information.d.ts +10 -10
- package/dist/cjs/Information.js +63 -63
- package/dist/cjs/MenuBar.d.ts +24 -24
- package/dist/cjs/MenuBar.js +539 -539
- package/dist/cjs/Modal.d.ts +33 -33
- package/dist/cjs/Modal.js +44 -44
- package/dist/cjs/assets/Asset.d.ts +17 -16
- package/dist/cjs/assets/Asset.js +31 -30
- package/dist/cjs/constants/Constant.d.ts +15 -15
- package/dist/cjs/constants/Constant.js +35 -35
- package/dist/cjs/index.d.ts +3 -3
- package/dist/cjs/index.js +10 -10
- package/dist/cjs/inputs/Input.d.ts +25 -25
- package/dist/cjs/inputs/Input.js +106 -106
- package/dist/cjs/inputs/InputSelectionHandler.d.ts +3 -3
- package/dist/cjs/inputs/InputSelectionHandler.js +36 -36
- package/dist/cjs/inputs/Select.d.ts +28 -28
- package/dist/cjs/inputs/Select.js +403 -403
- package/dist/esm/DatetimeFormatter.d.ts +3 -3
- package/dist/esm/DatetimeFormatter.js +385 -385
- package/dist/esm/Information.d.ts +10 -10
- package/dist/esm/Information.js +38 -38
- package/dist/esm/MenuBar.d.ts +24 -24
- package/dist/esm/MenuBar.js +534 -534
- package/dist/esm/Modal.d.ts +33 -33
- package/dist/esm/Modal.js +39 -39
- package/dist/esm/assets/Asset.d.ts +17 -16
- package/dist/esm/assets/Asset.js +28 -27
- package/dist/esm/constants/Constant.d.ts +15 -15
- package/dist/esm/constants/Constant.js +32 -32
- package/dist/esm/index.d.ts +3 -3
- package/dist/esm/index.js +3 -3
- package/dist/esm/inputs/Input.d.ts +25 -25
- package/dist/esm/inputs/Input.js +104 -104
- package/dist/esm/inputs/InputSelectionHandler.d.ts +3 -3
- package/dist/esm/inputs/InputSelectionHandler.js +31 -31
- package/dist/esm/inputs/Select.d.ts +28 -28
- package/dist/esm/inputs/Select.js +399 -399
- package/dist/scss/components/_modal.scss +66 -66
- package/dist/scss/elements/_button.scss +133 -107
- package/dist/scss/elements/_index.scss +1 -1
- package/dist/scss/elements/_popover.scss +7 -7
- package/dist/scss/foundation/_colors.scss +59 -59
- package/dist/scss/foundation/_mixins.scss +40 -40
- package/dist/scss/foundation/_normalize.scss +203 -203
- package/dist/scss/foundation/_settings.scss +36 -36
- package/dist/scss/foundation/_typography.scss +94 -94
- package/dist/scss/library/_information.scss +63 -67
- package/dist/scss/library/_input.scss +37 -37
- package/dist/scss/library/_menubar.scss +240 -255
- package/dist/scss/library/_select.scss +258 -258
- package/dist/scss/style.scss +38 -23
- package/package.json +62 -62
- package/tscnofig.old +26 -26
package/dist/esm/MenuBar.js
CHANGED
@@ -1,534 +1,534 @@
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
2
|
-
__assign = Object.assign || function(t) {
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
4
|
-
s = arguments[i];
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
6
|
-
t[p] = s[p];
|
7
|
-
}
|
8
|
-
return t;
|
9
|
-
};
|
10
|
-
return __assign.apply(this, arguments);
|
11
|
-
};
|
12
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
13
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
14
|
-
if (ar || !(i in from)) {
|
15
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
16
|
-
ar[i] = from[i];
|
17
|
-
}
|
18
|
-
}
|
19
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
20
|
-
};
|
21
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
22
|
-
/* eslint-disable no-useless-concat */
|
23
|
-
/* eslint-disable jsx-a11y/anchor-is-valid */
|
24
|
-
import { useState, Fragment, useEffect } from "react";
|
25
|
-
import '../scss/style.scss';
|
26
|
-
// Imports
|
27
|
-
import { SVG_BACK, SVG_CLOSE_GRAY, SVG_ARROWLEFT, SVG_ARROWRIGHT, SVG_CHECK, SVG_ARROWDOWN, SVG_INFORMATION } from './assets/Asset';
|
28
|
-
import { CHECKBOX, MONTH_LIST, INFO_LOADER, PAGE_OPTION } from "./constants/Constant";
|
29
|
-
import Information from './Information';
|
30
|
-
import Input from './inputs/InputSelectionHandler';
|
31
|
-
import datetimeFormatter from './DatetimeFormatter';
|
32
|
-
import { Popover } from './inputs/Select';
|
33
|
-
// Package
|
34
|
-
import { Calendar } from 'react-date-range';
|
35
|
-
var MenuBar = function (_a) {
|
36
|
-
var config = _a.config, info = _a.info, button = _a.button, getActions = _a.getActions, dropdown = _a.dropdown, search = _a.search, pagination = _a.pagination, pivot = _a.pivot, check = _a.check, toggle = _a.toggle, mainButton = _a.mainButton, buttonFooter = _a.buttonFooter, undoButton = _a.undoButton, customClass = _a.customClass, children = _a.children;
|
37
|
-
// React Hooks Popover
|
38
|
-
var _b = useState(null), infoPopover = _b[0], setInfoPopover = _b[1];
|
39
|
-
var _c = useState(null), mainButtonPopover = _c[0], setMainButtonPopover = _c[1];
|
40
|
-
var _d = useState(null), dropdownPopover = _d[0], setDropdownPopover = _d[1];
|
41
|
-
var _e = useState(null), paginationSummaryPopover = _e[0], setPaginationSummaryPopover = _e[1];
|
42
|
-
var _f = useState(null), pivotPopover = _f[0], setPivotPopover = _f[1];
|
43
|
-
var _g = useState(null), filterPopover = _g[0], setFilterPopover = _g[1];
|
44
|
-
var _h = useState(""), calendarYear = _h[0], setCalendarYear = _h[1];
|
45
|
-
var _j = useState(null), minMonthIdx = _j[0], setMinMonthIdx = _j[1];
|
46
|
-
var _k = useState(null), maxMonthIdx = _k[0], setMaxMonthIdx = _k[1];
|
47
|
-
// React Hooks Variables
|
48
|
-
var _l = useState(''), searchTemporaryValue = _l[0], setSearchTemporaryValue = _l[1];
|
49
|
-
var _m = useState(1), goToPage = _m[0], setGoToPage = _m[1];
|
50
|
-
var _o = useState(""), perPageTemporaryValue = _o[0], setPerPageTemporaryValue = _o[1];
|
51
|
-
var _p = useState([]), paginationSummaryFormError = _p[0], setPaginationSummaryFormError = _p[1];
|
52
|
-
var _q = useState(false), loaded = _q[0], setLoaded = _q[1];
|
53
|
-
var _r = useState(0), seconds = _r[0], setSeconds = _r[1];
|
54
|
-
var _s = useState(undoButton && undoButton.show ? true : false), undoShow = _s[0], setUndoShow = _s[1];
|
55
|
-
var _t = useState(false), doneTimer = _t[0], setDoneTimer = _t[1];
|
56
|
-
useEffect(function () {
|
57
|
-
var filteredMonthList = [];
|
58
|
-
if (dropdown && dropdown.minMonth) {
|
59
|
-
filteredMonthList = __spreadArray([], MONTH_LIST, true).filter(function (item) { return (item.value.toLowerCase() === dropdown.minMonth.toLowerCase()); });
|
60
|
-
if (filteredMonthList.length > 0) {
|
61
|
-
minMonthIdx = MONTH_LIST.indexOf(filteredMonthList[0]);
|
62
|
-
setMinMonthIdx(minMonthIdx);
|
63
|
-
}
|
64
|
-
}
|
65
|
-
if (dropdown && dropdown.maxMonth) {
|
66
|
-
filteredMonthList = __spreadArray([], MONTH_LIST, true).filter(function (item) { return (item.value.toLowerCase() === dropdown.maxMonth.toLowerCase()); });
|
67
|
-
if (filteredMonthList.length > 0) {
|
68
|
-
maxMonthIdx = MONTH_LIST.indexOf(filteredMonthList[0]);
|
69
|
-
setMaxMonthIdx(maxMonthIdx);
|
70
|
-
}
|
71
|
-
}
|
72
|
-
if (search && search.value && loaded === false) {
|
73
|
-
setSearchTemporaryValue(search.value);
|
74
|
-
setLoaded(true);
|
75
|
-
}
|
76
|
-
if (undoButton && undoButton.show) {
|
77
|
-
var buttonWithTimer_1 = undoButton.actions && undoButton.actions.constructor === Array && undoButton.actions.length > 0 ? (undoButton.actions.filter(function (item) { return (item.hasOwnProperty('timer') && item.timer !== undefined && item.timer.constructor === Number); })) : [];
|
78
|
-
if (buttonWithTimer_1.length > 0) {
|
79
|
-
if (undoShow !== undoButton.show) {
|
80
|
-
if (buttonWithTimer_1[0] && buttonWithTimer_1[0].hasOwnProperty('timer')) {
|
81
|
-
buttonWithTimer_1[0].timer && setSeconds(buttonWithTimer_1[0].timer);
|
82
|
-
}
|
83
|
-
setDoneTimer(false);
|
84
|
-
setUndoShow(undoButton.show ? true : false);
|
85
|
-
}
|
86
|
-
var myInterval_1 = setInterval(function () {
|
87
|
-
if (seconds > 0) {
|
88
|
-
setSeconds(seconds - 1);
|
89
|
-
}
|
90
|
-
else {
|
91
|
-
if (!doneTimer) {
|
92
|
-
clearInterval(myInterval_1);
|
93
|
-
setDoneTimer(true);
|
94
|
-
returnValues('button', buttonWithTimer_1[0].action, null);
|
95
|
-
}
|
96
|
-
}
|
97
|
-
}, 1000);
|
98
|
-
return function () {
|
99
|
-
clearInterval(myInterval_1);
|
100
|
-
};
|
101
|
-
}
|
102
|
-
}
|
103
|
-
else {
|
104
|
-
setUndoShow(false);
|
105
|
-
}
|
106
|
-
});
|
107
|
-
// Belt Configuration Variables
|
108
|
-
info = info ? (info.constructor === Object && info.infoDetails ? (info) : info.constructor === String ? (info) : INFO_LOADER) : INFO_LOADER;
|
109
|
-
var dropdownTitle = dropdown && (dropdown.type === 'list' || dropdown.type === 'button') ? (dropdown.title ? dropdown.title : "") : dropdown && dropdown.type === 'date-picker-weekly' ? (dropdown.selection && dropdown.selection.startDate && dropdown.selection.endDate ? (dropdown.selection.startDate + ' to ' + dropdown.selection.endDate) : "") : dropdown && dropdown.type === 'date-picker-monthly' ? dropdown.selection.startDate : "";
|
110
|
-
/**
|
111
|
-
* popoverRequestHandler
|
112
|
-
* hide and show the popover of specific action
|
113
|
-
* @param {*} e - event of the click item
|
114
|
-
* @param {*} popover - popover type
|
115
|
-
*/
|
116
|
-
var popoverRequestHandler = function (e, popover, hide) {
|
117
|
-
if (hide === void 0) { hide = false; }
|
118
|
-
switch (popover) {
|
119
|
-
case 'info':
|
120
|
-
var currentTarget_1 = e.currentTarget;
|
121
|
-
if (hide === false && info.constructor === String && info === INFO_LOADER) {
|
122
|
-
actionRequestHandler(e, 'icon', 'info');
|
123
|
-
setInfoPopover(e.currentTarget);
|
124
|
-
setTimeout(function () {
|
125
|
-
setInfoPopover(null);
|
126
|
-
setInfoPopover(currentTarget_1);
|
127
|
-
}, 2000);
|
128
|
-
}
|
129
|
-
else {
|
130
|
-
infoPopover ? setInfoPopover(null) : setInfoPopover(e.currentTarget);
|
131
|
-
}
|
132
|
-
break;
|
133
|
-
case 'dropdown':
|
134
|
-
if (dropdown.type === 'date-picker-monthly' && !dropdownPopover) {
|
135
|
-
dropdown.selection && dropdown.selection.startDate ? setCalendarYear(datetimeFormatter(dropdown.selection.startDate, 'full-year')) : setCalendarYear(new Date());
|
136
|
-
}
|
137
|
-
else if (dropdown.type === 'date-picker-cutoff' && !dropdownPopover) {
|
138
|
-
setCalendarYear(dropdown.currentYear); //need to improve on this one
|
139
|
-
}
|
140
|
-
dropdownPopover ? setDropdownPopover(null) : setDropdownPopover(e.currentTarget);
|
141
|
-
break;
|
142
|
-
case 'pagination-summary':
|
143
|
-
if (!Boolean(paginationSummaryPopover)) {
|
144
|
-
pagination && pagination.page ? setGoToPage(pagination.page) : setGoToPage(1);
|
145
|
-
setPerPageTemporaryValue(pagination.perPage ? pagination.perPage.toString() : '');
|
146
|
-
}
|
147
|
-
paginationSummaryPopover ? setPaginationSummaryPopover(null) : setPaginationSummaryPopover(e.currentTarget);
|
148
|
-
break;
|
149
|
-
case 'pivot':
|
150
|
-
pivotPopover ? setPivotPopover(null) : setPivotPopover(e.currentTarget);
|
151
|
-
break;
|
152
|
-
case 'filter':
|
153
|
-
filterPopover ? setFilterPopover(null) : setFilterPopover(e.currentTarget);
|
154
|
-
break;
|
155
|
-
case 'main-button':
|
156
|
-
if (hide) {
|
157
|
-
setMainButtonPopover(null);
|
158
|
-
}
|
159
|
-
else {
|
160
|
-
mainButtonPopover ? setMainButtonPopover(null) : setMainButtonPopover(e.currentTarget);
|
161
|
-
}
|
162
|
-
break;
|
163
|
-
default:
|
164
|
-
break;
|
165
|
-
}
|
166
|
-
};
|
167
|
-
/**
|
168
|
-
* actionRequestHandler
|
169
|
-
* manipulate the action and data of each action
|
170
|
-
* @param {*} e - event
|
171
|
-
* @param {*} type - action type / can be the action itself
|
172
|
-
* @param {*} action - it can be action type / data depends on the used actions
|
173
|
-
*/
|
174
|
-
var actionRequestHandler = function (e, type, action, hidePopover) {
|
175
|
-
if (hidePopover === void 0) { hidePopover = true; }
|
176
|
-
if (e.preventDefault) {
|
177
|
-
e.preventDefault();
|
178
|
-
}
|
179
|
-
var data = null;
|
180
|
-
var addedParam = null;
|
181
|
-
if (type === 'search') {
|
182
|
-
data = searchTemporaryValue;
|
183
|
-
}
|
184
|
-
else if (type === 'pagination' || type === 'pagination-summary') {
|
185
|
-
data = pagination;
|
186
|
-
}
|
187
|
-
else if (type === 'dropdown' || type === 'pivot' || type === 'main-button' || type === 'button' || type === 'icon' || type === 'check' || type === 'tab' || type === 'toggle') {
|
188
|
-
data = action;
|
189
|
-
action = type;
|
190
|
-
if (dropdown && dropdown.type === 'date-picker-cutoff') {
|
191
|
-
addedParam = calendarYear;
|
192
|
-
}
|
193
|
-
}
|
194
|
-
else if (type === 'undo-button') {
|
195
|
-
data = action;
|
196
|
-
action = type;
|
197
|
-
}
|
198
|
-
if (hidePopover) {
|
199
|
-
popoverRequestHandler(e, type, true);
|
200
|
-
}
|
201
|
-
setTimeout(function () {
|
202
|
-
returnValues(action, data, addedParam);
|
203
|
-
}, 200);
|
204
|
-
};
|
205
|
-
/**
|
206
|
-
* handleChangeFormValue
|
207
|
-
* manipulate the inputs temporary values
|
208
|
-
* @param {*} e - event
|
209
|
-
* @param {*} type - type of the input that has been changed
|
210
|
-
*/
|
211
|
-
var handleChangeFormValue = function (e, type) {
|
212
|
-
switch (type) {
|
213
|
-
case 'search':
|
214
|
-
e.target.value ? setSearchTemporaryValue(e.target.value) : setSearchTemporaryValue("");
|
215
|
-
break;
|
216
|
-
case 'show-per-page':
|
217
|
-
setPerPageTemporaryValue(e.target.value.toString());
|
218
|
-
setGoToPage(1);
|
219
|
-
if (paginationSummaryFormError.indexOf('perPageTemporaryValue') >= 0 && (e !== "")) {
|
220
|
-
paginationSummaryFormError = paginationSummaryFormError.filter(function (item) { return item !== 'perPageTemporaryValue'; });
|
221
|
-
setPaginationSummaryFormError(paginationSummaryFormError);
|
222
|
-
}
|
223
|
-
break;
|
224
|
-
case 'go-to-page':
|
225
|
-
setGoToPage(e.target.value);
|
226
|
-
if (paginationSummaryFormError.indexOf('goToPage') >= 0 && (e.currentTarget.value !== "" || e.currentTarget.value > 1)) {
|
227
|
-
paginationSummaryFormError = paginationSummaryFormError.filter(function (item) { return item !== 'goToPage'; });
|
228
|
-
setPaginationSummaryFormError(paginationSummaryFormError);
|
229
|
-
}
|
230
|
-
break;
|
231
|
-
case 'advanced-filter':
|
232
|
-
returnValues(type, e);
|
233
|
-
break;
|
234
|
-
default:
|
235
|
-
break;
|
236
|
-
}
|
237
|
-
};
|
238
|
-
/**
|
239
|
-
* paginationRequestHandler
|
240
|
-
* manipulate the paginations value depend on the action
|
241
|
-
* @param {*} e - event
|
242
|
-
* @param {*} action - action that the user do
|
243
|
-
*/
|
244
|
-
var paginationRequestHandler = function (e, action) {
|
245
|
-
e.preventDefault();
|
246
|
-
var paginationCopy = __assign({}, pagination);
|
247
|
-
switch (action) {
|
248
|
-
case 'check-pagination-required':
|
249
|
-
var formError = [];
|
250
|
-
if (goToPage === "" || goToPage < 1) {
|
251
|
-
formError.push('goToPage');
|
252
|
-
}
|
253
|
-
if (perPageTemporaryValue === "") {
|
254
|
-
formError.push('perPageTemporaryValue');
|
255
|
-
}
|
256
|
-
return formError;
|
257
|
-
case 'submit':
|
258
|
-
var errorFields = paginationRequestHandler(e, 'check-pagination-required');
|
259
|
-
if (errorFields.length > 0) {
|
260
|
-
setPaginationSummaryFormError(errorFields);
|
261
|
-
}
|
262
|
-
else {
|
263
|
-
pagination.perPage = perPageTemporaryValue ? parseInt(perPageTemporaryValue) : pagination.perPage;
|
264
|
-
pagination.page = goToPage ? ((pagination.perPage * goToPage) > pagination.total ? (Math.floor(pagination.total / pagination.perPage) + 1) : parseInt(goToPage)) : 1;
|
265
|
-
pagination.counter = (pagination.page * pagination.perPage) > pagination.total ? pagination.total : (pagination.page * pagination.perPage);
|
266
|
-
// if (paginationCopy.perPage !== pagination.perPage || paginationCopy.page !== pagination.page || paginationCopy.counter !== pagination.counter) {
|
267
|
-
actionRequestHandler(e, 'pagination-summary', 'pagination');
|
268
|
-
// }
|
269
|
-
}
|
270
|
-
break;
|
271
|
-
case 'next':
|
272
|
-
pagination.page = ((pagination.page++) * pagination.perPage) > pagination.total ? (Math.floor(pagination.total / pagination.perPage) + 1) : pagination.page++;
|
273
|
-
pagination.counter = (pagination.page * pagination.perPage) > pagination.total ? pagination.total : (pagination.page * pagination.perPage);
|
274
|
-
if (paginationCopy.page !== pagination.page || paginationCopy.counter !== pagination.counter) {
|
275
|
-
actionRequestHandler(e, 'pagination', 'pagination');
|
276
|
-
}
|
277
|
-
break;
|
278
|
-
case 'prev':
|
279
|
-
pagination.page = pagination.page > 1 ? pagination.page -= 1 : pagination.page;
|
280
|
-
pagination.counter = pagination.page * pagination.perPage;
|
281
|
-
if (paginationCopy.page !== pagination.page || paginationCopy.counter !== pagination.counter) {
|
282
|
-
actionRequestHandler(e, 'pagination', 'pagination');
|
283
|
-
}
|
284
|
-
break;
|
285
|
-
default:
|
286
|
-
break;
|
287
|
-
}
|
288
|
-
};
|
289
|
-
/**
|
290
|
-
* checkboxRequestHandler
|
291
|
-
* select all / unselect all items
|
292
|
-
* @param {*} e - event
|
293
|
-
* @param {*} action - action of the checkbox
|
294
|
-
*/
|
295
|
-
var checkboxRequestHandler = function (e, action) {
|
296
|
-
// e.preventDefault();
|
297
|
-
if (check.disabled !== true) {
|
298
|
-
if (action === 'all') {
|
299
|
-
actionRequestHandler(e, 'check', 'all');
|
300
|
-
}
|
301
|
-
else {
|
302
|
-
actionRequestHandler(e, 'check', 'none');
|
303
|
-
}
|
304
|
-
}
|
305
|
-
};
|
306
|
-
/**
|
307
|
-
* onDatePickerChange
|
308
|
-
* change the datepicker value
|
309
|
-
* @param {*} e - event
|
310
|
-
* @param {*} type - action type
|
311
|
-
*/
|
312
|
-
var onDatePickerChange = function (e, type) {
|
313
|
-
if (dropdown.type === 'date-picker-weekly') {
|
314
|
-
dropdown.selection.startDate = datetimeFormatter(e, 'start-of-Week');
|
315
|
-
dropdown.selection.endDate = datetimeFormatter(e, 'end-of-Week');
|
316
|
-
}
|
317
|
-
actionRequestHandler(e, type, dropdown.selection);
|
318
|
-
};
|
319
|
-
/**
|
320
|
-
* dateMonthlyPickerHandler
|
321
|
-
* selection of month on a calendar and changing of year
|
322
|
-
* @param {*} e - event
|
323
|
-
* @param {*} action - action type
|
324
|
-
*/
|
325
|
-
var dateMonthlyPickerHandler = function (e, action, data) {
|
326
|
-
if (data === void 0) { data = ''; }
|
327
|
-
var _a = __assign({}, dropdown), maxYear = _a.maxYear, minYear = _a.minYear;
|
328
|
-
var newDateValue = null;
|
329
|
-
var standardDate = null;
|
330
|
-
var selectedMonthDate = null;
|
331
|
-
var monthIdx = null;
|
332
|
-
var fullYear = null;
|
333
|
-
if (action === 'next') {
|
334
|
-
if (!maxYear || (maxYear && parseInt(maxYear) >= calendarYear + 1)) {
|
335
|
-
calendarYear += 1;
|
336
|
-
setCalendarYear(calendarYear);
|
337
|
-
}
|
338
|
-
}
|
339
|
-
else if (action === 'prev') {
|
340
|
-
if (!minYear || (minYear && parseInt(minYear) <= calendarYear - 1)) {
|
341
|
-
calendarYear -= 1;
|
342
|
-
setCalendarYear(calendarYear);
|
343
|
-
}
|
344
|
-
}
|
345
|
-
else if (action === 'month-selection') {
|
346
|
-
newDateValue = datetimeFormatter(data + ' ' + calendarYear, 'month-year');
|
347
|
-
actionRequestHandler(e, 'dropdown', newDateValue);
|
348
|
-
}
|
349
|
-
else if (action === 'next-month') {
|
350
|
-
standardDate = datetimeFormatter(dropdown.selection.startDate, 'date-standard');
|
351
|
-
selectedMonthDate = new Date(new Date(standardDate).toLocaleString('en-US', { timeZone: 'Asia/Manila' })); //making the date picked as the default gmt so that the new date wont adjust by timezone;
|
352
|
-
monthIdx = selectedMonthDate.getMonth();
|
353
|
-
fullYear = selectedMonthDate.getFullYear();
|
354
|
-
if (monthIdx + 1 < 12) {
|
355
|
-
monthIdx = monthIdx + 1;
|
356
|
-
}
|
357
|
-
else {
|
358
|
-
monthIdx = 0;
|
359
|
-
fullYear = fullYear + 1;
|
360
|
-
}
|
361
|
-
if ((!maxYear && !maxMonthIdx) || fullYear < parseInt(maxYear) || (fullYear === parseInt(maxYear) && monthIdx <= parseInt(maxMonthIdx))) {
|
362
|
-
newDateValue = datetimeFormatter(MONTH_LIST[monthIdx].value + ' ' + fullYear, 'month-year');
|
363
|
-
actionRequestHandler(e, 'dropdown', newDateValue, false);
|
364
|
-
}
|
365
|
-
}
|
366
|
-
else if (action === 'prev-month') {
|
367
|
-
standardDate = datetimeFormatter(dropdown.selection.startDate, 'date-standard');
|
368
|
-
selectedMonthDate = new Date(new Date(standardDate).toLocaleString('en-US', { timeZone: 'Asia/Manila' })); //making the date picked as the default gmt so that the new date wont adjust by timezone;
|
369
|
-
monthIdx = selectedMonthDate.getMonth();
|
370
|
-
fullYear = selectedMonthDate.getFullYear();
|
371
|
-
if (monthIdx - 1 >= 0) {
|
372
|
-
monthIdx = monthIdx - 1;
|
373
|
-
}
|
374
|
-
else {
|
375
|
-
monthIdx = 11;
|
376
|
-
fullYear = fullYear - 1;
|
377
|
-
}
|
378
|
-
if ((!minYear && !minMonthIdx) || fullYear > parseInt(minYear) || (fullYear === parseInt(minYear) && monthIdx >= parseInt(minMonthIdx))) {
|
379
|
-
var newDateValue_1 = datetimeFormatter(MONTH_LIST[monthIdx].value + ' ' + fullYear, 'month-year');
|
380
|
-
actionRequestHandler(e, 'dropdown', newDateValue_1, false);
|
381
|
-
}
|
382
|
-
}
|
383
|
-
};
|
384
|
-
var dateCutoffPickerHandler = function (e, label, value) {
|
385
|
-
var cutOffVal = {
|
386
|
-
"label": label,
|
387
|
-
"value": value,
|
388
|
-
};
|
389
|
-
actionRequestHandler(e, 'dropdown', cutOffVal);
|
390
|
-
};
|
391
|
-
/**
|
392
|
-
* returnValues
|
393
|
-
* return manipulated value from beltConfig to the parent component
|
394
|
-
* @param {*} action - done action on beltConfig
|
395
|
-
* @param {*} data - manipulated data from the action
|
396
|
-
*/
|
397
|
-
var returnValues = function (action, data, addedParam) {
|
398
|
-
if (addedParam === void 0) { addedParam = null; }
|
399
|
-
return getActions ? getActions(action, data, addedParam) : false;
|
400
|
-
};
|
401
|
-
/**
|
402
|
-
* dateMonthlyPickerIsSelected
|
403
|
-
* determine if month is selected
|
404
|
-
* @param {*} month - month value
|
405
|
-
*/
|
406
|
-
var dateMonthlyPickerIsSelected = function (month) {
|
407
|
-
var isSelected = false;
|
408
|
-
if (dropdown && dropdown.selection && dropdown.selection.startDate && calendarYear) {
|
409
|
-
var monthYear = month + ' ' + calendarYear;
|
410
|
-
isSelected = datetimeFormatter(dropdown.selection.startDate.toString(), 'month-year') === datetimeFormatter(monthYear, 'month-year') ? true : false;
|
411
|
-
}
|
412
|
-
return isSelected;
|
413
|
-
};
|
414
|
-
var isDisabledDropdownPagination = function (action) {
|
415
|
-
var _a = __assign({}, dropdown), maxYear = _a.maxYear, minYear = _a.minYear, selection = _a.selection;
|
416
|
-
var selectedMonthDate = new Date(selection.startDate);
|
417
|
-
var monthIdx = selectedMonthDate.getMonth();
|
418
|
-
var fullYear = selectedMonthDate.getFullYear();
|
419
|
-
if (action === 'prev') {
|
420
|
-
if (minYear && minMonthIdx && fullYear === parseInt(minYear) && monthIdx === parseInt(minMonthIdx)) {
|
421
|
-
return ' is-disabled';
|
422
|
-
}
|
423
|
-
else {
|
424
|
-
return '';
|
425
|
-
}
|
426
|
-
}
|
427
|
-
else if (action === 'next') {
|
428
|
-
if (maxYear && maxMonthIdx && fullYear === parseInt(maxYear) && monthIdx === parseInt(maxMonthIdx)) {
|
429
|
-
return ' is-disabled';
|
430
|
-
}
|
431
|
-
else {
|
432
|
-
return '';
|
433
|
-
}
|
434
|
-
}
|
435
|
-
};
|
436
|
-
var toggleSelectionHandler = function (event, value) {
|
437
|
-
event.preventDefault();
|
438
|
-
actionRequestHandler(event, 'toggle', value, false);
|
439
|
-
};
|
440
|
-
return (_jsxs("div", __assign({ className: customClass && customClass.constructor === String ? customClass : 'custom-card' }, { children: [_jsxs("div", __assign({ className: "em-card-belt" }, { children: [_jsxs("div", __assign({ className: "em-belt-left" }, { children: [_jsxs("div", __assign({ className: "em-beltleft-container" }, { children: [
|
441
|
-
// Back Icon Configuration
|
442
|
-
config && config.iconType && ((config.iconType.constructor === Array && config.iconType.length > 0 && config.iconType.indexOf("back") >= 0) || (config.iconType === 'back')) ? (_jsx("a", __assign({ className: "belt-icon icon-back", href: "#", onClick: function (event) { return actionRequestHandler(event, 'icon', 'back'); }, "data-testid": "menubar-back" }, { children: SVG_BACK }))) : null,
|
443
|
-
// Check Icon Configuration
|
444
|
-
config && config.iconType && ((config.iconType.constructor === Array && config.iconType.length > 0 && config.iconType.indexOf("check") >= 0) || (config.iconType === 'check')) ? (_jsx("div", __assign({ className: "belt-icon-check", "data-testid": "menubar-checkbox" }, { children: check ? (check.selected === 0 ? (_jsx("div", __assign({ onClick: function (event) { return checkboxRequestHandler(event, 'all'); } }, { children: CHECKBOX.NONE }))) : check.selected > 0 && check.selected < check.total ? (_jsx("div", __assign({ onClick: function (event) { return checkboxRequestHandler(event, 'all'); } }, { children: CHECKBOX.FEW }))) : check.selected === check.total ? (_jsx("div", __assign({ onClick: function (event) { return checkboxRequestHandler(event, 'none'); } }, { children: CHECKBOX.ALL }))) : _jsx("div", { children: CHECKBOX.NONE })) : _jsx("div", { children: CHECKBOX.NONE }) }))) : null,
|
445
|
-
// Standard Icon Configuration
|
446
|
-
config && config.iconType && ((config.iconType.constructor === Array && config.iconType.length > 0 && config.iconType.indexOf("standard") >= 0) || (config.iconType === 'standard')) ? (_jsx("div", __assign({ className: "belt-icon", "data-testid": "menubar-standard-icon" }, { children: config.icon }))) : null, _jsxs("div", __assign({ className: "belt-title" }, { children: [
|
447
|
-
// Title Configuration
|
448
|
-
check && check.selected && check.selected > 0 && check.selected < check.total ? (_jsx("h6", { children: "".concat(check.selected, " ").concat(check.selected === 1 ? 'item selected' : 'items selected') })) : check && check.selected && check.selected === check.total ? (_jsx("h6", { children: "All item(s) selected" })) : config && config.title && (config.title.constructor === String || config.title.constructor === Object) ? (_jsx("h6", __assign({ className: "config-title", "data-testid": "menubar-title" }, { children: config.title }))) : null,
|
449
|
-
// Title Information Configuration
|
450
|
-
config && config.titleDescription ? (_jsx("p", { children: config.titleDescription })) : null] })),
|
451
|
-
// Information Configuration
|
452
|
-
config && config.showInfo.constructor === Boolean && config.showInfo === true ? (_jsx(Fragment, { children: _jsxs("div", __assign({ className: "em-belt-info" }, { children: [_jsx("a", __assign({ href: "#", onClick: function (event) { return popoverRequestHandler(event, 'info'); }, "data-testid": "menubar-information" }, { children: _jsx("div", __assign({ className: "em-info-icon" }, { children: SVG_INFORMATION })) })), _jsx(Popover, __assign({ id: "InfoPopOver", open: Boolean(infoPopover), className: Boolean(dropdownPopover) ? 'open-popover' : '', onClick: function (event) { return popoverRequestHandler(event, 'info'); } }, { children: _jsx(Information, { items: info && info.infoDetails ? info.infoDetails : info, listRow: info && info.listRow ? info.listRow : [], desc: info && info.listRow && info.listRow.length > 0 ? false : true, title: config && config.title ? config.title : null, hide: function (event) { return popoverRequestHandler(event, 'info', true); } }) }))] })) })) : null,
|
453
|
-
// Additional title on the modal
|
454
|
-
config && config.addedTitle ? (_jsx("p", { children: config.addedTitle })) : null] })), _jsxs("div", __assign({ className: "em-beltleft-cta" }, { children: [
|
455
|
-
// Main Button
|
456
|
-
mainButton && mainButton.show ? (mainButton.actions && mainButton.actions.constructor === Array && mainButton.actions.length > 0 ? (_jsx(Fragment, { children: _jsxs("div", __assign({ className: "em-dropdown" }, { children: [_jsxs("a", __assign({ className: "em-button belt-action-main", id: "main-button", href: "#", onClick: function (event) { return popoverRequestHandler(event, 'main-button'); } }, { children: [_jsx("div", __assign({ className: "belt-icon" }, { children: mainButton.icon ? mainButton.icon : '' })), _jsx("span", { children: mainButton.label ? mainButton.label : 'File a Request' })] })), _jsx(Popover, __assign({ id: "mainButtonPopover", open: Boolean(mainButtonPopover), onClick: function (event) { return popoverRequestHandler(event, 'main-button'); }, className: Boolean(dropdownPopover) ? 'open-popover' : '' }, { children: _jsx("div", __assign({ className: "popover em-popover-list" }, { children: mainButton.actions.map(function (btn, idx) {
|
457
|
-
return _jsx("a", __assign({ href: "#", onClick: function (event) { return actionRequestHandler(event, 'main-button', btn.action); } }, { children: btn.label }), idx);
|
458
|
-
}) })) }))] })) })) : mainButton.actions && mainButton.actions.constructor === Array && mainButton.actions.length === 1 ? (mainButton.actions.map(function (btn, idx) {
|
459
|
-
return (_jsxs("a", __assign({ className: btn.class ? 'belt-action ' + btn.class : 'belt-action', href: "#", onClick: function (event) { return actionRequestHandler(event, 'main-button', btn.action); } }, { children: [_jsx("div", __assign({ className: "belt-icon " }, { children: btn.icon ? btn.icon : '' })), _jsx("span", { children: btn.label ? btn.label : '' })] }), idx));
|
460
|
-
})) : null) : null,
|
461
|
-
// Button Actions Configuration
|
462
|
-
button && button.show && button.show.constructor === Boolean &&
|
463
|
-
button.actions && button.actions.constructor === Array && button.actions.length > 0 ? (button.actions.map(function (btn, idx) {
|
464
|
-
return (_jsxs("a", __assign({ className: btn.class ? btn.class : ' belt-action' + ' ' + (idx === 0 ? 'is-primary' : ''), href: "#", onClick: function (event) { return actionRequestHandler(event, 'button', btn.action); }, "data-testid": "menubar-button" }, { children: [_jsx("div", __assign({ className: "belt-icon belt-buttons" }, { children: btn.icon ? btn.icon : '' })), _jsx("span", __assign({ "data-testid": 'button-action-' + btn.action }, { children: btn.label ? btn.label : '' }))] }), idx));
|
465
|
-
})) : null,
|
466
|
-
// UndoButton Actions Configuration
|
467
|
-
undoButton && undoButton.show && !undoButton.isFooter &&
|
468
|
-
undoButton.actions && undoButton.actions.constructor === Array && undoButton.actions.length > 0 ? (undoButton.actions.map(function (btn, idx) {
|
469
|
-
return seconds > 0 || (btn.timer !== undefined) ? (_jsxs("a", __assign({ className: btn.class ? btn.class : 'belt-action' + ' ' + (idx === 0 ? 'is-primary' : '') + (btn.disabled === true ? ' is-disabled' : ' em-button outline button-undo'), href: "#", "data-testid": "undo-button-".concat(btn.action) }, (btn.disabled === true ? { onClick: function (event) { event.preventDefault(); } } : { onClick: function (event) { return actionRequestHandler(event, 'undo-button', btn.action); } }), { children: [_jsx("div", __assign({ className: "belt-icon" }, { children: btn.icon ? btn.icon : '' })), _jsx("span", __assign({ "data-testid": "undo-button-text" }, { children: btn.label ? ("".concat(btn.label, " ").concat(btn.timer !== undefined && btn.timer.constructor === Number && seconds > 0 ? ("in ".concat(seconds, "s")) : '')) : '' }))] }), idx)) : null;
|
470
|
-
})) : null] }))] })), _jsxs("div", __assign({ className: "em-belt-right" }, { children: [
|
471
|
-
// Dropdown Actions Configuration
|
472
|
-
dropdown && dropdown.show && dropdown.show.constructor === Boolean ? (_jsx(Fragment, { children: _jsxs("div", __assign({ className: "em-dropdown" }, { children: [dropdown.type === 'list' ? (_jsxs("a", __assign({ className: "belt-dropdown", id: "add", href: "#", onClick: function (event) { return popoverRequestHandler(event, 'dropdown'); } }, { children: [_jsx("div", __assign({ className: "icon-add" }, { children: dropdown.icon ? dropdown.icon : '' })), _jsx("span", { children: dropdownTitle })] }))) : dropdown.type === 'date-picker-weekly' ? (_jsxs("a", __assign({ id: "months", className: "belt-dropdown ".concat(Boolean(dropdownPopover) ? 'is-active' : ''), href: "#", onClick: function (event) { return popoverRequestHandler(event, 'dropdown'); } }, { children: [_jsx("span", { children: dropdownTitle }), _jsx("div", __assign({ className: "icon-arrowdown" }, { children: SVG_ARROWDOWN }))] }))) : dropdown.type === 'date-picker-monthly' ? (_jsxs(Fragment, { children: [_jsxs("a", __assign({ id: "months", className: "belt-dropdown ".concat(Boolean(dropdownPopover) ? 'is-active' : ''), href: "#", onClick: function (event) { return popoverRequestHandler(event, 'dropdown'); } }, { children: [_jsx("span", { children: dropdownTitle }), _jsx("div", __assign({ className: "icon-arrowdown" }, { children: SVG_ARROWDOWN }))] })), dropdown.showPagination ? (_jsxs(Fragment, { children: [_jsx("a", __assign({ className: 'belt-prev' + isDisabledDropdownPagination('prev'), href: "#", onClick: function (event) { return dateMonthlyPickerHandler(event, 'prev-month'); } }, { children: _jsx("div", __assign({ className: "belt-icon" }, { children: SVG_ARROWLEFT })) })), _jsx("a", __assign({ className: 'belt-next' + isDisabledDropdownPagination('next'), href: "#", onClick: function (event) { return dateMonthlyPickerHandler(event, 'next-month'); } }, { children: _jsx("div", __assign({ className: "belt-icon" }, { children: SVG_ARROWRIGHT })) }))] })) : null] })) : dropdown.type === 'date-picker-cutoff' ? ((_jsx("a", __assign({ className: "belt-dropdown", id: "add", href: "#", onClick: function (event) { return popoverRequestHandler(event, 'dropdown'); } }, { children: _jsx("span", { children: dropdown.cutoffValue && dropdown.cutoffValue.label ? dropdown.cutoffValue.label : '' }) })))) : dropdown.type === 'button' ? (_jsxs("a", __assign({ className: "belt-dropdown", id: "add", href: "#", onClick: function (event) { return actionRequestHandler(event, 'button', dropdown.action); } }, { children: [_jsx("div", __assign({ className: "belt-icon" }, { children: dropdown.icon ? dropdown.icon : '' })), _jsx("span", { children: dropdownTitle })] }))) : (_jsx("a", __assign({ className: "belt-dropdown", id: "add", href: "#", onClick: function (event) { return popoverRequestHandler(event, 'dropdown'); } }, { children: _jsx("span", { children: dropdownTitle }) }))), _jsx(Popover, __assign({ id: "dropdownPopover", className: Boolean(dropdownPopover) ? 'open-popover' : '', open: Boolean(dropdownPopover), onClick: function (event) { return popoverRequestHandler(event, 'dropdown'); } }, { children: dropdown.type === 'list' ? (dropdown.actions && dropdown.actions.constructor === Array && dropdown.actions.length > 0 ? (_jsx("div", __assign({ className: "popover em-popover-list" }, { children: dropdown.actions.map(function (drpdwn, idx) {
|
473
|
-
return _jsx("a", __assign({ href: "#", onClick: function (event) { return actionRequestHandler(event, 'dropdown', drpdwn.value); } }, { children: drpdwn.label }), idx);
|
474
|
-
}) }))) : null) : dropdown.type === 'date-picker-weekly' ? (_jsx("div", __assign({ className: "popover" }, { children: _jsx(Calendar, { className: "dateRangePickerInput", onChange: function (event) { return onDatePickerChange(event, 'dropdown'); } }) }))) : dropdown.type === 'date-picker-monthly' ? (_jsxs("div", __assign({ className: "popover em-popover-months" }, { children: [_jsxs("div", __assign({ className: "list-years" }, { children: [_jsx("button", __assign({ onClick: function (event) { return dateMonthlyPickerHandler(event, 'prev'); } }, { children: SVG_ARROWLEFT })), _jsx("div", { children: calendarYear }), _jsx("button", __assign({ onClick: function (event) { return dateMonthlyPickerHandler(event, 'next'); } }, { children: SVG_ARROWRIGHT }))] })), _jsx("div", __assign({ className: "list-months" }, { children: MONTH_LIST.map(function (action, idx) {
|
475
|
-
return dropdown.minYear && dropdown.minYear.toString() === calendarYear.toString() && minMonthIdx && minMonthIdx > idx ? (_jsx("a", __assign({ href: "#", className: 'is-disabled', onClick: function (event) { event.preventDefault(); } }, { children: action.label }), idx)) : dropdown.maxYear && dropdown.maxYear.toString() === calendarYear.toString() && maxMonthIdx && maxMonthIdx < idx ? (_jsx("a", __assign({ href: "#", className: 'is-disabled', onClick: function (event) { event.preventDefault(); } }, { children: action.label }), idx)) : (_jsx("a", __assign({ className: dateMonthlyPickerIsSelected(action.label) ? 'is-selected' : '', href: "#", onClick: function (event) { return dateMonthlyPickerHandler(event, 'month-selection', action.value); } }, { children: action.label }), idx));
|
476
|
-
}) }))] }))) : dropdown.type === 'date-picker-cutoff' ? (_jsxs("div", __assign({ className: "popover em-popover-months" }, { children: [_jsxs("div", __assign({ className: "list-years" }, { children: [_jsx("button", __assign({ onClick: function (event) { return dateMonthlyPickerHandler(event, 'prev'); } }, { children: _jsx("img", { src: "/images/icons/icon-arrowleft-white.svg", alt: "" }) })), _jsx("div", { children: calendarYear }), _jsx("button", __assign({ onClick: function (event) { return dateMonthlyPickerHandler(event, 'next'); } }, { children: _jsx("img", { src: "/images/icons/icon-arrowright-white.svg", alt: "" }) }))] })), _jsx("div", __assign({ className: "list-months" }, { children: dropdown.cutoffDates !== null && dropdown.cutoffDates.length > 0 ? (dropdown.cutoffDates.map(function (action, idx) {
|
477
|
-
var classSelect;
|
478
|
-
if (JSON.stringify(action.label) === JSON.stringify(dropdown.cutoffValue.label)) {
|
479
|
-
if (dropdown.currentYear === calendarYear) {
|
480
|
-
classSelect = 'is-selected';
|
481
|
-
}
|
482
|
-
else {
|
483
|
-
classSelect = '';
|
484
|
-
}
|
485
|
-
// classSelect = 'is-selected';
|
486
|
-
}
|
487
|
-
else {
|
488
|
-
classSelect = '';
|
489
|
-
}
|
490
|
-
return _jsx("a", __assign({ className: classSelect, href: "#", onClick: function (event) { return dateCutoffPickerHandler(event, action.label, action.value); } }, { children: action.label }), idx);
|
491
|
-
})) : null }))] }))) : null }))] })) })) : null, pagination && pagination.show && pagination.show.constructor === Boolean ? (_jsxs(Fragment, { children: [!pagination.hideSummary || pagination.hideSummary === false ? (_jsx(Fragment, { children: _jsxs("div", __assign({ className: "em-dropdown" }, { children: [_jsxs("a", __assign({ className: "pagination-summary", href: "#", id: "pagination", onClick: function (event) { return popoverRequestHandler(event, 'pagination-summary'); }, "data-testid": "menubar-pagination" }, { children: [(pagination.counter > 0 ? (((pagination.page - 1) * pagination.perPage) + 1) : 0)
|
492
|
-
+ ' - ' +
|
493
|
-
(pagination.page * pagination.perPage > pagination.total ?
|
494
|
-
(pagination.total ? pagination.total : pagination.counter) :
|
495
|
-
pagination.page * pagination.perPage), " of ", pagination.total ? pagination.total : 0] })), _jsx(Popover, __assign({ id: "paginationSummaryPopover", className: Boolean(dropdownPopover) ? 'open-popover' : '', open: Boolean(paginationSummaryPopover), onClick: function (event) { return popoverRequestHandler(event, 'pagination-summary'); } }, { children: _jsxs("div", __assign({ className: "popover em-popover-input" }, { children: [_jsxs("div", __assign({ className: 'e-field field field-input' + (paginationSummaryFormError.indexOf('perPageTemporaryValue') >= 0 ? ' is-invalid' : '') }, { children: [_jsx("label", __assign({ className: 'e-input-label' }, { children: "SHOW" })), _jsx(Input, { config: {
|
496
|
-
id: 'paginationPerPage',
|
497
|
-
type: 'select',
|
498
|
-
placeholder: '-',
|
499
|
-
value: perPageTemporaryValue,
|
500
|
-
options: PAGE_OPTION
|
501
|
-
}, onChanged: function (event) { return handleChangeFormValue(event, 'show-per-page'); } })] })), _jsxs("div", __assign({ className: 'e-field field field-input' + (paginationSummaryFormError.indexOf('goToPage') >= 0 ? ' is-invalid' : '') }, { children: [_jsx("label", __assign({ className: 'e-input-label' }, { children: "GO TO PAGE" })), _jsx("div", __assign({ className: "e-input" }, { children: _jsx(Input, { config: {
|
502
|
-
id: 'goToPage',
|
503
|
-
type: 'number',
|
504
|
-
value: goToPage,
|
505
|
-
placeholder: '-',
|
506
|
-
maxLength: 5,
|
507
|
-
min: '1',
|
508
|
-
}, onChanged: function (event) { return handleChangeFormValue(event, 'go-to-page'); } }) }))] })), _jsx("button", __assign({ className: "button-check", onClick: function (event) { return paginationRequestHandler(event, 'submit'); } }, { children: SVG_CHECK }))] })) }))] })) })) : null, _jsx("a", __assign({ className: (pagination.page * pagination.perPage) > pagination.perPage ? 'belt-prev' : 'belt-prev is-disabled', href: "#" }, (((pagination.page * pagination.perPage) > pagination.perPage) ? { onClick: function (event) { return paginationRequestHandler(event, 'prev'); } } : { onClick: function (event) { event.preventDefault(); } }), { children: _jsx("div", __assign({ className: "belt-icon" }, { children: SVG_ARROWLEFT })) })), _jsx("a", __assign({ className: pagination.total <= (pagination.page * pagination.perPage) ? 'belt-next is-disabled' : 'belt-next', href: "#" }, ((pagination.total <= (pagination.page * pagination.perPage)) ? { onClick: function (event) { event.preventDefault(); } } : { onClick: function (event) { return paginationRequestHandler(event, 'next'); } }), { children: _jsx("div", __assign({ className: "belt-icon" }, { children: SVG_ARROWRIGHT })) }))] })) : null,
|
509
|
-
// Pivot Configuration
|
510
|
-
pivot && pivot.show ? (_jsx(Fragment, { children: _jsxs("div", __assign({ className: "em-dropdown" }, { children: [_jsxs("a", __assign({ id: "months", className: "belt-dropdown ", href: "#", onClick: function (event) { return popoverRequestHandler(event, 'pivot'); }, "data-testid": "menubar-pivot" }, { children: [_jsx("span", { children: pivot.selected && pivot.actions &&
|
511
|
-
pivot.actions.constructor === Array && pivot.actions.length > 0 ? (pivot.actions.filter(function (item) { return (item.value === pivot.selected); }).length > 0 ? (pivot.actions.filter(function (item) { return (item.value === pivot.selected); })[0].label) : 'None') : 'None' }), _jsx("div", __assign({ className: "icon-arrowdown" }, { children: SVG_ARROWDOWN }))] })), _jsx(Popover, __assign({ id: "pivotPopover", className: Boolean(dropdownPopover) ? 'open-popover' : '', open: Boolean(pivotPopover), onClick: function (event) { return popoverRequestHandler(event, 'pivot'); } }, { children: pivot.actions && pivot.actions.constructor === Array && pivot.actions.length > 0 ? (_jsx("div", __assign({ className: "popover em-popover-list" }, { children: pivot.actions.map(function (pvt, idx) {
|
512
|
-
return _jsx("a", __assign({ href: "#", onClick: function (event) { return actionRequestHandler(event, 'pivot', pvt.value); } }, { children: pvt.label }), idx);
|
513
|
-
}) }))) : null }))] })) })) : null,
|
514
|
-
// Close Icon Configuration
|
515
|
-
config && config.iconType && ((config.iconType.constructor === Array && config.iconType.length > 0 && config.iconType.indexOf("close") >= 0) || (config.iconType === 'close')) ? (_jsx("a", __assign({ className: "
|
516
|
-
// Search Configuration
|
517
|
-
search && search.show && search.show.constructor === Boolean ? (_jsx("div", __assign({ className: "field em-card-search" }, { children: _jsx("div", __assign({ className: "e-input" }, { children: _jsx(Input, { config: {
|
518
|
-
id: 'search',
|
519
|
-
type: 'text',
|
520
|
-
placeholder: search.placeholder ? search.placeholder : 'Search',
|
521
|
-
maxLength: 30,
|
522
|
-
readOnly: false,
|
523
|
-
disabled: false,
|
524
|
-
value: searchTemporaryValue ? searchTemporaryValue : ''
|
525
|
-
}, onChanged: function (event) { return handleChangeFormValue(event, 'search'); }, keyPressed: function (event) { return actionRequestHandler(event, 'search', 'search'); } }) })) }))) : null, children, _jsxs("div", __assign({ className: "em-card-footer" }, { children: [buttonFooter && buttonFooter.show && buttonFooter.actions.length > 0 &&
|
526
|
-
_jsx("div", __assign({ className: buttonFooter.className }, { children: buttonFooter.actions.map(function (btn, idx) { return (btn.show &&
|
527
|
-
_jsxs("a", __assign({ className: 'em-button ' + btn.className, href: "#" }, (btn.disabled === true ? { onClick: function (event) { event.preventDefault(); } } : { onClick: function (event) { return actionRequestHandler(event, 'button', btn.action); } }), { "data-testid": btn.id && btn.id.constructor === String ? btn.id : 'default-button-footer' }, { children: [_jsx("div", __assign({ className: "icon" }, { children: btn.icon ? btn.icon : '' })), _jsx("span", __assign({ "data-testid": 'button-action-' + btn.action }, { children: btn.label ? btn.label : '' }))] }), idx)); }) })),
|
528
|
-
// UndoButton Actions Configuration
|
529
|
-
undoButton && undoButton.show && undoButton.isFooter &&
|
530
|
-
undoButton.actions && undoButton.actions.constructor === Array && undoButton.actions.length > 0 ? (undoButton.actions.map(function (btn, idx) {
|
531
|
-
return seconds > 0 || (btn.timer !== undefined) ? (_jsxs("a", __assign({ className: btn.class ? btn.class : 'em-button ' + ' ' + (idx === 0 ? 'disabled' : 'outline button-undo') + (btn.disabled === true ? ' is-disabled button-undo' : ''), href: "#", "data-testid": "undo-button-".concat(btn.action) }, (btn.disabled === true ? { onClick: function (event) { event.preventDefault(); } } : { onClick: function (event) { return actionRequestHandler(event, 'undo-button', btn.action); } }), { children: [_jsx("div", __assign({ className: "belt-icon" }, { children: btn.icon ? btn.icon : '' })), _jsx("span", __assign({ "data-testid": "undo-button-text" }, { children: btn.label ? ("".concat(btn.label, " ").concat(btn.timer !== undefined && btn.timer.constructor === Number && seconds > 0 ? ("in ".concat(seconds, "s")) : '')) : '' }))] }), idx)) : null;
|
532
|
-
})) : null] }))] })));
|
533
|
-
};
|
534
|
-
export default MenuBar;
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
2
|
+
__assign = Object.assign || function(t) {
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
4
|
+
s = arguments[i];
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
6
|
+
t[p] = s[p];
|
7
|
+
}
|
8
|
+
return t;
|
9
|
+
};
|
10
|
+
return __assign.apply(this, arguments);
|
11
|
+
};
|
12
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
13
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
14
|
+
if (ar || !(i in from)) {
|
15
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
16
|
+
ar[i] = from[i];
|
17
|
+
}
|
18
|
+
}
|
19
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
20
|
+
};
|
21
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
22
|
+
/* eslint-disable no-useless-concat */
|
23
|
+
/* eslint-disable jsx-a11y/anchor-is-valid */
|
24
|
+
import { useState, Fragment, useEffect } from "react";
|
25
|
+
import '../scss/style.scss';
|
26
|
+
// Imports
|
27
|
+
import { SVG_BACK, SVG_CLOSE_GRAY, SVG_ARROWLEFT, SVG_ARROWRIGHT, SVG_CHECK, SVG_ARROWDOWN, SVG_INFORMATION } from './assets/Asset';
|
28
|
+
import { CHECKBOX, MONTH_LIST, INFO_LOADER, PAGE_OPTION } from "./constants/Constant";
|
29
|
+
import Information from './Information';
|
30
|
+
import Input from './inputs/InputSelectionHandler';
|
31
|
+
import datetimeFormatter from './DatetimeFormatter';
|
32
|
+
import { Popover } from './inputs/Select';
|
33
|
+
// Package
|
34
|
+
import { Calendar } from 'react-date-range';
|
35
|
+
var MenuBar = function (_a) {
|
36
|
+
var config = _a.config, info = _a.info, button = _a.button, getActions = _a.getActions, dropdown = _a.dropdown, search = _a.search, pagination = _a.pagination, pivot = _a.pivot, check = _a.check, toggle = _a.toggle, mainButton = _a.mainButton, buttonFooter = _a.buttonFooter, undoButton = _a.undoButton, customClass = _a.customClass, children = _a.children;
|
37
|
+
// React Hooks Popover
|
38
|
+
var _b = useState(null), infoPopover = _b[0], setInfoPopover = _b[1];
|
39
|
+
var _c = useState(null), mainButtonPopover = _c[0], setMainButtonPopover = _c[1];
|
40
|
+
var _d = useState(null), dropdownPopover = _d[0], setDropdownPopover = _d[1];
|
41
|
+
var _e = useState(null), paginationSummaryPopover = _e[0], setPaginationSummaryPopover = _e[1];
|
42
|
+
var _f = useState(null), pivotPopover = _f[0], setPivotPopover = _f[1];
|
43
|
+
var _g = useState(null), filterPopover = _g[0], setFilterPopover = _g[1];
|
44
|
+
var _h = useState(""), calendarYear = _h[0], setCalendarYear = _h[1];
|
45
|
+
var _j = useState(null), minMonthIdx = _j[0], setMinMonthIdx = _j[1];
|
46
|
+
var _k = useState(null), maxMonthIdx = _k[0], setMaxMonthIdx = _k[1];
|
47
|
+
// React Hooks Variables
|
48
|
+
var _l = useState(''), searchTemporaryValue = _l[0], setSearchTemporaryValue = _l[1];
|
49
|
+
var _m = useState(1), goToPage = _m[0], setGoToPage = _m[1];
|
50
|
+
var _o = useState(""), perPageTemporaryValue = _o[0], setPerPageTemporaryValue = _o[1];
|
51
|
+
var _p = useState([]), paginationSummaryFormError = _p[0], setPaginationSummaryFormError = _p[1];
|
52
|
+
var _q = useState(false), loaded = _q[0], setLoaded = _q[1];
|
53
|
+
var _r = useState(0), seconds = _r[0], setSeconds = _r[1];
|
54
|
+
var _s = useState(undoButton && undoButton.show ? true : false), undoShow = _s[0], setUndoShow = _s[1];
|
55
|
+
var _t = useState(false), doneTimer = _t[0], setDoneTimer = _t[1];
|
56
|
+
useEffect(function () {
|
57
|
+
var filteredMonthList = [];
|
58
|
+
if (dropdown && dropdown.minMonth) {
|
59
|
+
filteredMonthList = __spreadArray([], MONTH_LIST, true).filter(function (item) { return (item.value.toLowerCase() === dropdown.minMonth.toLowerCase()); });
|
60
|
+
if (filteredMonthList.length > 0) {
|
61
|
+
minMonthIdx = MONTH_LIST.indexOf(filteredMonthList[0]);
|
62
|
+
setMinMonthIdx(minMonthIdx);
|
63
|
+
}
|
64
|
+
}
|
65
|
+
if (dropdown && dropdown.maxMonth) {
|
66
|
+
filteredMonthList = __spreadArray([], MONTH_LIST, true).filter(function (item) { return (item.value.toLowerCase() === dropdown.maxMonth.toLowerCase()); });
|
67
|
+
if (filteredMonthList.length > 0) {
|
68
|
+
maxMonthIdx = MONTH_LIST.indexOf(filteredMonthList[0]);
|
69
|
+
setMaxMonthIdx(maxMonthIdx);
|
70
|
+
}
|
71
|
+
}
|
72
|
+
if (search && search.value && loaded === false) {
|
73
|
+
setSearchTemporaryValue(search.value);
|
74
|
+
setLoaded(true);
|
75
|
+
}
|
76
|
+
if (undoButton && undoButton.show) {
|
77
|
+
var buttonWithTimer_1 = undoButton.actions && undoButton.actions.constructor === Array && undoButton.actions.length > 0 ? (undoButton.actions.filter(function (item) { return (item.hasOwnProperty('timer') && item.timer !== undefined && item.timer.constructor === Number); })) : [];
|
78
|
+
if (buttonWithTimer_1.length > 0) {
|
79
|
+
if (undoShow !== undoButton.show) {
|
80
|
+
if (buttonWithTimer_1[0] && buttonWithTimer_1[0].hasOwnProperty('timer')) {
|
81
|
+
buttonWithTimer_1[0].timer && setSeconds(buttonWithTimer_1[0].timer);
|
82
|
+
}
|
83
|
+
setDoneTimer(false);
|
84
|
+
setUndoShow(undoButton.show ? true : false);
|
85
|
+
}
|
86
|
+
var myInterval_1 = setInterval(function () {
|
87
|
+
if (seconds > 0) {
|
88
|
+
setSeconds(seconds - 1);
|
89
|
+
}
|
90
|
+
else {
|
91
|
+
if (!doneTimer) {
|
92
|
+
clearInterval(myInterval_1);
|
93
|
+
setDoneTimer(true);
|
94
|
+
returnValues('button', buttonWithTimer_1[0].action, null);
|
95
|
+
}
|
96
|
+
}
|
97
|
+
}, 1000);
|
98
|
+
return function () {
|
99
|
+
clearInterval(myInterval_1);
|
100
|
+
};
|
101
|
+
}
|
102
|
+
}
|
103
|
+
else {
|
104
|
+
setUndoShow(false);
|
105
|
+
}
|
106
|
+
});
|
107
|
+
// Belt Configuration Variables
|
108
|
+
info = info ? (info.constructor === Object && info.infoDetails ? (info) : info.constructor === String ? (info) : INFO_LOADER) : INFO_LOADER;
|
109
|
+
var dropdownTitle = dropdown && (dropdown.type === 'list' || dropdown.type === 'button') ? (dropdown.title ? dropdown.title : "") : dropdown && dropdown.type === 'date-picker-weekly' ? (dropdown.selection && dropdown.selection.startDate && dropdown.selection.endDate ? (dropdown.selection.startDate + ' to ' + dropdown.selection.endDate) : "") : dropdown && dropdown.type === 'date-picker-monthly' ? dropdown.selection.startDate : "";
|
110
|
+
/**
|
111
|
+
* popoverRequestHandler
|
112
|
+
* hide and show the popover of specific action
|
113
|
+
* @param {*} e - event of the click item
|
114
|
+
* @param {*} popover - popover type
|
115
|
+
*/
|
116
|
+
var popoverRequestHandler = function (e, popover, hide) {
|
117
|
+
if (hide === void 0) { hide = false; }
|
118
|
+
switch (popover) {
|
119
|
+
case 'info':
|
120
|
+
var currentTarget_1 = e.currentTarget;
|
121
|
+
if (hide === false && info.constructor === String && info === INFO_LOADER) {
|
122
|
+
actionRequestHandler(e, 'icon', 'info');
|
123
|
+
setInfoPopover(e.currentTarget);
|
124
|
+
setTimeout(function () {
|
125
|
+
setInfoPopover(null);
|
126
|
+
setInfoPopover(currentTarget_1);
|
127
|
+
}, 2000);
|
128
|
+
}
|
129
|
+
else {
|
130
|
+
infoPopover ? setInfoPopover(null) : setInfoPopover(e.currentTarget);
|
131
|
+
}
|
132
|
+
break;
|
133
|
+
case 'dropdown':
|
134
|
+
if (dropdown.type === 'date-picker-monthly' && !dropdownPopover) {
|
135
|
+
dropdown.selection && dropdown.selection.startDate ? setCalendarYear(datetimeFormatter(dropdown.selection.startDate, 'full-year')) : setCalendarYear(new Date());
|
136
|
+
}
|
137
|
+
else if (dropdown.type === 'date-picker-cutoff' && !dropdownPopover) {
|
138
|
+
setCalendarYear(dropdown.currentYear); //need to improve on this one
|
139
|
+
}
|
140
|
+
dropdownPopover ? setDropdownPopover(null) : setDropdownPopover(e.currentTarget);
|
141
|
+
break;
|
142
|
+
case 'pagination-summary':
|
143
|
+
if (!Boolean(paginationSummaryPopover)) {
|
144
|
+
pagination && pagination.page ? setGoToPage(pagination.page) : setGoToPage(1);
|
145
|
+
setPerPageTemporaryValue(pagination.perPage ? pagination.perPage.toString() : '');
|
146
|
+
}
|
147
|
+
paginationSummaryPopover ? setPaginationSummaryPopover(null) : setPaginationSummaryPopover(e.currentTarget);
|
148
|
+
break;
|
149
|
+
case 'pivot':
|
150
|
+
pivotPopover ? setPivotPopover(null) : setPivotPopover(e.currentTarget);
|
151
|
+
break;
|
152
|
+
case 'filter':
|
153
|
+
filterPopover ? setFilterPopover(null) : setFilterPopover(e.currentTarget);
|
154
|
+
break;
|
155
|
+
case 'main-button':
|
156
|
+
if (hide) {
|
157
|
+
setMainButtonPopover(null);
|
158
|
+
}
|
159
|
+
else {
|
160
|
+
mainButtonPopover ? setMainButtonPopover(null) : setMainButtonPopover(e.currentTarget);
|
161
|
+
}
|
162
|
+
break;
|
163
|
+
default:
|
164
|
+
break;
|
165
|
+
}
|
166
|
+
};
|
167
|
+
/**
|
168
|
+
* actionRequestHandler
|
169
|
+
* manipulate the action and data of each action
|
170
|
+
* @param {*} e - event
|
171
|
+
* @param {*} type - action type / can be the action itself
|
172
|
+
* @param {*} action - it can be action type / data depends on the used actions
|
173
|
+
*/
|
174
|
+
var actionRequestHandler = function (e, type, action, hidePopover) {
|
175
|
+
if (hidePopover === void 0) { hidePopover = true; }
|
176
|
+
if (e.preventDefault) {
|
177
|
+
e.preventDefault();
|
178
|
+
}
|
179
|
+
var data = null;
|
180
|
+
var addedParam = null;
|
181
|
+
if (type === 'search') {
|
182
|
+
data = searchTemporaryValue;
|
183
|
+
}
|
184
|
+
else if (type === 'pagination' || type === 'pagination-summary') {
|
185
|
+
data = pagination;
|
186
|
+
}
|
187
|
+
else if (type === 'dropdown' || type === 'pivot' || type === 'main-button' || type === 'button' || type === 'icon' || type === 'check' || type === 'tab' || type === 'toggle') {
|
188
|
+
data = action;
|
189
|
+
action = type;
|
190
|
+
if (dropdown && dropdown.type === 'date-picker-cutoff') {
|
191
|
+
addedParam = calendarYear;
|
192
|
+
}
|
193
|
+
}
|
194
|
+
else if (type === 'undo-button') {
|
195
|
+
data = action;
|
196
|
+
action = type;
|
197
|
+
}
|
198
|
+
if (hidePopover) {
|
199
|
+
popoverRequestHandler(e, type, true);
|
200
|
+
}
|
201
|
+
setTimeout(function () {
|
202
|
+
returnValues(action, data, addedParam);
|
203
|
+
}, 200);
|
204
|
+
};
|
205
|
+
/**
|
206
|
+
* handleChangeFormValue
|
207
|
+
* manipulate the inputs temporary values
|
208
|
+
* @param {*} e - event
|
209
|
+
* @param {*} type - type of the input that has been changed
|
210
|
+
*/
|
211
|
+
var handleChangeFormValue = function (e, type) {
|
212
|
+
switch (type) {
|
213
|
+
case 'search':
|
214
|
+
e.target.value ? setSearchTemporaryValue(e.target.value) : setSearchTemporaryValue("");
|
215
|
+
break;
|
216
|
+
case 'show-per-page':
|
217
|
+
setPerPageTemporaryValue(e.target.value.toString());
|
218
|
+
setGoToPage(1);
|
219
|
+
if (paginationSummaryFormError.indexOf('perPageTemporaryValue') >= 0 && (e !== "")) {
|
220
|
+
paginationSummaryFormError = paginationSummaryFormError.filter(function (item) { return item !== 'perPageTemporaryValue'; });
|
221
|
+
setPaginationSummaryFormError(paginationSummaryFormError);
|
222
|
+
}
|
223
|
+
break;
|
224
|
+
case 'go-to-page':
|
225
|
+
setGoToPage(e.target.value);
|
226
|
+
if (paginationSummaryFormError.indexOf('goToPage') >= 0 && (e.currentTarget.value !== "" || e.currentTarget.value > 1)) {
|
227
|
+
paginationSummaryFormError = paginationSummaryFormError.filter(function (item) { return item !== 'goToPage'; });
|
228
|
+
setPaginationSummaryFormError(paginationSummaryFormError);
|
229
|
+
}
|
230
|
+
break;
|
231
|
+
case 'advanced-filter':
|
232
|
+
returnValues(type, e);
|
233
|
+
break;
|
234
|
+
default:
|
235
|
+
break;
|
236
|
+
}
|
237
|
+
};
|
238
|
+
/**
|
239
|
+
* paginationRequestHandler
|
240
|
+
* manipulate the paginations value depend on the action
|
241
|
+
* @param {*} e - event
|
242
|
+
* @param {*} action - action that the user do
|
243
|
+
*/
|
244
|
+
var paginationRequestHandler = function (e, action) {
|
245
|
+
e.preventDefault();
|
246
|
+
var paginationCopy = __assign({}, pagination);
|
247
|
+
switch (action) {
|
248
|
+
case 'check-pagination-required':
|
249
|
+
var formError = [];
|
250
|
+
if (goToPage === "" || goToPage < 1) {
|
251
|
+
formError.push('goToPage');
|
252
|
+
}
|
253
|
+
if (perPageTemporaryValue === "") {
|
254
|
+
formError.push('perPageTemporaryValue');
|
255
|
+
}
|
256
|
+
return formError;
|
257
|
+
case 'submit':
|
258
|
+
var errorFields = paginationRequestHandler(e, 'check-pagination-required');
|
259
|
+
if (errorFields.length > 0) {
|
260
|
+
setPaginationSummaryFormError(errorFields);
|
261
|
+
}
|
262
|
+
else {
|
263
|
+
pagination.perPage = perPageTemporaryValue ? parseInt(perPageTemporaryValue) : pagination.perPage;
|
264
|
+
pagination.page = goToPage ? ((pagination.perPage * goToPage) > pagination.total ? (Math.floor(pagination.total / pagination.perPage) + 1) : parseInt(goToPage)) : 1;
|
265
|
+
pagination.counter = (pagination.page * pagination.perPage) > pagination.total ? pagination.total : (pagination.page * pagination.perPage);
|
266
|
+
// if (paginationCopy.perPage !== pagination.perPage || paginationCopy.page !== pagination.page || paginationCopy.counter !== pagination.counter) {
|
267
|
+
actionRequestHandler(e, 'pagination-summary', 'pagination');
|
268
|
+
// }
|
269
|
+
}
|
270
|
+
break;
|
271
|
+
case 'next':
|
272
|
+
pagination.page = ((pagination.page++) * pagination.perPage) > pagination.total ? (Math.floor(pagination.total / pagination.perPage) + 1) : pagination.page++;
|
273
|
+
pagination.counter = (pagination.page * pagination.perPage) > pagination.total ? pagination.total : (pagination.page * pagination.perPage);
|
274
|
+
if (paginationCopy.page !== pagination.page || paginationCopy.counter !== pagination.counter) {
|
275
|
+
actionRequestHandler(e, 'pagination', 'pagination');
|
276
|
+
}
|
277
|
+
break;
|
278
|
+
case 'prev':
|
279
|
+
pagination.page = pagination.page > 1 ? pagination.page -= 1 : pagination.page;
|
280
|
+
pagination.counter = pagination.page * pagination.perPage;
|
281
|
+
if (paginationCopy.page !== pagination.page || paginationCopy.counter !== pagination.counter) {
|
282
|
+
actionRequestHandler(e, 'pagination', 'pagination');
|
283
|
+
}
|
284
|
+
break;
|
285
|
+
default:
|
286
|
+
break;
|
287
|
+
}
|
288
|
+
};
|
289
|
+
/**
|
290
|
+
* checkboxRequestHandler
|
291
|
+
* select all / unselect all items
|
292
|
+
* @param {*} e - event
|
293
|
+
* @param {*} action - action of the checkbox
|
294
|
+
*/
|
295
|
+
var checkboxRequestHandler = function (e, action) {
|
296
|
+
// e.preventDefault();
|
297
|
+
if (check.disabled !== true) {
|
298
|
+
if (action === 'all') {
|
299
|
+
actionRequestHandler(e, 'check', 'all');
|
300
|
+
}
|
301
|
+
else {
|
302
|
+
actionRequestHandler(e, 'check', 'none');
|
303
|
+
}
|
304
|
+
}
|
305
|
+
};
|
306
|
+
/**
|
307
|
+
* onDatePickerChange
|
308
|
+
* change the datepicker value
|
309
|
+
* @param {*} e - event
|
310
|
+
* @param {*} type - action type
|
311
|
+
*/
|
312
|
+
var onDatePickerChange = function (e, type) {
|
313
|
+
if (dropdown.type === 'date-picker-weekly') {
|
314
|
+
dropdown.selection.startDate = datetimeFormatter(e, 'start-of-Week');
|
315
|
+
dropdown.selection.endDate = datetimeFormatter(e, 'end-of-Week');
|
316
|
+
}
|
317
|
+
actionRequestHandler(e, type, dropdown.selection);
|
318
|
+
};
|
319
|
+
/**
|
320
|
+
* dateMonthlyPickerHandler
|
321
|
+
* selection of month on a calendar and changing of year
|
322
|
+
* @param {*} e - event
|
323
|
+
* @param {*} action - action type
|
324
|
+
*/
|
325
|
+
var dateMonthlyPickerHandler = function (e, action, data) {
|
326
|
+
if (data === void 0) { data = ''; }
|
327
|
+
var _a = __assign({}, dropdown), maxYear = _a.maxYear, minYear = _a.minYear;
|
328
|
+
var newDateValue = null;
|
329
|
+
var standardDate = null;
|
330
|
+
var selectedMonthDate = null;
|
331
|
+
var monthIdx = null;
|
332
|
+
var fullYear = null;
|
333
|
+
if (action === 'next') {
|
334
|
+
if (!maxYear || (maxYear && parseInt(maxYear) >= calendarYear + 1)) {
|
335
|
+
calendarYear += 1;
|
336
|
+
setCalendarYear(calendarYear);
|
337
|
+
}
|
338
|
+
}
|
339
|
+
else if (action === 'prev') {
|
340
|
+
if (!minYear || (minYear && parseInt(minYear) <= calendarYear - 1)) {
|
341
|
+
calendarYear -= 1;
|
342
|
+
setCalendarYear(calendarYear);
|
343
|
+
}
|
344
|
+
}
|
345
|
+
else if (action === 'month-selection') {
|
346
|
+
newDateValue = datetimeFormatter(data + ' ' + calendarYear, 'month-year');
|
347
|
+
actionRequestHandler(e, 'dropdown', newDateValue);
|
348
|
+
}
|
349
|
+
else if (action === 'next-month') {
|
350
|
+
standardDate = datetimeFormatter(dropdown.selection.startDate, 'date-standard');
|
351
|
+
selectedMonthDate = new Date(new Date(standardDate).toLocaleString('en-US', { timeZone: 'Asia/Manila' })); //making the date picked as the default gmt so that the new date wont adjust by timezone;
|
352
|
+
monthIdx = selectedMonthDate.getMonth();
|
353
|
+
fullYear = selectedMonthDate.getFullYear();
|
354
|
+
if (monthIdx + 1 < 12) {
|
355
|
+
monthIdx = monthIdx + 1;
|
356
|
+
}
|
357
|
+
else {
|
358
|
+
monthIdx = 0;
|
359
|
+
fullYear = fullYear + 1;
|
360
|
+
}
|
361
|
+
if ((!maxYear && !maxMonthIdx) || fullYear < parseInt(maxYear) || (fullYear === parseInt(maxYear) && monthIdx <= parseInt(maxMonthIdx))) {
|
362
|
+
newDateValue = datetimeFormatter(MONTH_LIST[monthIdx].value + ' ' + fullYear, 'month-year');
|
363
|
+
actionRequestHandler(e, 'dropdown', newDateValue, false);
|
364
|
+
}
|
365
|
+
}
|
366
|
+
else if (action === 'prev-month') {
|
367
|
+
standardDate = datetimeFormatter(dropdown.selection.startDate, 'date-standard');
|
368
|
+
selectedMonthDate = new Date(new Date(standardDate).toLocaleString('en-US', { timeZone: 'Asia/Manila' })); //making the date picked as the default gmt so that the new date wont adjust by timezone;
|
369
|
+
monthIdx = selectedMonthDate.getMonth();
|
370
|
+
fullYear = selectedMonthDate.getFullYear();
|
371
|
+
if (monthIdx - 1 >= 0) {
|
372
|
+
monthIdx = monthIdx - 1;
|
373
|
+
}
|
374
|
+
else {
|
375
|
+
monthIdx = 11;
|
376
|
+
fullYear = fullYear - 1;
|
377
|
+
}
|
378
|
+
if ((!minYear && !minMonthIdx) || fullYear > parseInt(minYear) || (fullYear === parseInt(minYear) && monthIdx >= parseInt(minMonthIdx))) {
|
379
|
+
var newDateValue_1 = datetimeFormatter(MONTH_LIST[monthIdx].value + ' ' + fullYear, 'month-year');
|
380
|
+
actionRequestHandler(e, 'dropdown', newDateValue_1, false);
|
381
|
+
}
|
382
|
+
}
|
383
|
+
};
|
384
|
+
var dateCutoffPickerHandler = function (e, label, value) {
|
385
|
+
var cutOffVal = {
|
386
|
+
"label": label,
|
387
|
+
"value": value,
|
388
|
+
};
|
389
|
+
actionRequestHandler(e, 'dropdown', cutOffVal);
|
390
|
+
};
|
391
|
+
/**
|
392
|
+
* returnValues
|
393
|
+
* return manipulated value from beltConfig to the parent component
|
394
|
+
* @param {*} action - done action on beltConfig
|
395
|
+
* @param {*} data - manipulated data from the action
|
396
|
+
*/
|
397
|
+
var returnValues = function (action, data, addedParam) {
|
398
|
+
if (addedParam === void 0) { addedParam = null; }
|
399
|
+
return getActions ? getActions(action, data, addedParam) : false;
|
400
|
+
};
|
401
|
+
/**
|
402
|
+
* dateMonthlyPickerIsSelected
|
403
|
+
* determine if month is selected
|
404
|
+
* @param {*} month - month value
|
405
|
+
*/
|
406
|
+
var dateMonthlyPickerIsSelected = function (month) {
|
407
|
+
var isSelected = false;
|
408
|
+
if (dropdown && dropdown.selection && dropdown.selection.startDate && calendarYear) {
|
409
|
+
var monthYear = month + ' ' + calendarYear;
|
410
|
+
isSelected = datetimeFormatter(dropdown.selection.startDate.toString(), 'month-year') === datetimeFormatter(monthYear, 'month-year') ? true : false;
|
411
|
+
}
|
412
|
+
return isSelected;
|
413
|
+
};
|
414
|
+
var isDisabledDropdownPagination = function (action) {
|
415
|
+
var _a = __assign({}, dropdown), maxYear = _a.maxYear, minYear = _a.minYear, selection = _a.selection;
|
416
|
+
var selectedMonthDate = new Date(selection.startDate);
|
417
|
+
var monthIdx = selectedMonthDate.getMonth();
|
418
|
+
var fullYear = selectedMonthDate.getFullYear();
|
419
|
+
if (action === 'prev') {
|
420
|
+
if (minYear && minMonthIdx && fullYear === parseInt(minYear) && monthIdx === parseInt(minMonthIdx)) {
|
421
|
+
return ' is-disabled';
|
422
|
+
}
|
423
|
+
else {
|
424
|
+
return '';
|
425
|
+
}
|
426
|
+
}
|
427
|
+
else if (action === 'next') {
|
428
|
+
if (maxYear && maxMonthIdx && fullYear === parseInt(maxYear) && monthIdx === parseInt(maxMonthIdx)) {
|
429
|
+
return ' is-disabled';
|
430
|
+
}
|
431
|
+
else {
|
432
|
+
return '';
|
433
|
+
}
|
434
|
+
}
|
435
|
+
};
|
436
|
+
var toggleSelectionHandler = function (event, value) {
|
437
|
+
event.preventDefault();
|
438
|
+
actionRequestHandler(event, 'toggle', value, false);
|
439
|
+
};
|
440
|
+
return (_jsxs("div", __assign({ className: customClass && customClass.constructor === String ? customClass : 'custom-card' }, { children: [_jsxs("div", __assign({ className: "em-card-belt" }, { children: [_jsxs("div", __assign({ className: "em-belt-left" }, { children: [_jsxs("div", __assign({ className: "em-beltleft-container" }, { children: [
|
441
|
+
// Back Icon Configuration
|
442
|
+
config && config.iconType && ((config.iconType.constructor === Array && config.iconType.length > 0 && config.iconType.indexOf("back") >= 0) || (config.iconType === 'back')) ? (_jsx("a", __assign({ className: "belt-icon icon-back", href: "#", onClick: function (event) { return actionRequestHandler(event, 'icon', 'back'); }, "data-testid": "menubar-back" }, { children: SVG_BACK }))) : null,
|
443
|
+
// Check Icon Configuration
|
444
|
+
config && config.iconType && ((config.iconType.constructor === Array && config.iconType.length > 0 && config.iconType.indexOf("check") >= 0) || (config.iconType === 'check')) ? (_jsx("div", __assign({ className: "belt-icon-check", "data-testid": "menubar-checkbox" }, { children: check ? (check.selected === 0 ? (_jsx("div", __assign({ onClick: function (event) { return checkboxRequestHandler(event, 'all'); } }, { children: CHECKBOX.NONE }))) : check.selected > 0 && check.selected < check.total ? (_jsx("div", __assign({ onClick: function (event) { return checkboxRequestHandler(event, 'all'); } }, { children: CHECKBOX.FEW }))) : check.selected === check.total ? (_jsx("div", __assign({ onClick: function (event) { return checkboxRequestHandler(event, 'none'); } }, { children: CHECKBOX.ALL }))) : _jsx("div", { children: CHECKBOX.NONE })) : _jsx("div", { children: CHECKBOX.NONE }) }))) : null,
|
445
|
+
// Standard Icon Configuration
|
446
|
+
config && config.iconType && ((config.iconType.constructor === Array && config.iconType.length > 0 && config.iconType.indexOf("standard") >= 0) || (config.iconType === 'standard')) ? (_jsx("div", __assign({ className: "belt-icon", "data-testid": "menubar-standard-icon" }, { children: config.icon }))) : null, _jsxs("div", __assign({ className: "belt-title" }, { children: [
|
447
|
+
// Title Configuration
|
448
|
+
check && check.selected && check.selected > 0 && check.selected < check.total ? (_jsx("h6", { children: "".concat(check.selected, " ").concat(check.selected === 1 ? 'item selected' : 'items selected') })) : check && check.selected && check.selected === check.total ? (_jsx("h6", { children: "All item(s) selected" })) : config && config.title && (config.title.constructor === String || config.title.constructor === Object) ? (_jsx("h6", __assign({ className: "config-title", "data-testid": "menubar-title" }, { children: config.title }))) : null,
|
449
|
+
// Title Information Configuration
|
450
|
+
config && config.titleDescription ? (_jsx("p", { children: config.titleDescription })) : null] })),
|
451
|
+
// Information Configuration
|
452
|
+
config && config.showInfo.constructor === Boolean && config.showInfo === true ? (_jsx(Fragment, { children: _jsxs("div", __assign({ className: "em-belt-info" }, { children: [_jsx("a", __assign({ href: "#", onClick: function (event) { return popoverRequestHandler(event, 'info'); }, "data-testid": "menubar-information" }, { children: _jsx("div", __assign({ className: "em-info-icon" }, { children: SVG_INFORMATION })) })), _jsx(Popover, __assign({ id: "InfoPopOver", open: Boolean(infoPopover), className: Boolean(dropdownPopover) ? 'open-popover' : '', onClick: function (event) { return popoverRequestHandler(event, 'info'); } }, { children: _jsx(Information, { items: info && info.infoDetails ? info.infoDetails : info, listRow: info && info.listRow ? info.listRow : [], desc: info && info.listRow && info.listRow.length > 0 ? false : true, title: config && config.title ? config.title : null, hide: function (event) { return popoverRequestHandler(event, 'info', true); } }) }))] })) })) : null,
|
453
|
+
// Additional title on the modal
|
454
|
+
config && config.addedTitle ? (_jsx("p", { children: config.addedTitle })) : null] })), _jsxs("div", __assign({ className: "em-beltleft-cta" }, { children: [
|
455
|
+
// Main Button
|
456
|
+
mainButton && mainButton.show ? (mainButton.actions && mainButton.actions.constructor === Array && mainButton.actions.length > 0 ? (_jsx(Fragment, { children: _jsxs("div", __assign({ className: "em-dropdown" }, { children: [_jsxs("a", __assign({ className: "em-button belt-action-main", id: "main-button", href: "#", onClick: function (event) { return popoverRequestHandler(event, 'main-button'); } }, { children: [_jsx("div", __assign({ className: "belt-icon" }, { children: mainButton.icon ? mainButton.icon : '' })), _jsx("span", { children: mainButton.label ? mainButton.label : 'File a Request' })] })), _jsx(Popover, __assign({ id: "mainButtonPopover", open: Boolean(mainButtonPopover), onClick: function (event) { return popoverRequestHandler(event, 'main-button'); }, className: Boolean(dropdownPopover) ? 'open-popover' : '' }, { children: _jsx("div", __assign({ className: "popover em-popover-list" }, { children: mainButton.actions.map(function (btn, idx) {
|
457
|
+
return _jsx("a", __assign({ href: "#", onClick: function (event) { return actionRequestHandler(event, 'main-button', btn.action); } }, { children: btn.label }), idx);
|
458
|
+
}) })) }))] })) })) : mainButton.actions && mainButton.actions.constructor === Array && mainButton.actions.length === 1 ? (mainButton.actions.map(function (btn, idx) {
|
459
|
+
return (_jsxs("a", __assign({ className: btn.class ? 'belt-action ' + btn.class : 'belt-action', href: "#", onClick: function (event) { return actionRequestHandler(event, 'main-button', btn.action); } }, { children: [_jsx("div", __assign({ className: "belt-icon " }, { children: btn.icon ? btn.icon : '' })), _jsx("span", { children: btn.label ? btn.label : '' })] }), idx));
|
460
|
+
})) : null) : null,
|
461
|
+
// Button Actions Configuration
|
462
|
+
button && button.show && button.show.constructor === Boolean &&
|
463
|
+
button.actions && button.actions.constructor === Array && button.actions.length > 0 ? (button.actions.map(function (btn, idx) {
|
464
|
+
return (_jsxs("a", __assign({ className: btn.class ? btn.class : ' belt-action' + ' ' + (idx === 0 ? 'is-primary' : ''), href: "#", onClick: function (event) { return actionRequestHandler(event, 'button', btn.action); }, "data-testid": "menubar-button" }, { children: [_jsx("div", __assign({ className: "belt-icon belt-buttons" }, { children: btn.icon ? btn.icon : '' })), _jsx("span", __assign({ "data-testid": 'button-action-' + btn.action }, { children: btn.label ? btn.label : '' }))] }), idx));
|
465
|
+
})) : null,
|
466
|
+
// UndoButton Actions Configuration
|
467
|
+
undoButton && undoButton.show && !undoButton.isFooter &&
|
468
|
+
undoButton.actions && undoButton.actions.constructor === Array && undoButton.actions.length > 0 ? (undoButton.actions.map(function (btn, idx) {
|
469
|
+
return seconds > 0 || (btn.timer !== undefined) ? (_jsxs("a", __assign({ className: btn.class ? btn.class : 'belt-action' + ' ' + (idx === 0 ? 'is-primary' : '') + (btn.disabled === true ? ' is-disabled' : ' em-button outline button-undo'), href: "#", "data-testid": "undo-button-".concat(btn.action) }, (btn.disabled === true ? { onClick: function (event) { event.preventDefault(); } } : { onClick: function (event) { return actionRequestHandler(event, 'undo-button', btn.action); } }), { children: [_jsx("div", __assign({ className: "belt-icon" }, { children: btn.icon ? btn.icon : '' })), _jsx("span", __assign({ "data-testid": "undo-button-text" }, { children: btn.label ? ("".concat(btn.label, " ").concat(btn.timer !== undefined && btn.timer.constructor === Number && seconds > 0 ? ("in ".concat(seconds, "s")) : '')) : '' }))] }), idx)) : null;
|
470
|
+
})) : null] }))] })), _jsxs("div", __assign({ className: "em-belt-right" }, { children: [
|
471
|
+
// Dropdown Actions Configuration
|
472
|
+
dropdown && dropdown.show && dropdown.show.constructor === Boolean ? (_jsx(Fragment, { children: _jsxs("div", __assign({ className: "em-dropdown" }, { children: [dropdown.type === 'list' ? (_jsxs("a", __assign({ className: "belt-dropdown", id: "add", href: "#", onClick: function (event) { return popoverRequestHandler(event, 'dropdown'); } }, { children: [_jsx("div", __assign({ className: "icon-add" }, { children: dropdown.icon ? dropdown.icon : '' })), _jsx("span", { children: dropdownTitle })] }))) : dropdown.type === 'date-picker-weekly' ? (_jsxs("a", __assign({ id: "months", className: "belt-dropdown ".concat(Boolean(dropdownPopover) ? 'is-active' : ''), href: "#", onClick: function (event) { return popoverRequestHandler(event, 'dropdown'); } }, { children: [_jsx("span", { children: dropdownTitle }), _jsx("div", __assign({ className: "icon-arrowdown" }, { children: SVG_ARROWDOWN }))] }))) : dropdown.type === 'date-picker-monthly' ? (_jsxs(Fragment, { children: [_jsxs("a", __assign({ id: "months", className: "belt-dropdown ".concat(Boolean(dropdownPopover) ? 'is-active' : ''), href: "#", onClick: function (event) { return popoverRequestHandler(event, 'dropdown'); } }, { children: [_jsx("span", { children: dropdownTitle }), _jsx("div", __assign({ className: "icon-arrowdown" }, { children: SVG_ARROWDOWN }))] })), dropdown.showPagination ? (_jsxs(Fragment, { children: [_jsx("a", __assign({ className: 'belt-prev' + isDisabledDropdownPagination('prev'), href: "#", onClick: function (event) { return dateMonthlyPickerHandler(event, 'prev-month'); } }, { children: _jsx("div", __assign({ className: "belt-icon" }, { children: SVG_ARROWLEFT })) })), _jsx("a", __assign({ className: 'belt-next' + isDisabledDropdownPagination('next'), href: "#", onClick: function (event) { return dateMonthlyPickerHandler(event, 'next-month'); } }, { children: _jsx("div", __assign({ className: "belt-icon" }, { children: SVG_ARROWRIGHT })) }))] })) : null] })) : dropdown.type === 'date-picker-cutoff' ? ((_jsx("a", __assign({ className: "belt-dropdown", id: "add", href: "#", onClick: function (event) { return popoverRequestHandler(event, 'dropdown'); } }, { children: _jsx("span", { children: dropdown.cutoffValue && dropdown.cutoffValue.label ? dropdown.cutoffValue.label : '' }) })))) : dropdown.type === 'button' ? (_jsxs("a", __assign({ className: "belt-dropdown", id: "add", href: "#", onClick: function (event) { return actionRequestHandler(event, 'button', dropdown.action); } }, { children: [_jsx("div", __assign({ className: "belt-icon" }, { children: dropdown.icon ? dropdown.icon : '' })), _jsx("span", { children: dropdownTitle })] }))) : (_jsx("a", __assign({ className: "belt-dropdown", id: "add", href: "#", onClick: function (event) { return popoverRequestHandler(event, 'dropdown'); } }, { children: _jsx("span", { children: dropdownTitle }) }))), _jsx(Popover, __assign({ id: "dropdownPopover", className: Boolean(dropdownPopover) ? 'open-popover' : '', open: Boolean(dropdownPopover), onClick: function (event) { return popoverRequestHandler(event, 'dropdown'); } }, { children: dropdown.type === 'list' ? (dropdown.actions && dropdown.actions.constructor === Array && dropdown.actions.length > 0 ? (_jsx("div", __assign({ className: "popover em-popover-list" }, { children: dropdown.actions.map(function (drpdwn, idx) {
|
473
|
+
return _jsx("a", __assign({ href: "#", onClick: function (event) { return actionRequestHandler(event, 'dropdown', drpdwn.value); } }, { children: drpdwn.label }), idx);
|
474
|
+
}) }))) : null) : dropdown.type === 'date-picker-weekly' ? (_jsx("div", __assign({ className: "popover" }, { children: _jsx(Calendar, { className: "dateRangePickerInput", onChange: function (event) { return onDatePickerChange(event, 'dropdown'); } }) }))) : dropdown.type === 'date-picker-monthly' ? (_jsxs("div", __assign({ className: "popover em-popover-months" }, { children: [_jsxs("div", __assign({ className: "list-years" }, { children: [_jsx("button", __assign({ onClick: function (event) { return dateMonthlyPickerHandler(event, 'prev'); } }, { children: SVG_ARROWLEFT })), _jsx("div", { children: calendarYear }), _jsx("button", __assign({ onClick: function (event) { return dateMonthlyPickerHandler(event, 'next'); } }, { children: SVG_ARROWRIGHT }))] })), _jsx("div", __assign({ className: "list-months" }, { children: MONTH_LIST.map(function (action, idx) {
|
475
|
+
return dropdown.minYear && dropdown.minYear.toString() === calendarYear.toString() && minMonthIdx && minMonthIdx > idx ? (_jsx("a", __assign({ href: "#", className: 'is-disabled', onClick: function (event) { event.preventDefault(); } }, { children: action.label }), idx)) : dropdown.maxYear && dropdown.maxYear.toString() === calendarYear.toString() && maxMonthIdx && maxMonthIdx < idx ? (_jsx("a", __assign({ href: "#", className: 'is-disabled', onClick: function (event) { event.preventDefault(); } }, { children: action.label }), idx)) : (_jsx("a", __assign({ className: dateMonthlyPickerIsSelected(action.label) ? 'is-selected' : '', href: "#", onClick: function (event) { return dateMonthlyPickerHandler(event, 'month-selection', action.value); } }, { children: action.label }), idx));
|
476
|
+
}) }))] }))) : dropdown.type === 'date-picker-cutoff' ? (_jsxs("div", __assign({ className: "popover em-popover-months" }, { children: [_jsxs("div", __assign({ className: "list-years" }, { children: [_jsx("button", __assign({ onClick: function (event) { return dateMonthlyPickerHandler(event, 'prev'); } }, { children: _jsx("img", { src: "/images/icons/icon-arrowleft-white.svg", alt: "" }) })), _jsx("div", { children: calendarYear }), _jsx("button", __assign({ onClick: function (event) { return dateMonthlyPickerHandler(event, 'next'); } }, { children: _jsx("img", { src: "/images/icons/icon-arrowright-white.svg", alt: "" }) }))] })), _jsx("div", __assign({ className: "list-months" }, { children: dropdown.cutoffDates !== null && dropdown.cutoffDates.length > 0 ? (dropdown.cutoffDates.map(function (action, idx) {
|
477
|
+
var classSelect;
|
478
|
+
if (JSON.stringify(action.label) === JSON.stringify(dropdown.cutoffValue.label)) {
|
479
|
+
if (dropdown.currentYear === calendarYear) {
|
480
|
+
classSelect = 'is-selected';
|
481
|
+
}
|
482
|
+
else {
|
483
|
+
classSelect = '';
|
484
|
+
}
|
485
|
+
// classSelect = 'is-selected';
|
486
|
+
}
|
487
|
+
else {
|
488
|
+
classSelect = '';
|
489
|
+
}
|
490
|
+
return _jsx("a", __assign({ className: classSelect, href: "#", onClick: function (event) { return dateCutoffPickerHandler(event, action.label, action.value); } }, { children: action.label }), idx);
|
491
|
+
})) : null }))] }))) : null }))] })) })) : null, pagination && pagination.show && pagination.show.constructor === Boolean ? (_jsxs(Fragment, { children: [!pagination.hideSummary || pagination.hideSummary === false ? (_jsx(Fragment, { children: _jsxs("div", __assign({ className: "em-dropdown" }, { children: [_jsxs("a", __assign({ className: "pagination-summary", href: "#", id: "pagination", onClick: function (event) { return popoverRequestHandler(event, 'pagination-summary'); }, "data-testid": "menubar-pagination" }, { children: [(pagination.counter > 0 ? (((pagination.page - 1) * pagination.perPage) + 1) : 0)
|
492
|
+
+ ' - ' +
|
493
|
+
(pagination.page * pagination.perPage > pagination.total ?
|
494
|
+
(pagination.total ? pagination.total : pagination.counter) :
|
495
|
+
pagination.page * pagination.perPage), " of ", pagination.total ? pagination.total : 0] })), _jsx(Popover, __assign({ id: "paginationSummaryPopover", className: Boolean(dropdownPopover) ? 'open-popover' : '', open: Boolean(paginationSummaryPopover), onClick: function (event) { return popoverRequestHandler(event, 'pagination-summary'); } }, { children: _jsxs("div", __assign({ className: "popover em-popover-input" }, { children: [_jsxs("div", __assign({ className: 'e-field field field-input' + (paginationSummaryFormError.indexOf('perPageTemporaryValue') >= 0 ? ' is-invalid' : '') }, { children: [_jsx("label", __assign({ className: 'e-input-label' }, { children: "SHOW" })), _jsx(Input, { config: {
|
496
|
+
id: 'paginationPerPage',
|
497
|
+
type: 'select',
|
498
|
+
placeholder: '-',
|
499
|
+
value: perPageTemporaryValue,
|
500
|
+
options: PAGE_OPTION
|
501
|
+
}, onChanged: function (event) { return handleChangeFormValue(event, 'show-per-page'); } })] })), _jsxs("div", __assign({ className: 'e-field field field-input' + (paginationSummaryFormError.indexOf('goToPage') >= 0 ? ' is-invalid' : '') }, { children: [_jsx("label", __assign({ className: 'e-input-label' }, { children: "GO TO PAGE" })), _jsx("div", __assign({ className: "e-input" }, { children: _jsx(Input, { config: {
|
502
|
+
id: 'goToPage',
|
503
|
+
type: 'number',
|
504
|
+
value: goToPage,
|
505
|
+
placeholder: '-',
|
506
|
+
maxLength: 5,
|
507
|
+
min: '1',
|
508
|
+
}, onChanged: function (event) { return handleChangeFormValue(event, 'go-to-page'); } }) }))] })), _jsx("button", __assign({ className: "button-check", onClick: function (event) { return paginationRequestHandler(event, 'submit'); } }, { children: SVG_CHECK }))] })) }))] })) })) : null, _jsx("a", __assign({ className: (pagination.page * pagination.perPage) > pagination.perPage ? 'belt-prev' : 'belt-prev is-disabled', href: "#" }, (((pagination.page * pagination.perPage) > pagination.perPage) ? { onClick: function (event) { return paginationRequestHandler(event, 'prev'); } } : { onClick: function (event) { event.preventDefault(); } }), { children: _jsx("div", __assign({ className: "belt-icon" }, { children: SVG_ARROWLEFT })) })), _jsx("a", __assign({ className: pagination.total <= (pagination.page * pagination.perPage) ? 'belt-next is-disabled' : 'belt-next', href: "#" }, ((pagination.total <= (pagination.page * pagination.perPage)) ? { onClick: function (event) { event.preventDefault(); } } : { onClick: function (event) { return paginationRequestHandler(event, 'next'); } }), { children: _jsx("div", __assign({ className: "belt-icon" }, { children: SVG_ARROWRIGHT })) }))] })) : null,
|
509
|
+
// Pivot Configuration
|
510
|
+
pivot && pivot.show ? (_jsx(Fragment, { children: _jsxs("div", __assign({ className: "em-dropdown" }, { children: [_jsxs("a", __assign({ id: "months", className: "belt-dropdown ", href: "#", onClick: function (event) { return popoverRequestHandler(event, 'pivot'); }, "data-testid": "menubar-pivot" }, { children: [_jsx("span", { children: pivot.selected && pivot.actions &&
|
511
|
+
pivot.actions.constructor === Array && pivot.actions.length > 0 ? (pivot.actions.filter(function (item) { return (item.value === pivot.selected); }).length > 0 ? (pivot.actions.filter(function (item) { return (item.value === pivot.selected); })[0].label) : 'None') : 'None' }), _jsx("div", __assign({ className: "icon-arrowdown" }, { children: SVG_ARROWDOWN }))] })), _jsx(Popover, __assign({ id: "pivotPopover", className: Boolean(dropdownPopover) ? 'open-popover' : '', open: Boolean(pivotPopover), onClick: function (event) { return popoverRequestHandler(event, 'pivot'); } }, { children: pivot.actions && pivot.actions.constructor === Array && pivot.actions.length > 0 ? (_jsx("div", __assign({ className: "popover em-popover-list" }, { children: pivot.actions.map(function (pvt, idx) {
|
512
|
+
return _jsx("a", __assign({ href: "#", onClick: function (event) { return actionRequestHandler(event, 'pivot', pvt.value); } }, { children: pvt.label }), idx);
|
513
|
+
}) }))) : null }))] })) })) : null,
|
514
|
+
// Close Icon Configuration
|
515
|
+
config && config.iconType && ((config.iconType.constructor === Array && config.iconType.length > 0 && config.iconType.indexOf("close") >= 0) || (config.iconType === 'close')) ? (_jsx("a", __assign({ className: "em-close", href: "#", onClick: function (event) { return actionRequestHandler(event, 'icon', 'close'); }, "date-testid": "menubar-close" }, { children: SVG_CLOSE_GRAY }))) : null, toggle && toggle.show && toggle.buttons && toggle.buttons.constructor === Array ? (_jsx(Fragment, { children: _jsx("div", __assign({ className: "belt-toggle" }, { children: toggle.buttons.map(function (item, idx) { return (_jsx("a", __assign({ className: "belt-icon icon-calendar " + (item.value === toggle.value ? ' is-active' : ''), href: "#", onClick: function (event) { return toggleSelectionHandler(event, item.value); } }, { children: item.value === toggle.value ? item.selectedIconDisplay : item.icon }), 'toggle-' + idx)); }) })) })) : null] }))] })),
|
516
|
+
// Search Configuration
|
517
|
+
search && search.show && search.show.constructor === Boolean ? (_jsx("div", __assign({ className: "field em-card-search" }, { children: _jsx("div", __assign({ className: "e-input" }, { children: _jsx(Input, { config: {
|
518
|
+
id: 'search',
|
519
|
+
type: 'text',
|
520
|
+
placeholder: search.placeholder ? search.placeholder : 'Search',
|
521
|
+
maxLength: 30,
|
522
|
+
readOnly: false,
|
523
|
+
disabled: false,
|
524
|
+
value: searchTemporaryValue ? searchTemporaryValue : ''
|
525
|
+
}, onChanged: function (event) { return handleChangeFormValue(event, 'search'); }, keyPressed: function (event) { return actionRequestHandler(event, 'search', 'search'); } }) })) }))) : null, children, _jsxs("div", __assign({ className: "em-card-footer" }, { children: [buttonFooter && buttonFooter.show && buttonFooter.actions.length > 0 &&
|
526
|
+
_jsx("div", __assign({ className: buttonFooter.className }, { children: buttonFooter.actions.map(function (btn, idx) { return (btn.show &&
|
527
|
+
_jsxs("a", __assign({ className: 'em-button ' + btn.className, href: "#" }, (btn.disabled === true ? { onClick: function (event) { event.preventDefault(); } } : { onClick: function (event) { return actionRequestHandler(event, 'button', btn.action); } }), { "data-testid": btn.id && btn.id.constructor === String ? btn.id : 'default-button-footer' }, { children: [_jsx("div", __assign({ className: "icon" }, { children: btn.icon ? btn.icon : '' })), _jsx("span", __assign({ "data-testid": 'button-action-' + btn.action }, { children: btn.label ? btn.label : '' }))] }), idx)); }) })),
|
528
|
+
// UndoButton Actions Configuration
|
529
|
+
undoButton && undoButton.show && undoButton.isFooter &&
|
530
|
+
undoButton.actions && undoButton.actions.constructor === Array && undoButton.actions.length > 0 ? (undoButton.actions.map(function (btn, idx) {
|
531
|
+
return seconds > 0 || (btn.timer !== undefined) ? (_jsxs("a", __assign({ className: btn.class ? btn.class : 'em-button ' + ' ' + (idx === 0 ? 'disabled' : 'outline button-undo') + (btn.disabled === true ? ' is-disabled button-undo' : ''), href: "#", "data-testid": "undo-button-".concat(btn.action) }, (btn.disabled === true ? { onClick: function (event) { event.preventDefault(); } } : { onClick: function (event) { return actionRequestHandler(event, 'undo-button', btn.action); } }), { children: [_jsx("div", __assign({ className: "belt-icon" }, { children: btn.icon ? btn.icon : '' })), _jsx("span", __assign({ "data-testid": "undo-button-text" }, { children: btn.label ? ("".concat(btn.label, " ").concat(btn.timer !== undefined && btn.timer.constructor === Number && seconds > 0 ? ("in ".concat(seconds, "s")) : '')) : '' }))] }), idx)) : null;
|
532
|
+
})) : null] }))] })));
|
533
|
+
};
|
534
|
+
export default MenuBar;
|