@dexteel/mesf-core 2.3.4 → 3.1.0

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.
Files changed (84) hide show
  1. package/README.md +16 -0
  2. package/dist/configuration/index.d.ts +8 -8
  3. package/dist/configuration/pages/job/JobsPage.d.ts +4 -0
  4. package/dist/configuration/pages/job/components/JobsTable/TableJobs.d.ts +2 -0
  5. package/dist/configuration/pages/job/components/JobsTable/customHooks/TableDataJobs/useJobsTableData.d.ts +19 -0
  6. package/dist/configuration/pages/job/context/JobsContext.d.ts +17 -0
  7. package/dist/configuration/pages/job/index.d.ts +4 -0
  8. package/dist/configuration/pages/job/models/Job.d.ts +16 -0
  9. package/dist/configuration/pages/job/reducers/JobsReducer.d.ts +11 -0
  10. package/dist/configuration/pages/job/repositories/JobsRepository.d.ts +27 -0
  11. package/dist/configuration/pages/log/LogsPage.d.ts +4 -0
  12. package/dist/configuration/pages/log/components/Filters/codeFilter.d.ts +7 -0
  13. package/dist/configuration/pages/log/components/Filters/dateFilter.d.ts +8 -0
  14. package/dist/configuration/pages/log/components/Filters/searchFilter.d.ts +7 -0
  15. package/dist/configuration/pages/log/components/LogsTable/TableLogs.d.ts +2 -0
  16. package/dist/configuration/pages/log/components/LogsTable/customHooks/useLogTableData.d.ts +43 -0
  17. package/dist/configuration/pages/log/components/ModalLogSelected/ModalLogSelected.d.ts +9 -0
  18. package/dist/configuration/pages/log/components/hook/useGetLogsFromAPI.d.ts +10 -0
  19. package/dist/configuration/pages/log/context/LogsContext.d.ts +61 -0
  20. package/dist/configuration/pages/log/data/LogTypeCodes.d.ts +4 -0
  21. package/dist/configuration/pages/log/index.d.ts +4 -0
  22. package/dist/configuration/pages/log/models/Log.d.ts +8 -0
  23. package/dist/configuration/pages/log/models/SearchData.d.ts +6 -0
  24. package/dist/configuration/pages/log/reducers/LogsReducer.d.ts +56 -0
  25. package/dist/configuration/pages/log/repositories/LogsRepository.d.ts +9 -0
  26. package/dist/configuration/pages/profiles/ProfilesPage.d.ts +4 -0
  27. package/dist/configuration/pages/profiles/components/Create/CreateProfile.d.ts +8 -0
  28. package/dist/configuration/pages/profiles/components/Delete/DeleteProfile.d.ts +9 -0
  29. package/dist/configuration/pages/profiles/components/Edit/EditProfile.d.ts +9 -0
  30. package/dist/configuration/pages/profiles/components/ProfilesTable/TableProfiles.d.ts +7 -0
  31. package/dist/configuration/pages/profiles/components/ProfilesTable/customHooks/useTableData.d.ts +21 -0
  32. package/dist/configuration/pages/profiles/components/common/Permissions/hooks/useGetPermissionsEffect.d.ts +7 -0
  33. package/dist/configuration/pages/profiles/components/common/Permissions/hooks/useHandleAsignedPermission.d.ts +6 -0
  34. package/dist/configuration/pages/profiles/components/common/Permissions/hooks/useIsPermissionInherited.d.ts +5 -0
  35. package/dist/configuration/pages/profiles/components/common/Permissions/utils/PermissionsUtils.d.ts +1 -0
  36. package/dist/configuration/pages/profiles/components/common/Pickers/PermissionsPicker.d.ts +11 -0
  37. package/dist/configuration/pages/profiles/components/common/Pickers/ProfilesPicker.d.ts +11 -0
  38. package/dist/configuration/pages/profiles/components/common/Profiles/hook/useGetProfilesEffect.d.ts +7 -0
  39. package/dist/configuration/pages/profiles/components/common/hooks/useGetColorByPermissionId.d.ts +5 -0
  40. package/dist/configuration/pages/profiles/context/ProfileContext.d.ts +26 -0
  41. package/dist/configuration/pages/profiles/index.d.ts +4 -0
  42. package/dist/configuration/pages/profiles/models/FormInitialValues.d.ts +2 -0
  43. package/dist/configuration/pages/profiles/models/Permission.d.ts +4 -0
  44. package/dist/configuration/pages/profiles/models/Profile.d.ts +8 -0
  45. package/dist/configuration/pages/profiles/reducers/ProfilesReducer.d.ts +21 -0
  46. package/dist/configuration/pages/profiles/repositories/ProfilesRepository.d.ts +55 -0
  47. package/dist/configuration/pages/shifCrew/ShiftsCrewsPage.d.ts +4 -0
  48. package/dist/configuration/pages/shifCrew/components/Create/CreateShift.d.ts +8 -0
  49. package/dist/configuration/pages/shifCrew/components/Delete/DeleteShift.d.ts +7 -0
  50. package/dist/configuration/pages/shifCrew/components/Edit/EditShift.d.ts +7 -0
  51. package/dist/configuration/pages/shifCrew/components/TableShifts.d.ts +7 -0
  52. package/dist/configuration/pages/shifCrew/components/customHooks/useTableShift.d.ts +19 -0
  53. package/dist/configuration/pages/shifCrew/context/ShiftsCrewsContext.d.ts +37 -0
  54. package/dist/configuration/pages/shifCrew/index.d.ts +4 -0
  55. package/dist/configuration/pages/shifCrew/models/FormInitialValues.d.ts +2 -0
  56. package/dist/configuration/pages/shifCrew/models/ShiftParameters.d.ts +12 -0
  57. package/dist/configuration/pages/shifCrew/reducers/ShiftsCrewsReducer.d.ts +31 -0
  58. package/dist/configuration/pages/shifCrew/repositories/ShiftsCrewsRepository.d.ts +37 -0
  59. package/dist/configuration/pages/users/UsersPage.d.ts +4 -0
  60. package/dist/configuration/pages/users/components/Create/CreateUser.d.ts +8 -0
  61. package/dist/configuration/pages/users/components/Delete/DeleteUser.d.ts +8 -0
  62. package/dist/configuration/pages/users/components/EditUser/EditUser.d.ts +8 -0
  63. package/dist/configuration/pages/users/components/Prueba/Prueba.d.ts +2 -0
  64. package/dist/configuration/pages/users/components/UsersDataTable/TableUsers.d.ts +7 -0
  65. package/dist/configuration/pages/users/components/UsersDataTable/customHooks/useTableData.d.ts +19 -0
  66. package/dist/configuration/pages/users/components/common/ProfilesPicker.d.ts +8 -0
  67. package/dist/configuration/pages/users/context/UsersContext.d.ts +17 -0
  68. package/dist/configuration/pages/users/index.d.ts +4 -0
  69. package/dist/configuration/pages/users/models/FormInitialValues.d.ts +2 -0
  70. package/dist/configuration/pages/users/models/Profile.d.ts +8 -0
  71. package/dist/configuration/pages/users/models/User.d.ts +11 -0
  72. package/dist/configuration/pages/users/reducers/UsersReducer.d.ts +11 -0
  73. package/dist/configuration/pages/users/repositories/UsersRepository.d.ts +55 -0
  74. package/dist/controls/LazyLoading/LazyLoading.d.ts +3 -0
  75. package/dist/controls/alert.d.ts +3 -0
  76. package/dist/index.esm.js +5635 -0
  77. package/img.png +0 -0
  78. package/package.json +13 -7
  79. package/dist/configuration/JobConfig.d.ts +0 -2
  80. package/dist/configuration/LogConfig.d.ts +0 -2
  81. package/dist/configuration/profileManager.d.ts +0 -2
  82. package/dist/configuration/shiftCrew.d.ts +0 -2
  83. package/dist/configuration/usersManagment.d.ts +0 -2
  84. package/dist/index.cjs.js +0 -3317
package/dist/index.cjs.js DELETED
@@ -1,3317 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var moment = require('moment');
6
- var React = require('react');
7
- var core = require('@material-ui/core');
8
- var reactBootstrap = require('react-bootstrap');
9
- var PropTypes = require('prop-types');
10
- var bar = require('@nivo/bar');
11
- var MenuItem = require('@material-ui/core/MenuItem');
12
- var Select = require('@material-ui/core/Select');
13
- var styles = require('@material-ui/core/styles');
14
- var DatePicker = require('react-datepicker');
15
- var Button = require('@material-ui/core/Button');
16
- var DialogTitle = require('@material-ui/core/DialogTitle');
17
- var DialogContent = require('@material-ui/core/DialogContent');
18
- var DialogActions = require('@material-ui/core/DialogActions');
19
- var Dialog = require('@material-ui/core/Dialog');
20
- var TreeView = require('@material-ui/lab/TreeView');
21
- var SvgIcon = require('@material-ui/core/SvgIcon');
22
- var TreeItem = require('@material-ui/lab/TreeItem');
23
- var Collapse = require('@material-ui/core/Collapse');
24
- var Code = require('@material-ui/icons/Code');
25
- var Folder = require('@material-ui/icons/Folder');
26
- var reactSpring = require('react-spring');
27
- var Grid = require('@material-ui/core/Grid');
28
- var dataGrid = require('@material-ui/data-grid');
29
- var Card = require('@material-ui/core/Card');
30
- var CardActions = require('@material-ui/core/CardActions');
31
- var CardContent = require('@material-ui/core/CardContent');
32
- var Typography = require('@material-ui/core/Typography');
33
- var lodashEs = require('lodash-es');
34
- var msalReact = require('@azure/msal-react');
35
- var msalBrowser = require('@azure/msal-browser');
36
- var reactRouterDom = require('react-router-dom');
37
- var MenuList = require('@material-ui/core/MenuList');
38
-
39
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
40
-
41
- var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
42
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
43
- var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
44
- var MenuItem__default = /*#__PURE__*/_interopDefaultLegacy(MenuItem);
45
- var Select__default = /*#__PURE__*/_interopDefaultLegacy(Select);
46
- var DatePicker__default = /*#__PURE__*/_interopDefaultLegacy(DatePicker);
47
- var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
48
- var DialogTitle__default = /*#__PURE__*/_interopDefaultLegacy(DialogTitle);
49
- var DialogContent__default = /*#__PURE__*/_interopDefaultLegacy(DialogContent);
50
- var DialogActions__default = /*#__PURE__*/_interopDefaultLegacy(DialogActions);
51
- var Dialog__default = /*#__PURE__*/_interopDefaultLegacy(Dialog);
52
- var TreeView__default = /*#__PURE__*/_interopDefaultLegacy(TreeView);
53
- var SvgIcon__default = /*#__PURE__*/_interopDefaultLegacy(SvgIcon);
54
- var TreeItem__default = /*#__PURE__*/_interopDefaultLegacy(TreeItem);
55
- var Collapse__default = /*#__PURE__*/_interopDefaultLegacy(Collapse);
56
- var Code__default = /*#__PURE__*/_interopDefaultLegacy(Code);
57
- var Folder__default = /*#__PURE__*/_interopDefaultLegacy(Folder);
58
- var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
59
- var Card__default = /*#__PURE__*/_interopDefaultLegacy(Card);
60
- var CardActions__default = /*#__PURE__*/_interopDefaultLegacy(CardActions);
61
- var CardContent__default = /*#__PURE__*/_interopDefaultLegacy(CardContent);
62
- var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
63
- var MenuList__default = /*#__PURE__*/_interopDefaultLegacy(MenuList);
64
-
65
- /******************************************************************************
66
- Copyright (c) Microsoft Corporation.
67
-
68
- Permission to use, copy, modify, and/or distribute this software for any
69
- purpose with or without fee is hereby granted.
70
-
71
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
72
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
73
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
74
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
75
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
76
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
77
- PERFORMANCE OF THIS SOFTWARE.
78
- ***************************************************************************** */
79
- /* global Reflect, Promise */
80
-
81
- var extendStatics = function(d, b) {
82
- extendStatics = Object.setPrototypeOf ||
83
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
84
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
85
- return extendStatics(d, b);
86
- };
87
-
88
- function __extends(d, b) {
89
- if (typeof b !== "function" && b !== null)
90
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
91
- extendStatics(d, b);
92
- function __() { this.constructor = d; }
93
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
94
- }
95
-
96
- var __assign = function() {
97
- __assign = Object.assign || function __assign(t) {
98
- for (var s, i = 1, n = arguments.length; i < n; i++) {
99
- s = arguments[i];
100
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
101
- }
102
- return t;
103
- };
104
- return __assign.apply(this, arguments);
105
- };
106
-
107
- function __rest(s, e) {
108
- var t = {};
109
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
110
- t[p] = s[p];
111
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
112
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
113
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
114
- t[p[i]] = s[p[i]];
115
- }
116
- return t;
117
- }
118
-
119
- function __awaiter(thisArg, _arguments, P, generator) {
120
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
121
- return new (P || (P = Promise))(function (resolve, reject) {
122
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
123
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
124
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
125
- step((generator = generator.apply(thisArg, _arguments || [])).next());
126
- });
127
- }
128
-
129
- function __generator(thisArg, body) {
130
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
131
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
132
- function verb(n) { return function (v) { return step([n, v]); }; }
133
- function step(op) {
134
- if (f) throw new TypeError("Generator is already executing.");
135
- while (_) try {
136
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
137
- if (y = 0, t) op = [op[0] & 2, t.value];
138
- switch (op[0]) {
139
- case 0: case 1: t = op; break;
140
- case 4: _.label++; return { value: op[1], done: false };
141
- case 5: _.label++; y = op[1]; op = [0]; continue;
142
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
143
- default:
144
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
145
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
146
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
147
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
148
- if (t[2]) _.ops.pop();
149
- _.trys.pop(); continue;
150
- }
151
- op = body.call(thisArg, _);
152
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
153
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
154
- }
155
- }
156
-
157
- function __spreadArray(to, from, pack) {
158
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
159
- if (ar || !(i in from)) {
160
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
161
- ar[i] = from[i];
162
- }
163
- }
164
- return to.concat(ar || Array.prototype.slice.call(from));
165
- }
166
-
167
- var MESSAGE_API = {
168
- ERROR_MESSAGE: 'There was an error to connect to server.',
169
- ERROR_EMPTY_SEARCH: "Empty rows"
170
- };
171
- var MESSAGE_ERRORS = {
172
- ERROR_TITLE: 'There was an error',
173
- ERROR_EMPTY_SEARCH: "Empty rows",
174
- ERROR_USER_API: "Error on fetching data",
175
- ERROR_USER_DEFAULT: "Unknow error",
176
- ERROR_SAVE_DATA: "Error on saving data",
177
- SUCCESS_SAVE_DATA: "Data was saved successfully"
178
- };
179
- var USER_LABELS = {
180
- CHOOSE_OPTION: 'Choose an option'
181
- };
182
- var FetchError = /** @class */ (function (_super) {
183
- __extends(FetchError, _super);
184
- function FetchError(message, status, internalError) {
185
- var _this = _super.call(this, message) || this;
186
- _this.getMessageUser = function () {
187
- if (_this.name === 'FetchError')
188
- return MESSAGE_ERRORS.ERROR_USER_API;
189
- return MESSAGE_ERRORS.ERROR_USER_DEFAULT;
190
- };
191
- _this.name = 'FetchError';
192
- _this.message = message || 'Error al procesar la solicitud';
193
- _this.status = status;
194
- _this.internalError = internalError;
195
- _this.stack = _this.stack || '';
196
- return _this;
197
- }
198
- return FetchError;
199
- }(Error));
200
-
201
- var BarChartControl = function (props) {
202
- var height = props.height, minWidth = props.minWidth, data = props.data, keys = props.keys, indexBy = props.indexBy, legendX = props.legendX, legendY = props.legendY, colors = props.colors, other = __rest(props, ["height", "minWidth", "data", "keys", "indexBy", "legendX", "legendY", "colors"]);
203
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
204
- React__default["default"].createElement("div", { className: "container-fluid my-2 p-2", style: { "height": height, "minWidth": minWidth } },
205
- React__default["default"].createElement(bar.ResponsiveBar, __assign({ data: data, keys: keys, indexBy: indexBy, margin: { top: 50, right: 130, bottom: 50, left: 60 }, padding: 0.3, valueScale: { type: 'linear' }, indexScale: { type: 'band', round: true }, colors: colors === undefined ? { scheme: 'nivo' } : colors, defs: [
206
- {
207
- id: 'dots',
208
- type: 'patternDots',
209
- background: 'inherit',
210
- color: '#38bcb2',
211
- size: 4,
212
- padding: 1,
213
- stagger: true
214
- },
215
- {
216
- id: 'lines',
217
- type: 'patternLines',
218
- background: 'inherit',
219
- color: '#eed312',
220
- rotation: -45,
221
- lineWidth: 6,
222
- spacing: 10
223
- }
224
- ], fill: [
225
- {
226
- match: {
227
- id: 'fries'
228
- },
229
- id: 'dots'
230
- },
231
- {
232
- match: {
233
- id: 'sandwich'
234
- },
235
- id: 'lines'
236
- }
237
- ], borderColor: { from: 'color', modifiers: [['darker', 1.6]] }, axisTop: null, axisRight: null, axisBottom: {
238
- tickSize: 5,
239
- tickPadding: 5,
240
- tickRotation: 0,
241
- legend: (legendX === undefined ? '' : legendX),
242
- legendPosition: 'middle',
243
- legendOffset: 32
244
- }, axisLeft: {
245
- tickSize: 5,
246
- tickPadding: 5,
247
- tickRotation: 0,
248
- legend: (legendY === undefined ? '' : legendY),
249
- legendPosition: 'middle',
250
- legendOffset: -40
251
- }, labelSkipWidth: 12, labelSkipHeight: 12, labelTextColor: { from: 'color', modifiers: [['darker', 1.6]] },
252
- // legends={[
253
- // {
254
- // dataFrom: 'keys',
255
- // anchor: 'bottom-right',
256
- // direction: 'column',
257
- // justify: false,
258
- // translateX: 120,
259
- // translateY: 0,
260
- // itemsSpacing: 2,
261
- // itemWidth: 100,
262
- // itemHeight: 20,
263
- // itemDirection: 'left-to-right',
264
- // itemOpacity: 0.85,
265
- // symbolSize: 20,
266
- // effects: [
267
- // {
268
- // on: 'hover',
269
- // style: {
270
- // itemOpacity: 1
271
- // }
272
- // }
273
- // ]
274
- // }
275
- // ]}
276
- animate: true, motionStiffness: 90, motionDamping: 15 }, other)))));
277
- };
278
- BarChartControl.propTypes = {
279
- data: PropTypes__default["default"].array,
280
- keys: PropTypes__default["default"].array
281
- };
282
-
283
- /**********************MATERIAL UI STYLES********************** */
284
- /*************************************************************** */
285
- function MinusSquare(props) {
286
- return (React__default["default"].createElement(SvgIcon__default["default"], __assign({ fontSize: "inherit", style: { width: 14, height: 14 } }, props),
287
- React__default["default"].createElement("path", { d: "M22.047 22.074v0 0-20.147 0h-20.12v0 20.147 0h20.12zM22.047 24h-20.12q-.803 0-1.365-.562t-.562-1.365v-20.147q0-.776.562-1.351t1.365-.575h20.147q.776 0 1.351.575t.575 1.351v20.147q0 .803-.575 1.365t-1.378.562v0zM17.873 11.023h-11.826q-.375 0-.669.281t-.294.682v0q0 .401.294 .682t.669.281h11.826q.375 0 .669-.281t.294-.682v0q0-.401-.294-.682t-.669-.281z" })));
288
- }
289
- function PlusSquare(props) {
290
- return (React__default["default"].createElement(SvgIcon__default["default"], __assign({ fontSize: "inherit", style: { width: 14, height: 14 } }, props),
291
- React__default["default"].createElement("path", { d: "M22.047 22.074v0 0-20.147 0h-20.12v0 20.147 0h20.12zM22.047 24h-20.12q-.803 0-1.365-.562t-.562-1.365v-20.147q0-.776.562-1.351t1.365-.575h20.147q.776 0 1.351.575t.575 1.351v20.147q0 .803-.575 1.365t-1.378.562v0zM17.873 12.977h-4.923v4.896q0 .401-.281.682t-.682.281v0q-.375 0-.669-.281t-.294-.682v-4.896h-4.923q-.401 0-.682-.294t-.281-.669v0q0-.401.281-.682t.682-.281h4.923v-4.896q0-.401.294-.682t.669-.281v0q.401 0 .682.281t.281.682v4.896h4.923q.401 0 .682.281t.281.682v0q0 .375-.281.669t-.682.294z" })));
292
- }
293
- function TransitionComponent(props) {
294
- var style = reactSpring.useSpring({
295
- from: { opacity: 0, transform: 'translate3d(20px,0,0)' },
296
- to: { opacity: props["in"] ? 1 : 0, transform: "translate3d(".concat(props["in"] ? 0 : 20, "px,0,0)") }
297
- });
298
- return (React__default["default"].createElement(reactSpring.animated.div, { style: style },
299
- React__default["default"].createElement(Collapse__default["default"], __assign({}, props))));
300
- }
301
- TransitionComponent.propTypes = {
302
- /**
303
- * Show the component; triggers the enter or exit states
304
- */
305
- "in": PropTypes__default["default"].bool
306
- };
307
- var StyledTreeItem = styles.withStyles(function (theme) { return ({
308
- iconContainer: {
309
- '& .close': {
310
- opacity: 0.3
311
- }
312
- },
313
- group: {
314
- marginLeft: 7,
315
- paddingLeft: 18,
316
- borderLeft: "1px dashed ".concat(styles.alpha(theme.palette.text.primary, 0.4))
317
- }
318
- }); })(function (props) { return (
319
- /* @ts-ignore */
320
- React__default["default"].createElement(TreeItem__default["default"], __assign({}, props, { TransitionComponent: TransitionComponent }))); });
321
- var useTreviewStyle = styles.makeStyles(function (theme) { return ({
322
- root: {
323
- "min-height": 264,
324
- flexGrow: 1,
325
- maxWidth: 400
326
- },
327
- treLabelIcon: {
328
- marginRight: theme.spacing(1)
329
- },
330
- treeLabelRoot: {
331
- display: 'flex',
332
- alignItems: 'center',
333
- padding: theme.spacing(0.5, 0)
334
- },
335
- treeLabelText: {
336
- fontWeight: 'inherit',
337
- flexGrow: 1
338
- },
339
- treeLabelInactive: {
340
- textDecoration: 'line-through',
341
- textDecorationColor: 'red'
342
- }
343
- }); });
344
- var ModalTreeFilterControl = function (props) {
345
- var onClose = props.onClose, valueProp = props.value, open = props.open, title = props.title, data = props.data, selectBranch = props.selectBranch, selectActive = props.selectActive, selectInternal = props.selectInternal, other = __rest(props, ["onClose", "value", "open", "title", "data", "selectBranch", "selectActive", "selectInternal"]);
346
- var _a = React.useState(valueProp), value = _a[0], setValue = _a[1];
347
- var _b = React.useState([]), expanded = _b[0], setExpanded = _b[1];
348
- var treeRef = React.useRef(null);
349
- React.useEffect(function () {
350
- if (!open) {
351
- setValue(valueProp);
352
- }
353
- else {
354
- if (valueProp !== undefined)
355
- expandNode(valueProp);
356
- }
357
- }, [valueProp, open]); // eslint-disable-line react-hooks/exhaustive-deps
358
- React.useEffect(function () {
359
- if (open) {
360
- var findNode = getNodeData(data, parseInt(value));
361
- if (findNode === null)
362
- findNode = {};
363
- var activeFilter = (selectActive && findNode.isActive) || selectActive !== true;
364
- var internalFilter = (selectInternal && findNode.isInternal) || selectInternal !== true;
365
- if (findNode.isLeaf) {
366
- if (activeFilter && internalFilter)
367
- onClose(value, findNode.name, findNode);
368
- }
369
- }
370
- }, [value]); // eslint-disable-line react-hooks/exhaustive-deps
371
- var handleEntering = function () {
372
- if (treeRef.current != null) {
373
- treeRef.current.focus();
374
- }
375
- };
376
- var handleCancel = function () {
377
- onClose();
378
- };
379
- var handleOk = function () {
380
- var findNode = getNodeData(data, parseInt(value));
381
- if (findNode === null)
382
- findNode = {};
383
- var activeFilter = (selectActive && findNode.isActive) || selectActive !== true;
384
- var internalFilter = (selectInternal && findNode.isInternal) || selectInternal !== true;
385
- var branchFilter = (selectBranch && !findNode.isLeaf);
386
- if (findNode.isLeaf) {
387
- if (activeFilter && internalFilter)
388
- onClose(value, findNode.name, findNode);
389
- }
390
- else {
391
- if (branchFilter)
392
- onClose(value, findNode.name, findNode);
393
- }
394
- };
395
- var expandNode = function (node, same) {
396
- var expandedNode = getNodeParent(data, node, []);
397
- expandedNode.push(node.toString());
398
- setExpanded(expandedNode);
399
- };
400
- var handleChange = function (event, node) {
401
- setValue(node);
402
- };
403
- var handleToogle = function (event, nodes) {
404
- setExpanded(nodes);
405
- };
406
- var getNodeData = function (node, id) {
407
- if (id === undefined)
408
- return null;
409
- if (node.id === id)
410
- return node;
411
- if (Array.isArray(node.children)) {
412
- var i;
413
- var result = null;
414
- for (i = 0; result == null && i < node.children.length; i++) {
415
- result = getNodeData(node.children[i], id);
416
- }
417
- return result;
418
- }
419
- return null;
420
- };
421
- var classes = useTreviewStyle();
422
- var renderTree = function (nodes) { return (
423
- /* @ts-ignore */
424
- React__default["default"].createElement(StyledTreeItem, { key: nodes.id, nodeId: nodes.id.toString(), label: React__default["default"].createElement("div", { className: classes.treeLabelRoot },
425
- nodes.isCode === true &&
426
- React__default["default"].createElement(Code__default["default"], { className: classes.treeLabelIcon, htmlColor: "#1ABC9C" }),
427
- nodes.isCode === false &&
428
- React__default["default"].createElement(Folder__default["default"], { className: classes.treeLabelIcon, htmlColor: '#F1C40F' }),
429
- React__default["default"].createElement(core.Typography, { variant: "body2", className: [classes.treeLabelText, (nodes.isActive ? '' : classes.treeLabelInactive)].join(' ') },
430
- React__default["default"].createElement("span", null,
431
- nodes.isCode &&
432
- React__default["default"].createElement("i", { className: "fas fa-square mr-2", style: { "color": (nodes.delayCategoryColor || '#FFFFFF') } }),
433
- nodes.name))), className: "delay-item-node", id: nodes.id, "data-isbranch": !nodes.isCode }, Array.isArray(nodes.children) ? nodes.children.map(function (node) { return renderTree(node); }) : null)); };
434
- var getNodeParent = function (node, id, chain) {
435
- if (id === undefined)
436
- return [];
437
- if (node.id.toString() === id.toString())
438
- return chain;
439
- if (Array.isArray(node.children)) {
440
- var i;
441
- var result = null;
442
- chain.push(node.id.toString());
443
- for (i = 0; result == null && i < node.children.length; i++) {
444
- result = getNodeParent(node.children[i], id, chain);
445
- }
446
- return result;
447
- }
448
- return null;
449
- };
450
- return (React__default["default"].createElement(Dialog__default["default"], __assign({ onClose: function (event, reason) { return null; }, "aria-label": title, maxWidth: "xs", TransitionProps: { onEntering: handleEntering }, "aria-labelledby": "confirmation-dialog-title", open: open }, other),
451
- React__default["default"].createElement(DialogTitle__default["default"], { id: "confirmation-dialog-title" }, title),
452
- React__default["default"].createElement(DialogContent__default["default"], { dividers: true },
453
- React__default["default"].createElement(TreeView__default["default"], { className: classes.root, defaultCollapseIcon: React__default["default"].createElement(MinusSquare, null), defaultExpandIcon: React__default["default"].createElement(PlusSquare, null), ref: treeRef, selected: value === undefined ? "" : value.toString(), expanded: expanded,
454
- /* @ts-ignore */
455
- onNodeSelect: handleChange, onNodeToggle: handleToogle }, data.id !== undefined &&
456
- renderTree(data))),
457
- React__default["default"].createElement(DialogActions__default["default"], null,
458
- React__default["default"].createElement(Button__default["default"], { autoFocus: true, onClick: handleCancel, color: "primary" }, "Cancel"),
459
- React__default["default"].createElement(Button__default["default"], { onClick: handleOk, color: "primary" }, "Ok"))));
460
- };
461
- ModalTreeFilterControl.propTypes = {
462
- onClose: PropTypes__default["default"].func.isRequired,
463
- open: PropTypes__default["default"].bool.isRequired,
464
- title: PropTypes__default["default"].string.isRequired,
465
- data: PropTypes__default["default"].object.isRequired
466
- };
467
-
468
- var TreePickerControl = function (props) {
469
- var useStyles = styles.makeStyles(function (theme) { return ({
470
- root: {
471
- width: '100%',
472
- backgroundColor: theme.palette.background.paper,
473
- "& .MuiInputBase-input": {
474
- color: "black",
475
- cursor: "pointer",
476
- paddingRight: 45
477
- }
478
- },
479
- paper: {
480
- width: '100%',
481
- maxWidth: 600,
482
- maxHeight: 600
483
- }
484
- }); });
485
- var classes = useStyles();
486
- var onSelect = props.onSelect, value = props.value; props.styleLabel; var dataSource = props.dataSource, other = __rest(props, ["onSelect", "value", "styleLabel", "dataSource"]);
487
- var _a = React__default["default"].useState(false), open = _a[0], setOpen = _a[1];
488
- var handleClickListItem = function () {
489
- setOpen(true);
490
- };
491
- var handleClose = function (newValue, newDescription, findNode) {
492
- setOpen(false);
493
- if (newValue) {
494
- if (onSelect !== undefined)
495
- onSelect(newValue, newDescription, findNode);
496
- }
497
- };
498
- return (React__default["default"].createElement(Grid__default["default"], { container: true, className: classes.root },
499
- React__default["default"].createElement(Grid__default["default"], { item: true, md: 12, xs: 12, style: { position: "relative" } },
500
- React__default["default"].createElement(core.TextField, { label: "Asset", variant: "outlined", onClick: handleClickListItem, value: props.description, margin: "dense", autoComplete: 'off', fullWidth: true, disabled: true }),
501
- React__default["default"].createElement(React__default["default"].Fragment, null,
502
- React__default["default"].createElement("i", { className: "fa fa-search", onClick: handleClickListItem, style: { position: "absolute", right: 17, top: 20, cursor: "pointer" } }))),
503
- React__default["default"].createElement(ModalTreeFilterControl, __assign({ classes: {
504
- paper: classes.paper
505
- }, id: "modal-treeview-filter", title: props.title, keepMounted: true, open: open, onClose: handleClose, value: value, data: dataSource }, other))));
506
- };
507
- function DateControl(_a) {
508
- var value = _a.value, onChange = _a.onChange, title = _a.title, styleGeneral = _a.styleGeneral, styleLabel = _a.styleLabel;
509
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
510
- React__default["default"].createElement("div", { className: "input-group row", style: (styleGeneral || {}) },
511
- React__default["default"].createElement("div", { className: "input-group-prepend col-sm-3" },
512
- React__default["default"].createElement("span", { className: "input-group-text", style: (styleLabel || {}) }, title)),
513
- React__default["default"].createElement("div", { className: "col-sm-9" },
514
- React__default["default"].createElement(DatePicker__default["default"], { className: "form-control mes-filter-datepicker", selected: value, onChange: function (date) { return onChange(date); } })))));
515
- }
516
- var DateTimeControl = function (props) {
517
- var value = props.value, title = props.title, styleLabel = props.styleLabel, readOnly = props.readOnly, styleTextTimeBox = props.styleTextTimeBox, onChange = props.onChange, name = props.name;
518
- var formatTime = function () {
519
- var date = moment__default["default"](value);
520
- if (!date.isValid())
521
- return '';
522
- return date.format('HH:mm:ss');
523
- };
524
- var _a = React__default["default"].useState(formatTime()), formattedTimeValue = _a[0], setFormattedTimeValue = _a[1];
525
- var changeDate = function (e) {
526
- setFormattedTimeValue(e.target.value);
527
- };
528
- var blurDate = function (e) {
529
- var date = moment__default["default"](e.target.value, 'hh:mm:ss');
530
- if (date.isValid() && moment__default["default"](value).isValid()) {
531
- var newDate = (moment__default["default"](value)).set('hour', date.hour()).set('minute', date.minute()).set('second', date.second());
532
- onChange(newDate.toDate(), name || '');
533
- }
534
- else {
535
- setFormattedTimeValue(formatTime());
536
- }
537
- };
538
- React__default["default"].useEffect(function () {
539
- setFormattedTimeValue(formatTime());
540
- }, [value]); // eslint-disable-line react-hooks/exhaustive-deps
541
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
542
- React__default["default"].createElement("div", { className: "input-group" },
543
- React__default["default"].createElement("div", { className: "input-group-prepend" },
544
- React__default["default"].createElement("span", { className: "input-group-text", style: (styleLabel || {}) }, title)),
545
- React__default["default"].createElement(DatePicker__default["default"], { className: "form-control mes-filter-datepicker mes-not-rounded", selected: value, onChange: function (date) { return onChange(date, name || ''); }, readOnly: readOnly || false }),
546
- React__default["default"].createElement("input", { type: "text", className: "form-control input-group-append mes-filter-datetimepicker", placeholder: "time", value: formattedTimeValue || '', readOnly: readOnly || false, style: styleTextTimeBox || {}, onBlur: function (e) { return blurDate(e); }, onChange: function (e) { return changeDate(e); } }))));
547
- };
548
- var SimpleTimeControl = function (props) {
549
- var value = props.value, title = props.title, styleLabel = props.styleLabel, readOnly = props.readOnly, styleTextBox = props.styleTextBox, onChange = props.onChange, name = props.name;
550
- var formatDate = function () {
551
- var date = moment__default["default"](value);
552
- if (!date.isValid())
553
- return 'INVALID TIME';
554
- return date.format('HH:mm:ss');
555
- };
556
- var _a = React__default["default"].useState(formatDate()), formattedValue = _a[0], setFormattedValue = _a[1];
557
- React__default["default"].useEffect(function () {
558
- setFormattedValue(formatDate());
559
- }, [value]); // eslint-disable-line react-hooks/exhaustive-deps
560
- var blurDate = function (e) {
561
- var date = moment__default["default"](e.target.value, 'hh:mm:ss');
562
- if (date.isValid() && moment__default["default"](value).isValid()) {
563
- var newDate = (moment__default["default"](value)).set('hour', date.hour()).set('minute', date.minute()).set('second', date.second());
564
- onChange(newDate.toDate(), name || '');
565
- }
566
- else {
567
- setFormattedValue(formatDate());
568
- }
569
- };
570
- var changeDate = function (e) {
571
- setFormattedValue(e.target.value);
572
- };
573
- return (React__default["default"].createElement("div", { className: "input-group" },
574
- React__default["default"].createElement("div", { className: "input-group-prepend" },
575
- React__default["default"].createElement("span", { className: "input-group-text", style: (styleLabel || {}) }, title)),
576
- React__default["default"].createElement("input", { type: "text", className: "form-control", placeholder: title, readOnly: readOnly || false, value: formattedValue || '', onBlur: function (e) { return blurDate(e); }, onChange: function (e) { return changeDate(e); }, style: styleTextBox || {} })));
577
- };
578
- function SimpleInputSearchControl(_a) {
579
- var title = _a.title, styleLabel = _a.styleLabel, isNumeric = _a.isNumeric, readOnly = _a.readOnly, value = _a.value, onChange = _a.onChange, name = _a.name, styleTextBox = _a.styleTextBox, onKeyDown = _a.onKeyDown, lengthCharacters = _a.lengthCharacters;
580
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
581
- React__default["default"].createElement("div", { className: "input-group" },
582
- React__default["default"].createElement("div", { className: "input-group-prepend" },
583
- React__default["default"].createElement("span", { className: "input-group-text", style: (styleLabel || {}) }, title)),
584
- React__default["default"].createElement("input", { type: "text", className: "form-control " + (isNumeric ? 'mes-numeric' : ''), placeholder: title, readOnly: readOnly, value: value || '', onChange: function (e) { return onChange(e.target.value, name || ''); }, style: (styleTextBox || {}), onKeyDown: function (e) { return onKeyDown(e); }, maxLength: lengthCharacters || '' }))));
585
- }
586
- var TimeControl = /** @class */ (function (_super) {
587
- __extends(TimeControl, _super);
588
- function TimeControl() {
589
- return _super !== null && _super.apply(this, arguments) || this;
590
- }
591
- TimeControl.prototype.render = function () {
592
- var _this = this;
593
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
594
- React__default["default"].createElement("div", { className: "input-group" },
595
- React__default["default"].createElement("div", { className: "input-group-prepend" },
596
- React__default["default"].createElement("span", { className: "input-group-text", style: (this.props.styleLabel || {}) }, this.props.title)),
597
- React__default["default"].createElement(DatePicker__default["default"], { className: "form-control mes-filter-datepicker", selected: this.props.value, onChange: function (date) { return _this.props.onChange(date, _this.props.name || ''); }, showTimeSelect: this.props.showSelector || false, showTimeSelectOnly: true, timeIntervals: 15, timeCaption: "Time", dateFormat: "HH:mm:ss", timeFormat: "HH:mm", readOnly: this.props.readOnly || false }))));
598
- };
599
- return TimeControl;
600
- }(React.Component));
601
- var SimpleTextControl = /** @class */ (function (_super) {
602
- __extends(SimpleTextControl, _super);
603
- function SimpleTextControl() {
604
- return _super !== null && _super.apply(this, arguments) || this;
605
- }
606
- SimpleTextControl.prototype.render = function () {
607
- var _this = this;
608
- return (React__default["default"].createElement("div", { className: "input-group" },
609
- React__default["default"].createElement("div", { className: "input-group-prepend" },
610
- React__default["default"].createElement("span", { className: "input-group-text", style: (this.props.styleLabel || {}) }, this.props.title)),
611
- React__default["default"].createElement("input", { type: "text", className: "form-control " + (this.props.isNumeric ? 'mes-numeric' : ''), placeholder: this.props.title, readOnly: this.props.readOnly, value: this.props.value || '', onChange: function (e) { return _this.props.onChange(e.target.value, _this.props.name || ''); }, style: (this.props.styleTextBox || {}), maxLength: this.props.lengthCharacters || '' })));
612
- };
613
- return SimpleTextControl;
614
- }(React.Component));
615
- var SimplePasswordControl = /** @class */ (function (_super) {
616
- __extends(SimplePasswordControl, _super);
617
- function SimplePasswordControl() {
618
- return _super !== null && _super.apply(this, arguments) || this;
619
- }
620
- SimplePasswordControl.prototype.render = function () {
621
- var _this = this;
622
- return (React__default["default"].createElement("div", { className: "input-group" },
623
- React__default["default"].createElement("div", { className: "input-group-prepend" },
624
- React__default["default"].createElement("span", { className: "input-group-text", style: (this.props.styleLabel || {}) }, this.props.title)),
625
- React__default["default"].createElement("input", { className: "form-control ", type: "password", placeholder: this.props.title, readOnly: this.props.readOnly, value: this.props.value || '', onChange: function (e) { return _this.props.onChange(e.target.value, _this.props.name || ''); }, style: (this.props.styleTextBox || {}), maxLength: this.props.lengthCharacters || '' })));
626
- };
627
- return SimplePasswordControl;
628
- }(React.Component));
629
- var formatNumber = function (value) {
630
- var number = Number(value);
631
- if (Number.isNaN(number))
632
- return '';
633
- return number.toString();
634
- };
635
- var NumericTextControl = function (props) {
636
- var value = props.value, title = props.title, styleLabel = props.styleLabel, readOnly = props.readOnly, styleTextBox = props.styleTextBox, onChange = props.onChange, name = props.name, typeNumber = props.typeNumber; //typeNumber 1 = real, 2 = integer, 3 = natural
637
- var _a = React__default["default"].useState(formatNumber(value)), formattedValue = _a[0], setFormattedValue = _a[1];
638
- var changedValue = function (e) {
639
- setFormattedValue(e.target.value);
640
- };
641
- var valueBlured = function (inputValue) {
642
- var number = Number(inputValue);
643
- if (Number.isNaN(number))
644
- setFormattedValue(formatNumber(value));
645
- else if (typeNumber === 2 && !Number.isInteger(number))
646
- setFormattedValue(formatNumber(value));
647
- else if (typeNumber === 3 && (!Number.isInteger(number) || number < 0))
648
- setFormattedValue(formatNumber(value));
649
- else
650
- onChange(number, name || '');
651
- };
652
- React__default["default"].useEffect(function () {
653
- setFormattedValue(formatNumber(value));
654
- }, [value]); // eslint-disable-line react-hooks/exhaustive-deps
655
- return (React__default["default"].createElement("div", { className: "input-group" },
656
- React__default["default"].createElement("div", { className: "input-group-prepend" },
657
- React__default["default"].createElement("span", { className: "input-group-text", style: (styleLabel || {}) }, title)),
658
- React__default["default"].createElement("input", { type: "text", className: "form-control mes-numeric", placeholder: title, readOnly: readOnly, value: formattedValue || '', onChange: function (e) { return changedValue(e); }, onBlur: function (e) { return valueBlured(e.target.value); }, style: (styleTextBox || {}) })));
659
- };
660
- var HorizontalTextControl = /** @class */ (function (_super) {
661
- __extends(HorizontalTextControl, _super);
662
- function HorizontalTextControl() {
663
- return _super !== null && _super.apply(this, arguments) || this;
664
- }
665
- HorizontalTextControl.prototype.render = function () {
666
- var _this = this;
667
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
668
- React__default["default"].createElement("div", { className: "input-group" },
669
- React__default["default"].createElement("div", { className: "input-group-prepend" },
670
- React__default["default"].createElement("span", { className: "input-group-text", style: (this.props.styleLabel || {}) }, this.props.title)),
671
- React__default["default"].createElement("input", { type: "text", className: "form-control " + (this.props.isNumeric ? 'mes-numeric' : ''), placeholder: this.props.title, readOnly: this.props.readOnly, value: this.props.value || '', style: (this.props.styleText || {}), onChange: function (e) { return _this.props.onChange(e.target.value, _this.props.name || ''); } }),
672
- React__default["default"].createElement("div", { className: "input-group-append" },
673
- React__default["default"].createElement("span", { className: "input-group-text", style: (this.props.styleSubLabel || {}) }, this.props.subTitle || '')))));
674
- };
675
- return HorizontalTextControl;
676
- }(React.Component));
677
- var SimpleTextAreaControl = /** @class */ (function (_super) {
678
- __extends(SimpleTextAreaControl, _super);
679
- function SimpleTextAreaControl() {
680
- return _super !== null && _super.apply(this, arguments) || this;
681
- }
682
- SimpleTextAreaControl.prototype.render = function () {
683
- var _this = this;
684
- return (React__default["default"].createElement("div", { className: "input-group" },
685
- React__default["default"].createElement("div", { className: "input-group-prepend" },
686
- React__default["default"].createElement("span", { className: "input-group-text", style: (this.props.styleLabel || {}) }, this.props.title)),
687
- React__default["default"].createElement("textarea", { className: "form-control", placeholder: this.props.title, value: this.props.value || '', onChange: function (e) { return _this.props.onChange(e.target.value, _this.props.name || ''); }, style: (this.props.styleText || {}), disabled: !!(this.props.disabled) })));
688
- };
689
- return SimpleTextAreaControl;
690
- }(React.Component));
691
- function SimpleSelectorControl(_a) {
692
- var title = _a.title, dataSource = _a.dataSource, selectedValue = _a.selectedValue, onChange = _a.onChange, showColor = _a.showColor, styleLabel = _a.styleLabel, styleList = _a.styleList, hasChoose = _a.hasChoose;
693
- var options = dataSource.map(function (item, index) {
694
- return React__default["default"].createElement(MenuItem__default["default"], { value: item.id.toString(), key: index },
695
- showColor === true &&
696
- React__default["default"].createElement("i", { className: "fas fa-square mr-2", style: { "color": (item.color || '#FFFFFF') } }),
697
- React__default["default"].createElement("span", null, item.description));
698
- });
699
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
700
- React__default["default"].createElement("div", { className: "input-group" },
701
- React__default["default"].createElement("div", { className: "input-group-prepend" },
702
- React__default["default"].createElement("span", { className: "input-group-text", style: (styleLabel || {}) }, title)),
703
- React__default["default"].createElement(Select__default["default"], { className: "custom-select mes-custom-select", onChange: function (e) { return onChange(e.target.value === 'DEFAULT' ? '' : e.target.value); }, value: selectedValue || "DEFAULT", style: (styleList || {}) },
704
- (hasChoose && React__default["default"].createElement(MenuItem__default["default"], { value: "DEFAULT" }, "Choose " + title)),
705
- options))));
706
- }
707
- var MultipleSelectorControl = function (props) {
708
- var options = (props.dataSource || []).map(function (item, index) {
709
- return React__default["default"].createElement("option", { value: item[props.valueField], key: index, className: "p-1" }, item[props.textField]);
710
- });
711
- return (React__default["default"].createElement("div", { className: "card" },
712
- React__default["default"].createElement("div", { className: "card-header" }, props.title || ''),
713
- React__default["default"].createElement("div", { className: "card-body p-0" },
714
- React__default["default"].createElement("select", { className: "form-select col-md-12 p-0 mes-no-border", multiple: true, "aria-label": props.title || '', value: props.value || [], onChange: function (e) { var value = Array.from(e.target.selectedOptions, function (option) { return option.value; }); props.onChange(value); }, onDoubleClick: props.onDoubleClick || undefined }, options))));
715
- };
716
- var CheckBoxControl = function (props) {
717
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
718
- React__default["default"].createElement("div", { className: "input-group" },
719
- React__default["default"].createElement("div", { className: "input-group-prepend" },
720
- React__default["default"].createElement("div", { className: "input-group-text" },
721
- React__default["default"].createElement("input", { type: "checkbox", checked: props.value, onChange: function (e) { props.onCheck(e.target.checked); }, disabled: props.disabled }))),
722
- React__default["default"].createElement("input", { type: "text", className: "form-control", "aria-label": props.title, value: props.title, readOnly: true, style: (props.styleTextBox || []) }))));
723
- };
724
- var UploadFileControl = function (props) {
725
- var FileChanged = function (e) {
726
- props.onChange(e.target.files[0]);
727
- };
728
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
729
- React__default["default"].createElement("div", { className: "input-group mes-upload-control" },
730
- React__default["default"].createElement("div", { className: "input-group-prepend" },
731
- React__default["default"].createElement("div", { className: "input-group-text p-0 file-box" },
732
- React__default["default"].createElement("div", { className: "file-detail", style: {} },
733
- props.selectedFile &&
734
- React__default["default"].createElement(React__default["default"].Fragment, null,
735
- React__default["default"].createElement("h5", null, "File Details:"),
736
- React__default["default"].createElement("table", null,
737
- React__default["default"].createElement("tbody", null,
738
- React__default["default"].createElement("tr", null,
739
- React__default["default"].createElement("td", null,
740
- "File Name: ",
741
- props.selectedFile.name)),
742
- React__default["default"].createElement("tr", null,
743
- React__default["default"].createElement("td", null,
744
- "File Type: ",
745
- props.selectedFile.type)),
746
- React__default["default"].createElement("tr", null,
747
- React__default["default"].createElement("td", null,
748
- "Last Modified: ",
749
- props.selectedFile.lastModifiedDate.toDateString()))))),
750
- props.selectedFile === undefined &&
751
- React__default["default"].createElement("div", { className: "pt-4" },
752
- React__default["default"].createElement(core.Typography, null, "Select or drag a file"))),
753
- React__default["default"].createElement("input", { id: "myFile", type: "file", className: "formcontrol", style: {}, onChange: FileChanged, accept: props.acceptFile || '*.*' }))),
754
- React__default["default"].createElement("div", { className: "input-group-append" },
755
- React__default["default"].createElement("button", { className: "btn btn-primary mes-button-primary", disabled: props.selectedFile === undefined, onClick: props.onUpload },
756
- React__default["default"].createElement("i", { className: "fas fa-upload pr-2" }),
757
- React__default["default"].createElement("span", null, "Upload"))))));
758
- };
759
-
760
- function GenericRow(props) {
761
- var cells = props.row.map(function (cell, index) {
762
- return React__default["default"].createElement("td", { key: index }, cell);
763
- });
764
- return (React__default["default"].createElement("tr", null, cells));
765
- }
766
- var GenericTable = /** @class */ (function (_super) {
767
- __extends(GenericTable, _super);
768
- function GenericTable() {
769
- return _super !== null && _super.apply(this, arguments) || this;
770
- }
771
- GenericTable.prototype.render = function () {
772
- var theads = (this.props.columns.map(function (column, index) {
773
- return React__default["default"].createElement("th", { scope: "col", key: index }, column);
774
- }));
775
- var tbody = (this.props.data.map(function (row, index) {
776
- return React__default["default"].createElement(GenericRow, { row: row, key: index });
777
- }));
778
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
779
- React__default["default"].createElement("div", { className: "container-fluid my-3" },
780
- React__default["default"].createElement("div", { className: "table-responsive-md" },
781
- React__default["default"].createElement("table", { className: "table table-hover table-striped table-sm" },
782
- React__default["default"].createElement("thead", null,
783
- React__default["default"].createElement("tr", null, theads)),
784
- React__default["default"].createElement("tbody", null, tbody))))));
785
- };
786
- return GenericTable;
787
- }(React.Component));
788
-
789
- var useStylesForOverlay = styles.makeStyles(function (theme) { return ({
790
- root: {
791
- flexDirection: 'column',
792
- '& .ant-empty-img-1': {
793
- fill: theme.palette.type === 'light' ? '#aeb8c2' : '#262626'
794
- },
795
- '& .ant-empty-img-2': {
796
- fill: theme.palette.type === 'light' ? '#f5f5f7' : '#595959'
797
- },
798
- '& .ant-empty-img-3': {
799
- fill: theme.palette.type === 'light' ? '#dce0e6' : '#434343'
800
- },
801
- '& .ant-empty-img-4': {
802
- fill: theme.palette.type === 'light' ? '#fff' : '#1c1c1c'
803
- },
804
- '& .ant-empty-img-5': {
805
- fillOpacity: theme.palette.type === 'light' ? '0.8' : '0.08',
806
- fill: theme.palette.type === 'light' ? '#f5f5f5' : '#fff'
807
- }
808
- },
809
- label: {
810
- marginTop: theme.spacing(1)
811
- }
812
- }); });
813
- function CustomNoRowsOverlay() {
814
- var classes = useStylesForOverlay();
815
- return (React__default["default"].createElement(dataGrid.GridOverlay, { className: classes.root },
816
- React__default["default"].createElement("svg", { width: "120", height: "100", viewBox: "0 0 184 152", "aria-hidden": true, focusable: "false" },
817
- React__default["default"].createElement("g", { fill: "none", fillRule: "evenodd" },
818
- React__default["default"].createElement("g", { transform: "translate(24 31.67)" },
819
- React__default["default"].createElement("ellipse", { className: "ant-empty-img-5", cx: "67.797", cy: "106.89", rx: "67.797", ry: "12.668" }),
820
- React__default["default"].createElement("path", { className: "ant-empty-img-1", d: "M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z" }),
821
- React__default["default"].createElement("path", { className: "ant-empty-img-2", d: "M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z" }),
822
- React__default["default"].createElement("path", { className: "ant-empty-img-3", d: "M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z" })),
823
- React__default["default"].createElement("path", { className: "ant-empty-img-3", d: "M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z" }),
824
- React__default["default"].createElement("g", { className: "ant-empty-img-4", transform: "translate(149.65 15.383)" },
825
- React__default["default"].createElement("ellipse", { cx: "20.654", cy: "3.167", rx: "2.849", ry: "2.815" }),
826
- React__default["default"].createElement("path", { d: "M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z" })))),
827
- React__default["default"].createElement("div", { className: classes.label }, "No Rows")));
828
- }
829
- var DataGridControl = function (props) {
830
- var columns = props.columns, rows = props.rows, other = __rest(props, ["columns", "rows"]);
831
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
832
- React__default["default"].createElement("div", { className: "container-fluid my-3" },
833
- React__default["default"].createElement(dataGrid.DataGrid, __assign({ components: {
834
- NoRowsOverlay: CustomNoRowsOverlay
835
- }, rows: rows, columns: columns || [], autoHeight: true, rowHeight: 25 }, other)))));
836
- };
837
- DataGridControl.propTypes = {
838
- columns: PropTypes__default["default"].array,
839
- rows: PropTypes__default["default"].array
840
- };
841
-
842
- /********************MATERIAL UI STYLES********************************** */
843
- /************************************************************************* */
844
- var GenericPanel = function (_a) {
845
- var title = _a.title, description = _a.description, _b = _a.showPromptSuccess, showPromptSuccess = _b === void 0 ? false : _b, _c = _a.showPromptError, showPromptError = _c === void 0 ? false : _c, _d = _a.onDismissSuccess, onDismissSuccess = _d === void 0 ? function () { return null; } : _d, _e = _a.onDismissError, onDismissError = _e === void 0 ? function () { return null; } : _e, successMessage = _a.successMessage, error = _a.error, children = _a.children;
846
- return (React__default["default"].createElement("div", { className: "content-wrapper" },
847
- React__default["default"].createElement("div", { className: "row" },
848
- React__default["default"].createElement("div", { className: "col-lg-12" },
849
- React__default["default"].createElement(reactBootstrap.Alert, { show: showPromptError, variant: "danger", dismissible: true, onClose: onDismissError },
850
- React__default["default"].createElement("strong", null, "There was an error"),
851
- React__default["default"].createElement("p", null, error === undefined ? 'There was an error' :
852
- (error.internalError.message === undefined ? error.internalError : error.internalError.message))),
853
- React__default["default"].createElement(reactBootstrap.Alert, { show: showPromptSuccess, variant: "success", onClose: onDismissSuccess },
854
- React__default["default"].createElement("p", null, successMessage || 'Operation was success')))),
855
- React__default["default"].createElement("h3", null,
856
- title,
857
- React__default["default"].createElement("small", null, description)),
858
- children));
859
- };
860
- var MasterDetailPanel = /** @class */ (function (_super) {
861
- __extends(MasterDetailPanel, _super);
862
- function MasterDetailPanel() {
863
- return _super !== null && _super.apply(this, arguments) || this;
864
- }
865
- MasterDetailPanel.prototype.useStyles = function () {
866
- return styles.makeStyles(function (theme) { return ({
867
- root: {
868
- '& > *': {
869
- margin: theme.spacing(1)
870
- },
871
- marginBottom: theme.spacing(1)
872
- }
873
- }); });
874
- };
875
- MasterDetailPanel.prototype.render = function () {
876
- return (React__default["default"].createElement("div", { className: "pb-2" },
877
- React__default["default"].createElement(Card__default["default"], { variant: "outlined" },
878
- React__default["default"].createElement(CardContent__default["default"], null,
879
- React__default["default"].createElement(Typography__default["default"], { gutterBottom: true, variant: "h5", component: "h2" }, this.props.title || ''),
880
- this.props.children),
881
- React__default["default"].createElement(CardActions__default["default"], { className: "px-3 " },
882
- React__default["default"].createElement("button", { className: "btn btn-danger", onClick: this.props.onCancel, disabled: !this.props.saveStatus }, "Cancel"),
883
- (this.props.showSave === undefined || this.props.showSave) &&
884
- React__default["default"].createElement("button", { className: "btn btn-primary mes-button-primary", onClick: this.props.onSave, disabled: !this.props.saveStatus }, "Save"),
885
- this.props.showDelete &&
886
- React__default["default"].createElement("button", { className: "btn btn-primary mes-button-primary", onClick: this.props.onDelete, disabled: !this.props.deleteStatus }, "Delete")))));
887
- };
888
- return MasterDetailPanel;
889
- }(React.Component));
890
- var FilterPanel = /** @class */ (function (_super) {
891
- __extends(FilterPanel, _super);
892
- function FilterPanel(props) {
893
- var _this = _super.call(this, props) || this;
894
- _this.state = {};
895
- _this.onClickGo = _this.GetFilterValues.bind(_this);
896
- _this.onClickReset = _this.ResetFilterValues.bind(_this);
897
- _this.onClickExport = _this.ExportData.bind(_this);
898
- return _this;
899
- }
900
- FilterPanel.prototype.ExportData = function () {
901
- if (this.props.onClickExport !== undefined)
902
- this.props.onClickExport();
903
- };
904
- FilterPanel.prototype.ResetFilterValues = function () {
905
- if (this.props.onClickReset !== undefined)
906
- this.props.onClickReset();
907
- };
908
- FilterPanel.prototype.GetFilterValues = function () {
909
- if (this.props.OnClickGo !== undefined)
910
- this.props.OnClickGo();
911
- };
912
- FilterPanel.prototype.render = function () {
913
- var buttonList = this.props.extraButtons === undefined ? [] : this.props.extraButtons;
914
- var extraButtons = buttonList.map(function (button, index) {
915
- return React__default["default"].createElement("button", { type: "button", className: "btn btn-primary btn-sm mr-2", onClick: button.onClick, key: index }, button.name);
916
- });
917
- return (React__default["default"].createElement("div", { className: "container-fluid" },
918
- React__default["default"].createElement("div", { className: "row" },
919
- React__default["default"].createElement("div", { className: "col-md-12" },
920
- React__default["default"].createElement("div", { className: "row" },
921
- this.props.children,
922
- React__default["default"].createElement("div", { className: "me-auto" },
923
- !!this.props.showButtons &&
924
- React__default["default"].createElement(React__default["default"].Fragment, null,
925
- React__default["default"].createElement("div", { className: "pt-2" },
926
- React__default["default"].createElement("button", { type: "button", className: "btn btn-primary btn mr-2", onClick: this.onClickGo }, "Go"),
927
- React__default["default"].createElement("button", { type: "button", className: "btn btn-danger btn-sm mr-2", onClick: this.onClickReset }, "Reset"))),
928
- extraButtons,
929
- !!this.props.showExport &&
930
- React__default["default"].createElement("div", { className: "pt-2" },
931
- React__default["default"].createElement("button", { type: "button", className: "btn btn-success", onClick: this.onClickExport },
932
- React__default["default"].createElement("i", { className: "fa fa-download" }),
933
- "Excel"))))))));
934
- };
935
- return FilterPanel;
936
- }(React.Component));
937
- var LongFilterPanel = /** @class */ (function (_super) {
938
- __extends(LongFilterPanel, _super);
939
- function LongFilterPanel(props) {
940
- var _this = _super.call(this, props) || this;
941
- _this.state = {};
942
- _this.onClickGo = _this.GetFilterValues.bind(_this);
943
- _this.onClickReset = _this.ResetFilterValues.bind(_this);
944
- _this.onClickExport = _this.ExportData.bind(_this);
945
- return _this;
946
- }
947
- LongFilterPanel.prototype.ExportData = function () {
948
- if (this.props.onClickExport !== undefined)
949
- this.props.onClickExport();
950
- };
951
- LongFilterPanel.prototype.ResetFilterValues = function () {
952
- if (this.props.onClickReset !== undefined)
953
- this.props.onClickReset();
954
- };
955
- LongFilterPanel.prototype.GetFilterValues = function () {
956
- if (this.props.OnClickGo !== undefined)
957
- this.props.OnClickGo();
958
- };
959
- LongFilterPanel.prototype.render = function () {
960
- var buttonList = this.props.extraButtons === undefined ? [] : this.props.extraButtons;
961
- var extraButtons = buttonList.map(function (button, index) {
962
- return React__default["default"].createElement("button", { type: "button", className: "btn btn-primary btn-sm mr-2", onClick: button.onClick, key: index }, button.name);
963
- });
964
- return (React__default["default"].createElement("div", { className: "container-fluid" },
965
- React__default["default"].createElement("div", { className: "row" },
966
- React__default["default"].createElement("div", { className: "col-md-12" },
967
- this.props.children,
968
- React__default["default"].createElement("div", { className: "me-auto" }, !!this.props.showButtons &&
969
- React__default["default"].createElement("div", { className: "container-fluid" },
970
- React__default["default"].createElement("div", { className: "col-md-10" },
971
- React__default["default"].createElement("div", { className: "pt-2" },
972
- React__default["default"].createElement("button", { type: "button", className: "btn btn-primary btn mr-2", onClick: this.onClickGo }, "Go"),
973
- React__default["default"].createElement("button", { type: "button", className: "btn btn-danger btn-sm mr-2", onClick: this.onClickReset }, "Reset"),
974
- !!this.props.showExport &&
975
- React__default["default"].createElement("button", { type: "button", className: "btn btn-success", onClick: this.onClickExport },
976
- React__default["default"].createElement("i", { className: "fa fa-download" }),
977
- "Excel"),
978
- extraButtons))))))));
979
- };
980
- return LongFilterPanel;
981
- }(React.Component));
982
-
983
- function JobConfig() {
984
- var _a = React__default["default"].useState(false), showError = _a[0], setShowError = _a[1];
985
- var _b = React__default["default"].useState(undefined), error = _b[0], setError = _b[1];
986
- var _c = React__default["default"].useState(false), messageLoading = _c[0], setMessageLoading = _c[1];
987
- var _d = React__default["default"].useState(false), messageSuccesful = _d[0], setMessageSuccesful = _d[1];
988
- var _e = React__default["default"].useState(0), pageSel = _e[0], setPageSel = _e[1];
989
- var _f = React__default["default"].useState([]), rows = _f[0], setRows = _f[1];
990
- var _g = React__default["default"].useState(false), loading = _g[0], setLoading = _g[1];
991
- var _h = React__default["default"].useState(false), blockButtons = _h[0], setBlockButtons = _h[1];
992
- var formatTime = function (nowTime) {
993
- return ((nowTime.toLocaleDateString() + ' ' + nowTime.toLocaleTimeString()));
994
- };
995
- var columns = [
996
- { field: 'sProcedure', headerName: 'Procedure', width: 200, type: 'string' },
997
- { field: 'Running', headerName: 'Status', width: 150, valueFormatter: function (_a) {
998
- var value = _a.value;
999
- return (value ? 'running' : 'inactive');
1000
- } },
1001
- { field: 'LastStarted', headerName: 'Started', width: 150, valueFormatter: function (_a) {
1002
- var value = _a.value;
1003
- return (value === null ? 'NULL' : formatTime(value));
1004
- } },
1005
- { field: 'LastCounter', headerName: 'Last Seen', width: 150, valueFormatter: function (_a) {
1006
- var value = _a.value;
1007
- return (value === null ? 'NULL' : formatTime(value));
1008
- } },
1009
- { field: 'Enabled', headerName: 'Enabled', width: 110, valueFormatter: function (_a) {
1010
- var value = _a.value;
1011
- return (!value ? 'N' : 'Y');
1012
- } },
1013
- { field: 'RestartAfterFailure', headerName: 'AutoRecover', width: 140, valueFormatter: function (_a) {
1014
- var value = _a.value;
1015
- return (!value ? 'N' : 'Y');
1016
- } },
1017
- { field: 'Enable', headerName: 'Enable', width: 110, renderCell: function (e) { return renderButtonEnable(e); } },
1018
- { field: 'Disable', headerName: 'Disable', width: 110, renderCell: function (e) { return renderButtonDisable(e); } },
1019
- { field: 'Reset', headerName: 'Reset', width: 110, renderCell: function (e) { return renderButtonReset(e); } }
1020
- ];
1021
- var renderButtonEnable = function (e) {
1022
- var isDisabled = (e.row.Enabled) || (blockButtons);
1023
- return (React__default["default"].createElement("button", { onClick: function () { onEnable(e); }, disabled: isDisabled }, "Enable"));
1024
- };
1025
- var renderButtonDisable = function (e) {
1026
- var isDisabled = (!e.row.Enabled) || (blockButtons);
1027
- return (React__default["default"].createElement("button", { onClick: function () { onEnable(e); }, disabled: isDisabled }, "Disable"));
1028
- };
1029
- var renderButtonReset = function (e) {
1030
- var isDisabled = (!e.row.Enabled) || (blockButtons);
1031
- return (React__default["default"].createElement("button", { onClick: function () { onReset(e); }, disabled: isDisabled }, "Reset"));
1032
- };
1033
- var onEnable = function (e) {
1034
- var enParameters = [];
1035
- var apiService = new MESApiService();
1036
- enParameters.push({ name: "@sProcedure", value: e.row.sProcedure });
1037
- enParameters.push({ name: "@Enable", value: (!e.row.Enabled) });
1038
- apiService.call('SYSTEM.SetJobEnable', enParameters)
1039
- .then(function () {
1040
- if (apiService.hasErrors) {
1041
- setShowError(true);
1042
- setError(apiService.error);
1043
- }
1044
- searchData();
1045
- });
1046
- };
1047
- var onReset = function (e) {
1048
- var enParameters = [];
1049
- var apiService = new MESApiService();
1050
- enParameters.push({ name: "@sProcedure", value: e.row.sProcedure });
1051
- apiService.call('SYSTEM.RestartJob', enParameters)
1052
- .then(function () {
1053
- if (apiService.hasErrors) {
1054
- setShowError(true);
1055
- setError(apiService.error);
1056
- }
1057
- setMessageLoading(false);
1058
- setMessageSuccesful(true);
1059
- searchData();
1060
- setBlockButtons(false);
1061
- });
1062
- setMessageLoading(true);
1063
- setBlockButtons(true);
1064
- searchData();
1065
- };
1066
- var searchData = function () {
1067
- setRows([]);
1068
- setLoading(true);
1069
- var apiService = new MESApiService();
1070
- apiService.call('SYSTEM.GetJobsStatus', [])
1071
- .then(function (response) {
1072
- if (apiService.hasErrors) {
1073
- setShowError(true);
1074
- setError(apiService.error);
1075
- }
1076
- if (response !== undefined && response.tables !== undefined && response.tables[0] !== undefined) {
1077
- var rowsSource = response.tables[0].rows;
1078
- // TODO: add typing
1079
- rowsSource.forEach(function (row) {
1080
- row.id = row.JobId;
1081
- row.LastStarted = row.LastStarted === null ? null : new Date(row.LastStarted);
1082
- row.LastContact = row.LastContact === null ? null : new Date(row.LastContact);
1083
- row.LastCounter = row.LastCounter === null ? null : new Date(row.LastCounter);
1084
- });
1085
- setRows(rowsSource);
1086
- }
1087
- setLoading(false);
1088
- });
1089
- };
1090
- React__default["default"].useEffect(searchData, []);
1091
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
1092
- React__default["default"].createElement(reactBootstrap.Alert, { show: showError, variant: "danger", dismissible: true, onClose: function () { setShowError(false); setError(undefined); } },
1093
- React__default["default"].createElement("strong", null, "There was an error"),
1094
- React__default["default"].createElement("p", null,
1095
- " ",
1096
- error === undefined ? 'There was an error' :
1097
- (error.internalError.message === undefined ? error.internalError : error.internalError.message))),
1098
- React__default["default"].createElement(reactBootstrap.Alert, { show: messageLoading, variant: "warning", dismissible: true, onClose: function () { setMessageLoading(false); } },
1099
- React__default["default"].createElement("p", null, 'Waiting to reset')),
1100
- React__default["default"].createElement(reactBootstrap.Alert, { show: messageSuccesful, variant: "success", dismissible: true, onClose: function () { setMessageSuccesful(false); } },
1101
- React__default["default"].createElement("p", null, 'Reset was succesful')),
1102
- React__default["default"].createElement("div", { className: "row" },
1103
- React__default["default"].createElement(core.Typography, { className: "mx-2 mt-0 mb-2 font-weight-bold" }, "System Jobs")),
1104
- React__default["default"].createElement("div", { className: "row" },
1105
- React__default["default"].createElement(DataGridControl, __assign({ columns: columns, rows: rows, pageSize: 10, rowHeight: 30, loading: loading, rowsPerPageOptions: [10], page: pageSel, onPageChange: setPageSel }, {})))));
1106
- }
1107
-
1108
- function LogConfig() {
1109
- var _a = React__default["default"].useState(false), showError = _a[0], setShowError = _a[1];
1110
- var _b = React__default["default"].useState(undefined), error = _b[0], setError = _b[1];
1111
- var _c = React__default["default"].useState(moment__default["default"]().add(-2, 'days').hour(0).minute(0).second(0).toDate()), startDate = _c[0], setStartDate = _c[1];
1112
- var _d = React__default["default"].useState(moment__default["default"]().hour(23).minute(59).second(59).toDate()), endDate = _d[0], setEndDate = _d[1];
1113
- var _e = React__default["default"].useState(0), pageSel = _e[0], setPageSel = _e[1];
1114
- var _f = React__default["default"].useState([]), rows = _f[0], setRows = _f[1];
1115
- var _g = React__default["default"].useState(""), search = _g[0], setSearch = _g[1];
1116
- var _h = React__default["default"].useState(null), logCodeId = _h[0], setlogCodeId = _h[1];
1117
- var _j = React__default["default"].useState(false), loading = _j[0], setLoading = _j[1];
1118
- var _k = React__default["default"].useState([]), logCodes = _k[0], setlogCodes = _k[1];
1119
- //state of row
1120
- var _l = React__default["default"].useState(undefined), selectedLog = _l[0], setSelectedLog = _l[1];
1121
- var formatTime = function (nowTime) {
1122
- return ((nowTime.toLocaleDateString() + ' ' + nowTime.toLocaleTimeString()));
1123
- };
1124
- var formatUser = function (nowUser) {
1125
- return (nowUser === null ? 'NULL' : nowUser);
1126
- };
1127
- var columns = [
1128
- { field: 'Timestamp', headerName: 'Time', width: 200, valueFormatter: function (_a) {
1129
- var value = _a.value;
1130
- return (value === null ? '' : formatTime(value));
1131
- } },
1132
- { field: 'Source', headerName: 'Source', width: 150, type: 'string' },
1133
- { field: 'Message', headerName: 'Message', width: 550, type: 'string' },
1134
- { field: 'LogTypeCode', headerName: 'Type', width: 100 },
1135
- { field: 'User', headerName: 'User', width: 150, type: 'string', valueFormatter: function (_a) {
1136
- var value = _a.value;
1137
- return (formatUser(value));
1138
- } }
1139
- ];
1140
- var resetFilter = function () {
1141
- setStartDate(moment__default["default"]().hour(0).minute(0).second(0).toDate());
1142
- setEndDate(moment__default["default"]().hour(23).minute(59).second(59).toDate());
1143
- setSearch("");
1144
- setlogCodeId(1);
1145
- setRows([]);
1146
- setSelectedLog(undefined);
1147
- };
1148
- var rowClicked = function (rowClickedEvent) {
1149
- var data = rowClickedEvent.row;
1150
- if (data === undefined)
1151
- return;
1152
- setSelectedLog(data);
1153
- };
1154
- var searchData = function () {
1155
- setRows([]);
1156
- var apiService = new MESApiService();
1157
- setLoading(true);
1158
- var parameters = [];
1159
- parameters.push({ name: "@Start", value: startDate });
1160
- parameters.push({ name: "@End", value: endDate });
1161
- parameters.push({ name: "@Search", value: search });
1162
- if (logCodeId !== "A") {
1163
- parameters.push({ name: "@LogTypeCode", value: logCodeId });
1164
- }
1165
- else {
1166
- parameters.push({ name: "@LogTypeCode", value: null });
1167
- }
1168
- apiService.call('MES.GetLogs', parameters)
1169
- .then(function (response) {
1170
- if (apiService.hasErrors) {
1171
- setShowError(true);
1172
- setError(apiService.error);
1173
- }
1174
- if (response !== undefined && response.tables !== undefined && response.tables[0] !== undefined) {
1175
- var rowsSource = response.tables[0].rows;
1176
- rowsSource.forEach(function (row, index) {
1177
- row.id = index;
1178
- row.Timestamp = row.Timestamp === null ? null : new Date(row.Timestamp);
1179
- });
1180
- setRows(rowsSource);
1181
- }
1182
- setLoading(false);
1183
- });
1184
- };
1185
- var loadFilter = function () {
1186
- var listlogCode = [
1187
- { 'id': "A", 'description': "All" }, { 'id': "I", 'description': "Info" }, { 'id': "E", 'description': "Error" }
1188
- ];
1189
- setlogCodes(listlogCode);
1190
- setlogCodeId("A");
1191
- };
1192
- React__default["default"].useEffect(loadFilter, []);
1193
- React__default["default"].useEffect(searchData, []);
1194
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
1195
- React__default["default"].createElement(reactBootstrap.Alert, { show: showError, variant: "danger", dismissible: true, onClose: function () { setShowError(false); setError(undefined); } },
1196
- React__default["default"].createElement("strong", null, "There was an error"),
1197
- React__default["default"].createElement("p", null,
1198
- " ",
1199
- error === undefined ? 'There was an error' :
1200
- (error.internalError.message === undefined ? error.internalError : error.internalError.message))),
1201
- React__default["default"].createElement("div", { className: "row" },
1202
- React__default["default"].createElement(core.Typography, { className: "mx-2 mt-0 mb-2 font-weight-bold" }, "MES and System Logs")),
1203
- React__default["default"].createElement(FilterPanel, { showExport: false, showButtons: true, OnClickGo: searchData, onClickReset: resetFilter },
1204
- React__default["default"].createElement("div", null,
1205
- React__default["default"].createElement(DateControl, { value: startDate, onChange: setStartDate, title: "Start" })),
1206
- React__default["default"].createElement("div", { className: "mx-2" },
1207
- React__default["default"].createElement(DateControl, { value: endDate, onChange: setEndDate, title: "End" })),
1208
- React__default["default"].createElement("div", { className: "col-md-3" },
1209
- React__default["default"].createElement(SimpleTextControl, { value: search, onChange: setSearch, title: "Search" })),
1210
- React__default["default"].createElement("div", { className: "col-md-2" },
1211
- React__default["default"].createElement(SimpleSelectorControl, { title: "Code", dataSource: logCodes, selectedValue: logCodeId, onChange: setlogCodeId, showColor: false }))),
1212
- React__default["default"].createElement("div", { className: "row" },
1213
- React__default["default"].createElement(DataGridControl, { columns: columns, rows: rows, pageSize: 10, rowHeight: 30, loading: loading, rowsPerPageOptions: [10, 20, 50, 100], page: pageSel, onPageChange: setPageSel, onRowClick: rowClicked })),
1214
- ((selectedLog !== undefined) &&
1215
- React__default["default"].createElement("div", { className: "white-panel" },
1216
- React__default["default"].createElement("div", { className: "row" },
1217
- React__default["default"].createElement("div", { className: "col-md-12" },
1218
- React__default["default"].createElement("h4", null, "Log Details"))),
1219
- React__default["default"].createElement("div", { className: "row" },
1220
- React__default["default"].createElement("div", { className: "col-md-3", style: { "display": "flex" } },
1221
- React__default["default"].createElement("h5", null, "Time: "),
1222
- React__default["default"].createElement("h5", { className: "mx-1", style: { "opacity": "0.7" } }, formatTime(selectedLog.Timestamp))),
1223
- React__default["default"].createElement("div", { className: "col-md-3", style: { "display": "flex" } },
1224
- React__default["default"].createElement("h5", null, "Source: "),
1225
- React__default["default"].createElement("h5", { className: "mx-1", style: { "opacity": "0.7" } }, selectedLog.Source)),
1226
- React__default["default"].createElement("div", { className: "col-md-2", style: { "display": "flex" } },
1227
- React__default["default"].createElement("h5", null, "Type: "),
1228
- React__default["default"].createElement("h5", { className: "mx-1", style: { "opacity": "0.7" } }, selectedLog.LogTypeCode)),
1229
- React__default["default"].createElement("div", { className: "col-md-3", style: { "display": "flex" } },
1230
- React__default["default"].createElement("h5", null, "User: "),
1231
- React__default["default"].createElement("h5", { className: "mx-1", style: { "opacity": "0.7" } }, formatUser(selectedLog.User)))),
1232
- React__default["default"].createElement("div", { className: "row" },
1233
- React__default["default"].createElement("div", { className: "col-md-10", style: { "display": "flex" } },
1234
- React__default["default"].createElement("h5", null, "Message: "),
1235
- React__default["default"].createElement("h5", { style: { "opacity": "0.7" } }, selectedLog.Message)))))));
1236
- }
1237
-
1238
- function ProfileManagement() {
1239
- // variables
1240
- var columns = [
1241
- { field: 'ProfileName', headerName: 'Profile', flex: 1, type: 'string' }
1242
- ];
1243
- //states
1244
- var _a = React__default["default"].useState(undefined), profileId = _a[0], setProfileId = _a[1];
1245
- var _b = React__default["default"].useState(''), profileName = _b[0], setProfileName = _b[1];
1246
- var _c = React__default["default"].useState([]), selectedProfile = _c[0], setSelectedProfile = _c[1];
1247
- var _d = React__default["default"].useState([]), selectedOtherProfile = _d[0], setSelectedOtherProfile = _d[1];
1248
- var _e = React__default["default"].useState([]), selectedPermission = _e[0], setSelectedPermission = _e[1];
1249
- var _f = React__default["default"].useState([]), selectedOtherPermission = _f[0], setSelectedOtherPermission = _f[1];
1250
- var _g = React__default["default"].useState(0), page = _g[0], setPage = _g[1];
1251
- var _h = React__default["default"].useState(false), loading = _h[0], setLoading = _h[1];
1252
- var _j = React__default["default"].useState([]), dataSource = _j[0], setDataSource = _j[1];
1253
- var _k = React__default["default"].useState(false), showError = _k[0], setShowError = _k[1];
1254
- var _l = React__default["default"].useState(undefined), error = _l[0], setError = _l[1];
1255
- var _m = React__default["default"].useState(false), showSuccess = _m[0], setShowSuccess = _m[1];
1256
- var _o = React__default["default"].useState(''), successMessage = _o[0], setSuccessMessage = _o[1];
1257
- var _p = React__default["default"].useState(''), title = _p[0], setTitle = _p[1];
1258
- var _q = React__default["default"].useState([]), profiles = _q[0], setProfiles = _q[1];
1259
- var _r = React__default["default"].useState([]), permissions = _r[0], setPermissions = _r[1];
1260
- var _s = React__default["default"].useState([]), assignProfiles = _s[0], setAssignProfiles = _s[1];
1261
- var _t = React__default["default"].useState([]), assignPermissions = _t[0], setAssignPermissions = _t[1];
1262
- var _u = React__default["default"].useState([]), otherProfiles = _u[0], setOtherProfiles = _u[1];
1263
- var _v = React__default["default"].useState([]), otherPermissions = _v[0], setOtherPermissions = _v[1];
1264
- //functiuons
1265
- var loadComponent = function () {
1266
- var apiService = new MESApiService();
1267
- setLoading(true);
1268
- apiService.call('SEC.GetProfiles', [])
1269
- .then(function (response) {
1270
- if (apiService.hasErrors) {
1271
- setShowError(true);
1272
- setError(apiService.error);
1273
- }
1274
- if (response !== undefined && response.tables !== undefined && response.tables[0] !== undefined) {
1275
- var mydataSource_1 = [];
1276
- var rows = response.tables[0].rows;
1277
- rows.forEach(function (row, index) {
1278
- row.id = row.ProfileId;
1279
- mydataSource_1 = __spreadArray(__spreadArray([], mydataSource_1, true), [row], false);
1280
- });
1281
- setDataSource(mydataSource_1);
1282
- setProfiles(mydataSource_1);
1283
- }
1284
- setLoading(false);
1285
- });
1286
- var apiServcePermission = new MESApiService();
1287
- apiServcePermission.call('SEC.GetPermissions', [])
1288
- .then(function (response) {
1289
- if (apiServcePermission.hasErrors) {
1290
- setShowError(true);
1291
- setError(apiService.error);
1292
- }
1293
- if (response !== undefined && response.tables !== undefined && response.tables[0] !== undefined) {
1294
- var mydataSource_2 = [];
1295
- var rows = response.tables[0].rows;
1296
- rows.forEach(function (row) {
1297
- mydataSource_2 = __spreadArray(__spreadArray([], mydataSource_2, true), [row], false);
1298
- });
1299
- setPermissions(mydataSource_2);
1300
- }
1301
- });
1302
- };
1303
- var setDefaultValues = function () {
1304
- setTitle('');
1305
- setProfileId(undefined);
1306
- setProfileName('');
1307
- setAssignPermissions([]);
1308
- setAssignProfiles([]);
1309
- setOtherProfiles([]);
1310
- setOtherPermissions([]);
1311
- setSelectedProfile([]);
1312
- setSelectedOtherProfile([]);
1313
- setSelectedPermission([]);
1314
- setSelectedOtherPermission([]);
1315
- };
1316
- var newProfile = function () {
1317
- setDefaultValues();
1318
- setTitle('New Profile');
1319
- setProfileId(0);
1320
- setAssignPermissions([]);
1321
- setAssignProfiles([]);
1322
- setOtherProfiles(profiles);
1323
- setOtherPermissions(permissions);
1324
- setSelectedProfile([]);
1325
- setSelectedOtherProfile([]);
1326
- setSelectedPermission([]);
1327
- setSelectedOtherPermission([]);
1328
- };
1329
- var cancelDetail = function () {
1330
- setDefaultValues();
1331
- };
1332
- var saveDetail = function () {
1333
- if (profileId >= 0) {
1334
- var parameters = [];
1335
- parameters.push({ name: "@ProfileId", value: (profileId === 0 ? null : profileId || null) });
1336
- parameters.push({ name: "@ProfileName", value: (profileName === '' ? null : profileName) });
1337
- var apiService_1 = new MESApiService();
1338
- apiService_1.call('SEC.UpsertProfile', parameters)
1339
- .then(function (response) {
1340
- if (apiService_1.hasErrors) {
1341
- setShowError(true);
1342
- setError(apiService_1.error);
1343
- return 0;
1344
- }
1345
- else {
1346
- if (response !== undefined && response.tables !== undefined && response.tables[0] !== undefined) {
1347
- var id = response.tables[0].rows[0] === undefined ? null : response.tables[0].rows[0].ProfileId || null;
1348
- return id;
1349
- }
1350
- else {
1351
- return 0;
1352
- }
1353
- }
1354
- })
1355
- .then(function (newProfileId) {
1356
- if (newProfileId === 0)
1357
- return newProfileId;
1358
- var profileParam = '';
1359
- assignProfiles.forEach(function (element) {
1360
- profileParam = profileParam + element.ProfileId + ',';
1361
- });
1362
- var parametersProfile = [];
1363
- parametersProfile.push({ name: "@ProfileId", value: (newProfileId === 0 ? null : newProfileId || null) });
1364
- parametersProfile.push({ name: "@HasProfileIds", value: profileParam });
1365
- var apiServiceProfile = new MESApiService();
1366
- apiServiceProfile.call('SEC.SetProfilesToProfile', parametersProfile)
1367
- .then(function (responseP) {
1368
- if (apiServiceProfile.hasErrors) {
1369
- setShowError(true);
1370
- setError(apiServiceProfile.error);
1371
- }
1372
- });
1373
- return newProfileId;
1374
- })
1375
- .then(function (newProfileId) {
1376
- if (newProfileId === 0)
1377
- return newProfileId;
1378
- var permissionParam = '';
1379
- assignPermissions.forEach(function (element) {
1380
- permissionParam = permissionParam + element.PermissionId + ',';
1381
- });
1382
- var parametersPermission = [];
1383
- parametersPermission.push({ name: "@ProfileId", value: (newProfileId === 0 ? null : newProfileId || null) });
1384
- parametersPermission.push({ name: "@PermissionIds", value: permissionParam });
1385
- var apiServicePermission = new MESApiService();
1386
- apiServicePermission.call('SEC.SetPermissionsToProfile', parametersPermission)
1387
- .then(function (responsePe) {
1388
- if (apiServicePermission.hasErrors) {
1389
- setShowError(true);
1390
- setError(apiServicePermission.error);
1391
- }
1392
- setShowSuccess(true);
1393
- setSuccessMessage('Profile was ' + (profileId === 0 ? ' created.' : ' updated.'));
1394
- setDefaultValues();
1395
- loadComponent();
1396
- });
1397
- })
1398
- .then(function (newProfileId) {
1399
- if (newProfileId === 0) {
1400
- setShowSuccess(true);
1401
- setSuccessMessage('Profile was ' + (profileId === 0 ? ' created.' : ' updated.'));
1402
- setDefaultValues();
1403
- loadComponent();
1404
- }
1405
- });
1406
- }
1407
- };
1408
- var deleteDetail = function () {
1409
- if (profileId && profileId > 0) {
1410
- var parameters = [];
1411
- parameters.push({ name: "@ProfileId", value: (profileId === 0 ? null : profileId || null) });
1412
- var apiService_2 = new MESApiService();
1413
- apiService_2.call('SEC.DeleteProfile', parameters)
1414
- .then(function (response) {
1415
- if (apiService_2.hasErrors) {
1416
- setShowError(true);
1417
- setError(apiService_2.error);
1418
- }
1419
- else {
1420
- setShowSuccess(true);
1421
- setSuccessMessage('Profile was deleted.');
1422
- loadComponent();
1423
- setDefaultValues();
1424
- }
1425
- });
1426
- }
1427
- };
1428
- var rowClicked = function (rowClickedEvent) {
1429
- var data = rowClickedEvent.row;
1430
- if (data === undefined)
1431
- return;
1432
- if (data.id === profileId)
1433
- return;
1434
- setProfileId(data.ProfileId);
1435
- setTitle(data.ProfileName || '');
1436
- setProfileName(data.ProfileName || '');
1437
- //permissions
1438
- var permissionsId = (data.PermissionsId || '').split(',').filter(function (el) { return el.length; });
1439
- var myPermissions = [];
1440
- var restPermissions = [];
1441
- permissions.forEach(function (element) {
1442
- var permissionFound = permissionsId.find(function (permission) { return permission === element.PermissionId.toString(); });
1443
- if (permissionFound === undefined)
1444
- restPermissions.push(element);
1445
- else
1446
- myPermissions.push(element);
1447
- });
1448
- setAssignPermissions(myPermissions);
1449
- setOtherPermissions(restPermissions);
1450
- setSelectedOtherPermission([]);
1451
- setSelectedPermission([]);
1452
- //profiles
1453
- var profilesId = (data.HasProfilesId || '').split(',').filter(function (el) { return el.length; });
1454
- var myProfiles = [];
1455
- var restProfiles = [];
1456
- profiles.forEach(function (element) {
1457
- var profileFound = profilesId.find(function (profile) { return profile === element.ProfileId.toString(); });
1458
- if (profileFound === undefined)
1459
- restProfiles.push(element);
1460
- else
1461
- myProfiles.push(element);
1462
- });
1463
- setAssignProfiles(myProfiles);
1464
- setOtherProfiles(restProfiles);
1465
- setSelectedOtherProfile([]);
1466
- setSelectedProfile([]);
1467
- };
1468
- var addProfiles = function () {
1469
- var myProfiles = assignProfiles || [];
1470
- selectedOtherProfile.forEach(function (element) {
1471
- var profileFound = profiles.find(function (profile) { return profile.ProfileId.toString() === element; });
1472
- if (profileFound !== undefined) {
1473
- myProfiles.push(profileFound);
1474
- }
1475
- });
1476
- updateListProfiles(myProfiles);
1477
- };
1478
- var removeProfiles = function () {
1479
- var myProfiles = assignProfiles || [];
1480
- selectedProfile.forEach(function (element) {
1481
- myProfiles = myProfiles.filter(function (item) {
1482
- return item.ProfileId.toString() !== element;
1483
- });
1484
- });
1485
- updateListProfiles(myProfiles);
1486
- };
1487
- var updateListProfiles = function (selectedProfiles) {
1488
- var myProfiles = [];
1489
- var restProfiles = [];
1490
- profiles.forEach(function (element) {
1491
- var profileFound = selectedProfiles.find(function (profile) { return profile.ProfileId === element.ProfileId; });
1492
- if (profileFound === undefined)
1493
- restProfiles.push(element);
1494
- else
1495
- myProfiles.push(element);
1496
- });
1497
- setAssignProfiles(myProfiles);
1498
- setOtherProfiles(restProfiles);
1499
- setSelectedProfile([]);
1500
- setSelectedOtherProfile([]);
1501
- };
1502
- var addPermissions = function () {
1503
- var myPermissions = assignPermissions || [];
1504
- selectedOtherPermission.forEach(function (element) {
1505
- var permissionFound = permissions.find(function (permission) { return permission.PermissionId.toString() === element; });
1506
- if (permissionFound !== undefined) {
1507
- myPermissions.push(permissionFound);
1508
- }
1509
- });
1510
- updateListPermission(myPermissions);
1511
- };
1512
- var removePermissions = function () {
1513
- var myPermissions = assignPermissions || [];
1514
- selectedPermission.forEach(function (element) {
1515
- myPermissions = myPermissions.filter(function (item) {
1516
- return item.PermissionId.toString() !== element;
1517
- });
1518
- });
1519
- updateListPermission(myPermissions);
1520
- };
1521
- var updateListPermission = function (selectedPermissions) {
1522
- var myPermissions = [];
1523
- var restPermissions = [];
1524
- permissions.forEach(function (element) {
1525
- var permissionFound = selectedPermissions.find(function (permission) { return permission.PermissionId === element.PermissionId; });
1526
- if (permissionFound === undefined)
1527
- restPermissions.push(element);
1528
- else
1529
- myPermissions.push(element);
1530
- });
1531
- setAssignPermissions(myPermissions);
1532
- setOtherPermissions(restPermissions);
1533
- setSelectedPermission([]);
1534
- setSelectedOtherPermission([]);
1535
- };
1536
- var closeMessage = function () {
1537
- setTimeout(function () {
1538
- setShowSuccess(false);
1539
- setSuccessMessage('');
1540
- }, 2000);
1541
- };
1542
- // effects
1543
- React__default["default"].useEffect(function () {
1544
- loadComponent();
1545
- }, []);
1546
- React__default["default"].useEffect(function () {
1547
- if (showSuccess) {
1548
- closeMessage();
1549
- }
1550
- }, [showSuccess]); // eslint-disable-line react-hooks/exhaustive-deps
1551
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
1552
- React__default["default"].createElement(reactBootstrap.Alert, { show: showError, variant: "danger", dismissible: true, onClose: function () { setShowError(false); setError(undefined); } },
1553
- React__default["default"].createElement("strong", null, "There was an error"),
1554
- React__default["default"].createElement("p", null,
1555
- " ",
1556
- error === undefined ? 'There was an error' :
1557
- (error.internalError.message === undefined ? error.internalError : error.internalError.message))),
1558
- React__default["default"].createElement(reactBootstrap.Alert, { show: showSuccess, variant: "success" },
1559
- React__default["default"].createElement("p", null, successMessage || 'Operation was success')),
1560
- React__default["default"].createElement("div", { className: "row" },
1561
- React__default["default"].createElement(core.Typography, { className: "mx-2 mt-0 mb-2 font-weight-bold" }, "Profile Management")),
1562
- React__default["default"].createElement("div", { className: "row" },
1563
- React__default["default"].createElement("div", { className: "col-md-6" },
1564
- React__default["default"].createElement("div", { className: "text-right" },
1565
- React__default["default"].createElement("button", { className: "btn btn-success", onClick: newProfile, disabled: profileId === 0 }, "New")),
1566
- React__default["default"].createElement(DataGridControl, { columns: columns, rows: dataSource, pageSize: 20, rowHeight: 30, loading: loading, rowsPerPageOptions: [10, 20, 50, 100], page: page, className: "mes-selectable-datagrid", onRowClick: rowClicked, onPageChange: function (params) { setPage(params.page); } })),
1567
- React__default["default"].createElement("div", { className: "col-md-6" }, (profileId && profileId >= 0) &&
1568
- /* @ts-ignore */
1569
- React__default["default"].createElement(MasterDetailPanel, { title: title, saveStatus: true, showDelete: true, deleteStatus: profileId > 0, onCancel: cancelDetail, onSave: saveDetail, onDelete: deleteDetail },
1570
- React__default["default"].createElement("div", { className: "row" },
1571
- React__default["default"].createElement("div", { className: "col-md-6 px-3 py-1" },
1572
- React__default["default"].createElement(SimpleTextControl, { title: "Name", styleLabel: { 'minWidth': '150px' }, onChange: setProfileName, name: 'profileName', value: profileName }))),
1573
- React__default["default"].createElement("div", { className: "row" }),
1574
- React__default["default"].createElement("div", { className: "row" },
1575
- React__default["default"].createElement(core.Typography, { gutterBottom: true, variant: "h5", component: "h2", className: "ml-3 pt-1" }, "Permissions")),
1576
- React__default["default"].createElement("div", { className: "row" },
1577
- React__default["default"].createElement("div", { className: "col-md-5" },
1578
- React__default["default"].createElement(MultipleSelectorControl, { title: "Available", value: selectedOtherPermission, onChange: setSelectedOtherPermission, onDoubleClick: addPermissions, dataSource: otherPermissions, valueField: "PermissionId", textField: "PermissionName" })),
1579
- React__default["default"].createElement("div", { className: "col-md-2 d-flex flex-column align-items-center m-auto" },
1580
- React__default["default"].createElement("button", { className: "btn btn-primary mes-button-primary my-2", title: "Assign", disabled: (selectedOtherPermission || []).length === 0, onClick: addPermissions },
1581
- React__default["default"].createElement("i", { className: "fas fa-angle-right" })),
1582
- React__default["default"].createElement("button", { className: "btn btn-primary mes-button-primary my-2", title: "Remove", disabled: (selectedPermission || []).length === 0, onClick: removePermissions },
1583
- React__default["default"].createElement("i", { className: "fas fa-angle-left" }))),
1584
- React__default["default"].createElement("div", { className: "col-md-5" },
1585
- React__default["default"].createElement(MultipleSelectorControl, { title: "Assigned", value: selectedPermission, onChange: setSelectedPermission, onDoubleClick: removePermissions, dataSource: assignPermissions, valueField: "PermissionId", textField: "PermissionName" }))),
1586
- React__default["default"].createElement("div", { className: "row" },
1587
- React__default["default"].createElement(core.Typography, { gutterBottom: true, variant: "h5", component: "h2", className: "ml-3 pt-1" }, "Profiles")),
1588
- React__default["default"].createElement("div", { className: "row" },
1589
- React__default["default"].createElement("div", { className: "col-md-5" },
1590
- React__default["default"].createElement(MultipleSelectorControl, { title: "Available", value: selectedOtherProfile, onChange: setSelectedOtherProfile, onDoubleClick: addProfiles, dataSource: otherProfiles, valueField: "ProfileId", textField: "ProfileName" })),
1591
- React__default["default"].createElement("div", { className: "col-md-2 d-flex flex-column align-items-center m-auto" },
1592
- React__default["default"].createElement("button", { className: "btn btn-primary mes-button-primary my-2", title: "Assign", disabled: (selectedOtherProfile || []).length === 0, onClick: addProfiles },
1593
- React__default["default"].createElement("i", { className: "fas fa-angle-right" })),
1594
- React__default["default"].createElement("button", { className: "btn btn-primary mes-button-primary my-2", title: "Remove", disabled: (selectedProfile || []).length === 0, onClick: removeProfiles },
1595
- React__default["default"].createElement("i", { className: "fas fa-angle-left" }))),
1596
- React__default["default"].createElement("div", { className: "col-md-5" },
1597
- React__default["default"].createElement(MultipleSelectorControl, { title: "Assigned", value: selectedProfile, onChange: setSelectedProfile, onDoubleClick: removeProfiles, dataSource: assignProfiles, valueField: "ProfileId", textField: "ProfileName" }))))))));
1598
- }
1599
-
1600
- var CurrencyFormatter = new Intl.NumberFormat('en-US', {
1601
- style: 'currency',
1602
- currency: 'USD'
1603
- });
1604
- var NumberFormatter = new Intl.NumberFormat('en-US', {
1605
- style: 'currency',
1606
- currency: 'USD'
1607
- });
1608
- var IntegerFormatter = new Intl.NumberFormat('en-US', {});
1609
- var DateTimeFormatter = new Intl.DateTimeFormat('en-US-u-hc-h23', {
1610
- year: 'numeric',
1611
- month: '2-digit',
1612
- day: '2-digit',
1613
- hour: 'numeric',
1614
- minute: 'numeric',
1615
- second: 'numeric',
1616
- hour12: false
1617
- });
1618
- var DateFormatter = new Intl.DateTimeFormat('en-US', {
1619
- year: 'numeric',
1620
- month: '2-digit',
1621
- day: '2-digit'
1622
- });
1623
- var TimeFormatter = new Intl.DateTimeFormat('en-US-u-hc-h23', {
1624
- hour: '2-digit',
1625
- minute: 'numeric',
1626
- second: 'numeric',
1627
- hour12: false
1628
- });
1629
-
1630
- function ShiftCrew() {
1631
- var columns = [
1632
- { field: 'PatternStart', headerName: 'Pattern Start', width: 200, type: 'string', valueFormatter: function (_a) {
1633
- var value = _a.value;
1634
- return DateTimeFormatter.format(value);
1635
- } },
1636
- { field: 'ShiftCodes', headerName: 'Shift Codes', width: 150, type: 'string' },
1637
- { field: 'Crews', headerName: 'Crews', width: 200, type: 'string' },
1638
- { field: 'PatternDays', headerName: 'Pattern Days', flex: 1, type: 'number' },
1639
- ];
1640
- var _a = React__default["default"].useState([]), dataSource = _a[0], setDataSource = _a[1];
1641
- var _b = React__default["default"].useState(false), showError = _b[0], setShowError = _b[1];
1642
- var _c = React__default["default"].useState(false), loading = _c[0], setLoading = _c[1];
1643
- var _d = React__default["default"].useState(0), page = _d[0], setPage = _d[1];
1644
- var _e = React__default["default"].useState(undefined), error = _e[0], setError = _e[1];
1645
- var _f = React__default["default"].useState(false), showSuccess = _f[0], setShowSuccess = _f[1];
1646
- var _g = React__default["default"].useState(''), successMessage = _g[0], setSuccessMessage = _g[1];
1647
- var _h = React__default["default"].useState(new Date()), startDate = _h[0], setStartDate = _h[1];
1648
- var _j = React__default["default"].useState(0), shiftDay = _j[0], changeShiftDay = _j[1];
1649
- var _k = React__default["default"].useState(''), shiftId = _k[0], changeShiftId = _k[1];
1650
- var _l = React__default["default"].useState(0), crewNumber = _l[0], setCrewNumber = _l[1];
1651
- var _m = React__default["default"].useState(''), crewId = _m[0], setCrewId = _m[1];
1652
- var _o = React__default["default"].useState(''), comment = _o[0], setCommment = _o[1];
1653
- var _p = React__default["default"].useState(0), rotationNumber = _p[0], setRotationNumber = _p[1];
1654
- var _q = React__default["default"].useState(0), rotationCrewNumber = _q[0], setRotationCrewNumber = _q[1];
1655
- var _r = React__default["default"].useState(''), rotationCrew = _r[0], setRotationCrew = _r[1];
1656
- var _s = React__default["default"].useState(-1), dataId = _s[0], setDataId = _s[1];
1657
- var _t = React__default["default"].useState(false), canEdit = _t[0], setCanEdit = _t[1];
1658
- var _u = React__default["default"].useState(false), canView = _u[0], setCanView = _u[1];
1659
- var _v = React__default["default"].useState(''), title = _v[0], setTitle = _v[1];
1660
- //functions
1661
- var loadComponent = function () {
1662
- var apiService = new MESApiService();
1663
- setLoading(true);
1664
- apiService.call('MES.GetShiftParameters', [])
1665
- .then(function (response) {
1666
- if (apiService.hasErrors) {
1667
- setShowError(true);
1668
- setError(apiService.error);
1669
- }
1670
- if (response !== undefined && response.tables !== undefined && response.tables[0] !== undefined) {
1671
- var mydataSource_1 = [];
1672
- var rows = response.tables[0].rows;
1673
- rows.forEach(function (row, index) {
1674
- row.id = index;
1675
- row.PatternStart = row.PatternStart === null ? null : new Date(row.PatternStart);
1676
- mydataSource_1 = __spreadArray(__spreadArray([], mydataSource_1, true), [row], false);
1677
- });
1678
- setDataSource(mydataSource_1);
1679
- }
1680
- setLoading(false);
1681
- });
1682
- };
1683
- var changeData = function (value, name) {
1684
- if (name === 'shiftDay') {
1685
- changeShiftDay(value);
1686
- }
1687
- else if (name === 'shiftId') {
1688
- changeShiftId(value.toString().toUpperCase());
1689
- }
1690
- else if (name === 'crewNumber') {
1691
- setCrewNumber(value);
1692
- }
1693
- else if (name === 'crewId') {
1694
- setCrewId(value.toString().toUpperCase());
1695
- }
1696
- else if (name === 'rotationNumber') {
1697
- setRotationNumber(value);
1698
- }
1699
- else if (name === 'rotationCrew') {
1700
- var valueCharacters = Array.from(value.toString());
1701
- var isValid_1 = true;
1702
- valueCharacters.forEach(function (element) {
1703
- var indexOf = crewId.indexOf(element.toUpperCase());
1704
- if (indexOf === -1)
1705
- isValid_1 = false;
1706
- });
1707
- if (isValid_1)
1708
- setRotationCrew(value.toString().toUpperCase());
1709
- }
1710
- };
1711
- var newParameter = function () {
1712
- setTitle('New Shift/Crew');
1713
- setCanEdit(true);
1714
- setDefaultValues();
1715
- };
1716
- var cancelDetail = function () {
1717
- setTitle('');
1718
- setCanEdit(false);
1719
- setCanView(false);
1720
- setDefaultValues();
1721
- };
1722
- var setDefaultValues = function () {
1723
- setStartDate(new Date());
1724
- changeShiftDay(0);
1725
- changeShiftId('');
1726
- setCrewNumber(0);
1727
- setCrewId('');
1728
- setRotationNumber(0);
1729
- setRotationCrewNumber(0);
1730
- setRotationCrew('');
1731
- setDataId(-1);
1732
- setCommment('');
1733
- setTitle('');
1734
- };
1735
- var rowClicked = function (rowClickedEvent) {
1736
- var data = rowClickedEvent.row;
1737
- if (data === undefined)
1738
- return;
1739
- if (data.id === dataId)
1740
- return;
1741
- setStartDate(data.PatternStart);
1742
- changeShiftDay(data.ShiftCodes.length);
1743
- changeShiftId(data.ShiftCodes);
1744
- setCrewNumber(data.Crews.length);
1745
- setCrewId(data.Crews);
1746
- setRotationNumber(data.PatternDays);
1747
- // setRotationCrewNumber(row.data.PatternStart);
1748
- setRotationCrew(data.CrewRotation);
1749
- setDataId(data.id);
1750
- setCommment(data.Comments);
1751
- if (data.CanEdit === true)
1752
- setCanEdit(true);
1753
- else
1754
- setCanView(true);
1755
- };
1756
- var deleteDetail = function () {
1757
- if (canEdit && dataId >= 0) {
1758
- var parameters = [];
1759
- parameters.push({ name: "@PatternStart", value: JSON.parse(JSON.stringify(startDate)) });
1760
- var apiService_1 = new MESApiService();
1761
- apiService_1.call('MES.DeleteShiftParameters', parameters)
1762
- .then(function (response) {
1763
- if (apiService_1.hasErrors) {
1764
- setShowError(true);
1765
- setError(apiService_1.error);
1766
- }
1767
- else {
1768
- setShowSuccess(true);
1769
- setSuccessMessage('Shift code was deleted');
1770
- loadComponent();
1771
- setDefaultValues();
1772
- setCanEdit(false);
1773
- setCanView(false);
1774
- }
1775
- });
1776
- }
1777
- };
1778
- var saveDetail = function () {
1779
- if (canEdit) {
1780
- var parameters = [];
1781
- parameters.push({ name: "@PatternStart", value: JSON.parse(JSON.stringify(startDate)) });
1782
- parameters.push({ name: "@ShiftCodes", value: (shiftId === '' ? null : shiftId) });
1783
- parameters.push({ name: "@Crews", value: (crewId === '' ? null : crewId) });
1784
- parameters.push({ name: "@CrewRotation", value: (rotationCrew === '' ? null : rotationCrew) });
1785
- parameters.push({ name: "@Comments", value: (comment === '' ? null : comment) });
1786
- var apiService_2 = new MESApiService();
1787
- apiService_2.call('MES.UpsertShiftParameters', parameters)
1788
- .then(function (response) {
1789
- if (apiService_2.hasErrors) {
1790
- setShowError(true);
1791
- setError(apiService_2.error);
1792
- }
1793
- else {
1794
- loadComponent();
1795
- setDefaultValues();
1796
- setShowSuccess(true);
1797
- setSuccessMessage('Shift code was updated');
1798
- setCanEdit(false);
1799
- setCanView(false);
1800
- }
1801
- });
1802
- }
1803
- };
1804
- var closeMessage = function () {
1805
- setTimeout(function () {
1806
- setShowSuccess(false);
1807
- setSuccessMessage('');
1808
- }, 2000);
1809
- };
1810
- //efects
1811
- React__default["default"].useEffect(function () {
1812
- setRotationCrewNumber(shiftDay * rotationNumber);
1813
- }, [rotationNumber]); // eslint-disable-line react-hooks/exhaustive-deps
1814
- React__default["default"].useEffect(function () {
1815
- changeShiftId(shiftId.substring(0, shiftDay));
1816
- setRotationCrewNumber(shiftDay * rotationNumber);
1817
- }, [shiftDay]); // eslint-disable-line react-hooks/exhaustive-deps
1818
- React__default["default"].useEffect(function () {
1819
- setCrewId(crewId.substring(0, crewNumber));
1820
- // setRotationCrew('');
1821
- }, [crewNumber]); // eslint-disable-line react-hooks/exhaustive-deps
1822
- React__default["default"].useEffect(function () {
1823
- //setRotationCrew('');
1824
- }, [crewId]);
1825
- React__default["default"].useEffect(function () {
1826
- // setRotationCrew(rotationCrew.substring(0,rotationCrewNumber));
1827
- }, [rotationCrewNumber]);
1828
- React__default["default"].useEffect(function () {
1829
- if (showSuccess) {
1830
- closeMessage();
1831
- }
1832
- }, [showSuccess]); // eslint-disable-line react-hooks/exhaustive-deps
1833
- React__default["default"].useEffect(loadComponent, []);
1834
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
1835
- React__default["default"].createElement(reactBootstrap.Alert, { show: showError, variant: "danger", dismissible: true, onClose: function () { setShowError(false); setError(undefined); } },
1836
- React__default["default"].createElement("strong", null, "There was an error"),
1837
- React__default["default"].createElement("p", null,
1838
- " ",
1839
- error === undefined ? 'There was an error' :
1840
- (error.internalError.message === undefined ? error.internalError : error.internalError.message))),
1841
- React__default["default"].createElement(reactBootstrap.Alert, { show: showSuccess, variant: "success" },
1842
- React__default["default"].createElement("p", null, successMessage || 'Operation was success')),
1843
- React__default["default"].createElement("div", { className: "row" },
1844
- React__default["default"].createElement(core.Typography, { className: "mx-2 mt-0 mb-2 font-weight-bold" }, "Shift / Crew")),
1845
- React__default["default"].createElement("div", { className: "row" },
1846
- React__default["default"].createElement("div", { className: "col-md-6" },
1847
- React__default["default"].createElement("div", { className: "text-right" },
1848
- React__default["default"].createElement("button", { className: "btn btn-success", onClick: newParameter, disabled: canEdit }, "New")),
1849
- React__default["default"].createElement(DataGridControl, { columns: columns, rows: dataSource, pageSize: 20, rowHeight: 30, loading: loading, rowsPerPageOptions: [10, 20, 50, 100], page: page, className: "mes-selectable-datagrid", onRowClick: rowClicked, onPageChange: function (params) { setPage(params.page); } })),
1850
- React__default["default"].createElement("div", { className: "col-md-6" }, (canView || canEdit) &&
1851
- /* @ts-ignore */
1852
- React__default["default"].createElement(MasterDetailPanel, { title: title, saveStatus: canEdit, showDelete: true, deleteStatus: dataId >= 0, onCancel: cancelDetail, onSave: saveDetail, onDelete: deleteDetail },
1853
- React__default["default"].createElement("div", { className: "row" },
1854
- React__default["default"].createElement("div", { className: "col-md-8 px-3 py-1" },
1855
- React__default["default"].createElement(DateTimeControl, { value: startDate, onChange: setStartDate, styleLabel: { 'minWidth': '150px' }, title: "Start", name: startDate }))),
1856
- React__default["default"].createElement("div", { className: "row" },
1857
- React__default["default"].createElement("div", { className: "col-md-6 px-3 py-1" },
1858
- React__default["default"].createElement(NumericTextControl, { styleLabel: { 'minWidth': '150px' }, title: "# Shift per day", onChange: changeData, value: shiftDay, name: "shiftDay", isNumeric: true, typeNumber: 3 })),
1859
- React__default["default"].createElement("div", { className: "col-md-6 px-3 py-1" },
1860
- React__default["default"].createElement(SimpleTextControl, { styleLabel: { 'minWidth': '150px' }, title: "Shift IDs", onChange: changeData, name: 'shiftId', value: shiftId, readOnly: (shiftDay === 0), lengthCharacters: shiftDay }))),
1861
- React__default["default"].createElement("div", { className: "row" },
1862
- React__default["default"].createElement("div", { className: "col-md-6 px-3 py-1" },
1863
- React__default["default"].createElement(NumericTextControl, { styleLabel: { 'minWidth': '150px' }, title: "# Crews", onChange: changeData, name: "crewNumber", value: crewNumber, isNumeric: true, typeNumber: 3 })),
1864
- React__default["default"].createElement("div", { className: "col-md-6 px-3 py-1" },
1865
- React__default["default"].createElement(SimpleTextControl, { styleLabel: { 'minWidth': '150px' }, title: "Crew IDs", onChange: changeData, name: 'crewId', value: crewId, readOnly: (crewNumber === 0), lengthCharacters: crewNumber }))),
1866
- React__default["default"].createElement("div", { className: "row" },
1867
- React__default["default"].createElement("div", { className: "col-md-6 px-3 py-1" },
1868
- React__default["default"].createElement(NumericTextControl, { styleLabel: { 'minWidth': '150px' }, title: "Rotation Pattern", onChange: changeData, name: "rotationNumber", value: rotationNumber, isNumeric: true, typeNumber: 3 }))),
1869
- React__default["default"].createElement("div", { className: "row" },
1870
- React__default["default"].createElement("div", { className: "col-md-12 px-3 py-1" },
1871
- React__default["default"].createElement(SimpleTextControl, { title: "Crew rotation", styleLabel: { 'minWidth': '150px' }, onChange: changeData, name: 'rotationCrew', value: rotationCrew, readOnly: rotationCrewNumber === 0, lengthCharacters: rotationCrewNumber }))),
1872
- React__default["default"].createElement("div", { className: "row" },
1873
- React__default["default"].createElement("div", { className: "col-md-12 px-3 pt-5" },
1874
- React__default["default"].createElement(SimpleTextAreaControl, { value: comment, onChange: setCommment, title: "Comments", name: "Comments", styleLabel: { 'minWidth': '150px' } }))))))));
1875
- }
1876
-
1877
- function ChangePassword(props) {
1878
- var onClose = props.onClose, userId = props.userId, open = props.open;
1879
- //states
1880
- var _a = React__default["default"].useState(''), password = _a[0], setPassword = _a[1];
1881
- var _b = React__default["default"].useState(''), confirmPassword = _b[0], setConfirmPassword = _b[1];
1882
- var _c = React__default["default"].useState(false), canChange = _c[0], setCanChange = _c[1];
1883
- var _d = React__default["default"].useState(false), showError = _d[0], setShowError = _d[1];
1884
- var _e = React__default["default"].useState(undefined), error = _e[0], setError = _e[1];
1885
- //functions
1886
- var handleCancel = function () {
1887
- onClose(false);
1888
- };
1889
- var handleOk = function () {
1890
- if (userId >= 0) {
1891
- var apiService_1 = new MESApiService();
1892
- apiService_1.changePassword(userId, password)
1893
- .then(function (response) {
1894
- if (apiService_1.hasErrors) {
1895
- setShowError(true);
1896
- setError(apiService_1.error);
1897
- }
1898
- else {
1899
- onClose(true);
1900
- }
1901
- });
1902
- }
1903
- else {
1904
- onClose(false);
1905
- }
1906
- };
1907
- //efects
1908
- React__default["default"].useEffect(function () {
1909
- setCanChange((password === confirmPassword) && password.length > 0);
1910
- }, [password, confirmPassword]);
1911
- React__default["default"].useEffect(function () {
1912
- setPassword('');
1913
- setConfirmPassword('');
1914
- }, [userId, open]);
1915
- return (React__default["default"].createElement(Dialog__default["default"], { onClose: function (event, reason) { return null; }, "aria-label": "Change Password", maxWidth: "xs", "aria-labelledby": "confirmation-dialog-title", open: open },
1916
- React__default["default"].createElement(DialogTitle__default["default"], { id: "confirmation-dialog-title" }, "Change Password"),
1917
- React__default["default"].createElement(DialogContent__default["default"], { dividers: true },
1918
- React__default["default"].createElement(reactBootstrap.Alert, { show: showError, variant: "danger", dismissible: true, onClose: function () { setShowError(false); setError(undefined); } },
1919
- React__default["default"].createElement("strong", null, "There was an error"),
1920
- React__default["default"].createElement("p", null,
1921
- " ",
1922
- error === undefined ? 'There was an error' :
1923
- (error.internalError.message === undefined ? error.internalError : error.internalError.message))),
1924
- React__default["default"].createElement("div", { className: "row" },
1925
- React__default["default"].createElement("div", { className: "col-md-12 px-3 py-1" },
1926
- React__default["default"].createElement(SimplePasswordControl, { title: "Password", styleLabel: { 'minWidth': '150px' }, onChange: setPassword, name: 'password', value: password }))),
1927
- React__default["default"].createElement("div", { className: "row" },
1928
- React__default["default"].createElement("div", { className: "col-md-12 px-3 py-1" },
1929
- React__default["default"].createElement(SimplePasswordControl, { title: "Confirm Password", styleLabel: { 'minWidth': '150px' }, onChange: setConfirmPassword, name: 'confirmPassword', value: confirmPassword })))),
1930
- React__default["default"].createElement(DialogActions__default["default"], null,
1931
- React__default["default"].createElement(Button__default["default"], { autoFocus: true, onClick: handleCancel, color: "primary" }, "Cancel"),
1932
- React__default["default"].createElement(Button__default["default"], { onClick: handleOk, color: "primary", disabled: !canChange }, "Change Password"))));
1933
- }
1934
-
1935
- function UserManagment() {
1936
- // variables
1937
- var columns = [
1938
- { field: 'UserName', headerName: 'Username', width: 200, type: 'string' },
1939
- { field: 'FirstName', headerName: 'Name', width: 150, type: 'string' },
1940
- { field: 'LastName', headerName: 'Lastname', width: 200, type: 'string' },
1941
- ];
1942
- //states
1943
- var _a = React__default["default"].useState(undefined), userId = _a[0], setUserId = _a[1];
1944
- var _b = React__default["default"].useState(''), userName = _b[0], setUserName = _b[1];
1945
- var _c = React__default["default"].useState(''), userFirstName = _c[0], setUserFirstName = _c[1];
1946
- var _d = React__default["default"].useState(''), userLastName = _d[0], setUserLastName = _d[1];
1947
- var _e = React__default["default"].useState(false), userIsActive = _e[0], setUserIsActive = _e[1];
1948
- var _f = React__default["default"].useState(false), userIsDomain = _f[0], setUserIsDomain = _f[1];
1949
- var _g = React__default["default"].useState([]), selectedUserProfile = _g[0], setSelectedUserProfile = _g[1];
1950
- var _h = React__default["default"].useState([]), selectedProfile = _h[0], setSelectedProfile = _h[1];
1951
- var _j = React__default["default"].useState(''), title = _j[0], setTitle = _j[1];
1952
- var _k = React__default["default"].useState(false), showError = _k[0], setShowError = _k[1];
1953
- var _l = React__default["default"].useState(undefined), error = _l[0], setError = _l[1];
1954
- var _m = React__default["default"].useState(false), showSuccess = _m[0], setShowSuccess = _m[1];
1955
- var _o = React__default["default"].useState(''), successMessage = _o[0], setSuccessMessage = _o[1];
1956
- var _p = React__default["default"].useState(0), page = _p[0], setPage = _p[1];
1957
- var _q = React__default["default"].useState(false), loading = _q[0], setLoading = _q[1];
1958
- var _r = React__default["default"].useState([]), dataSource = _r[0], setDataSource = _r[1];
1959
- var _s = React__default["default"].useState(false), open = _s[0], setOpen = _s[1];
1960
- var _t = React__default["default"].useState([]), profiles = _t[0], setProfiles = _t[1];
1961
- var _u = React__default["default"].useState([]), userProfiles = _u[0], setUserProfiles = _u[1];
1962
- var _v = React__default["default"].useState([]), otherProfiles = _v[0], setOtherProfiles = _v[1];
1963
- //functions
1964
- var loadComponent = function () {
1965
- var apiService = new MESApiService();
1966
- setLoading(true);
1967
- apiService.call('SEC.GetUsers', [])
1968
- .then(function (response) {
1969
- if (apiService.hasErrors) {
1970
- setShowError(true);
1971
- setError(apiService.error);
1972
- }
1973
- if (response !== undefined && response.tables !== undefined && response.tables[0] !== undefined) {
1974
- var mydataSource_1 = [];
1975
- var rows = response.tables[0].rows;
1976
- rows.forEach(function (row) {
1977
- row.id = row.UserId;
1978
- mydataSource_1 = __spreadArray(__spreadArray([], mydataSource_1, true), [row], false);
1979
- });
1980
- setDataSource(mydataSource_1);
1981
- }
1982
- setLoading(false);
1983
- });
1984
- var apiServceProfiles = new MESApiService();
1985
- apiServceProfiles.call('SEC.GetProfiles', [])
1986
- .then(function (response) {
1987
- if (apiService.hasErrors) {
1988
- setShowError(true);
1989
- setError(apiService.error);
1990
- }
1991
- if (response !== undefined && response.tables !== undefined && response.tables[0] !== undefined) {
1992
- var mydataSource_2 = [];
1993
- var rows = response.tables[0].rows;
1994
- rows.forEach(function (row) {
1995
- mydataSource_2 = __spreadArray(__spreadArray([], mydataSource_2, true), [row], false);
1996
- });
1997
- setProfiles(mydataSource_2);
1998
- }
1999
- });
2000
- };
2001
- var rowClicked = function (rowClickedEvent) {
2002
- var data = rowClickedEvent.row;
2003
- if (data === undefined)
2004
- return;
2005
- if (data.id === userId)
2006
- return;
2007
- setTitle(data.UserName || '');
2008
- setUserId(data.UserId);
2009
- setUserName(data.UserName || '');
2010
- setUserFirstName(data.FirstName || '');
2011
- setUserLastName(data.LastName || '');
2012
- setUserIsActive(data.IsActive || false);
2013
- setUserIsDomain(data.IsDomainUser || false);
2014
- var profilesId = (data.ProfilesId || '').split(',').filter(function (el) { return el.length !== 0; });
2015
- var myProfiles = [];
2016
- var restProfiles = [];
2017
- profiles.forEach(function (element) {
2018
- var profileFound = profilesId.find(function (profile) { return profile === element.ProfileId.toString(); });
2019
- if (profileFound === undefined)
2020
- restProfiles.push(element);
2021
- else
2022
- myProfiles.push(element);
2023
- });
2024
- setUserProfiles(myProfiles);
2025
- setOtherProfiles(restProfiles);
2026
- setSelectedUserProfile([]);
2027
- setSelectedProfile([]);
2028
- };
2029
- var setDefaultValues = function () {
2030
- setTitle('');
2031
- setUserId(undefined);
2032
- setUserName('');
2033
- setUserFirstName('');
2034
- setUserLastName('');
2035
- setUserIsActive(false);
2036
- setUserIsDomain(false);
2037
- setUserProfiles([]);
2038
- setOtherProfiles([]);
2039
- setSelectedUserProfile([]);
2040
- setSelectedProfile([]);
2041
- };
2042
- var cancelDetail = function () {
2043
- setDefaultValues();
2044
- };
2045
- var deleteDetail = function () {
2046
- if (userId && userId > 0) {
2047
- var parameters = [];
2048
- parameters.push({ name: "@UserId", value: (userId === 0 ? null : userId || null) });
2049
- var apiService_1 = new MESApiService();
2050
- apiService_1.call('SEC.DeleteUser', parameters)
2051
- .then(function (response) {
2052
- if (apiService_1.hasErrors) {
2053
- setShowError(true);
2054
- setError(apiService_1.error);
2055
- }
2056
- else {
2057
- setShowSuccess(true);
2058
- setSuccessMessage('User was deleted.');
2059
- loadComponent();
2060
- setDefaultValues();
2061
- }
2062
- });
2063
- }
2064
- };
2065
- var saveDetail = function () {
2066
- // @ts-ignore
2067
- if (userId >= 0) {
2068
- var parameters = [];
2069
- parameters.push({ name: "@UserId", value: (userId === 0 ? null : userId || null) });
2070
- parameters.push({ name: "@UserName", value: (userName === '' ? null : userName) });
2071
- parameters.push({ name: "@Name", value: (userFirstName === '' ? null : userFirstName) });
2072
- parameters.push({ name: "@LastName", value: (userLastName === '' ? null : userLastName) });
2073
- parameters.push({ name: "@IsDomainUser", value: userIsDomain });
2074
- parameters.push({ name: "@IsActive", value: userIsActive });
2075
- var apiService_2 = new MESApiService();
2076
- apiService_2.call('SEC.UpsertUser', parameters)
2077
- .then(function (response) {
2078
- if (apiService_2.hasErrors) {
2079
- setShowError(true);
2080
- setError(apiService_2.error);
2081
- }
2082
- else {
2083
- if (response !== undefined && response.tables !== undefined && response.tables[0] !== undefined) {
2084
- var idUser = response.tables[0].rows[0] === undefined ? null : response.tables[0].rows[0].UserId || null;
2085
- if ((userProfiles || []).length === 0) {
2086
- loadComponent();
2087
- setDefaultValues();
2088
- setShowSuccess(true);
2089
- setSuccessMessage('User was ' + (userId === 0 ? ' created.' : ' updated.'));
2090
- return;
2091
- }
2092
- var profileParam_1 = '';
2093
- userProfiles.forEach(function (element) {
2094
- profileParam_1 = profileParam_1 + element.ProfileId + ',';
2095
- });
2096
- var parametersProfile = [];
2097
- parametersProfile.push({ name: "@UserId", value: (idUser === 0 ? null : idUser || null) });
2098
- parametersProfile.push({ name: "@ProfileIds", value: profileParam_1 });
2099
- var apiServiceProfile_1 = new MESApiService();
2100
- apiServiceProfile_1.call('SEC.SetProfilesToUser', parametersProfile)
2101
- .then(function (responseP) {
2102
- if (apiServiceProfile_1.hasErrors) {
2103
- setShowError(true);
2104
- setError(apiServiceProfile_1.error);
2105
- }
2106
- setShowSuccess(true);
2107
- setSuccessMessage('User was ' + (userId === 0 ? ' created.' : ' updated.'));
2108
- loadComponent();
2109
- setDefaultValues();
2110
- });
2111
- }
2112
- else {
2113
- loadComponent();
2114
- setDefaultValues();
2115
- }
2116
- }
2117
- });
2118
- }
2119
- };
2120
- var newUser = function () {
2121
- setDefaultValues();
2122
- setTitle('New User');
2123
- setUserId(0);
2124
- setUserProfiles([]);
2125
- setOtherProfiles(profiles);
2126
- setSelectedUserProfile([]);
2127
- setSelectedProfile([]);
2128
- };
2129
- var changePassword = function () {
2130
- setOpen(true);
2131
- };
2132
- var closeChangePassword = function (flag) {
2133
- if (flag) {
2134
- setShowSuccess(true);
2135
- setSuccessMessage('Password was changed.');
2136
- }
2137
- setOpen(false);
2138
- };
2139
- var addProfiles = function () {
2140
- var myProfiles = userProfiles || [];
2141
- selectedProfile.forEach(function (element) {
2142
- var profileFound = profiles.find(function (profile) { return profile.ProfileId.toString() === element; });
2143
- if (profileFound !== undefined) {
2144
- myProfiles.push(profileFound);
2145
- }
2146
- });
2147
- updateListProfiles(myProfiles);
2148
- };
2149
- var removeProfiles = function () {
2150
- var myProfiles = userProfiles || [];
2151
- selectedUserProfile.forEach(function (element) {
2152
- myProfiles = myProfiles.filter(function (item) {
2153
- return item.ProfileId.toString() !== element;
2154
- });
2155
- });
2156
- updateListProfiles(myProfiles);
2157
- };
2158
- var updateListProfiles = function (selectedProfiles) {
2159
- var myProfiles = [];
2160
- var restProfiles = [];
2161
- profiles.forEach(function (element) {
2162
- var profileFound = selectedProfiles.find(function (profile) { return profile.ProfileId === element.ProfileId; });
2163
- if (profileFound === undefined)
2164
- restProfiles.push(element);
2165
- else
2166
- myProfiles.push(element);
2167
- });
2168
- setUserProfiles(myProfiles);
2169
- setOtherProfiles(restProfiles);
2170
- setSelectedUserProfile([]);
2171
- setSelectedProfile([]);
2172
- };
2173
- var closeMessage = function () {
2174
- setTimeout(function () {
2175
- setShowSuccess(false);
2176
- setSuccessMessage('');
2177
- }, 2000);
2178
- };
2179
- // effects
2180
- React__default["default"].useEffect(loadComponent, []);
2181
- React__default["default"].useEffect(function () {
2182
- if (showSuccess) {
2183
- closeMessage();
2184
- }
2185
- }, [showSuccess]); // eslint-disable-line react-hooks/exhaustive-deps
2186
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
2187
- React__default["default"].createElement(reactBootstrap.Alert, { show: showError, variant: "danger", dismissible: true, onClose: function () { setShowError(false); setError(undefined); } },
2188
- React__default["default"].createElement("strong", null, "There was an error"),
2189
- React__default["default"].createElement("p", null,
2190
- " ",
2191
- error === undefined ? 'There was an error' :
2192
- (error.internalError.message === undefined ? error.internalError : error.internalError.message))),
2193
- React__default["default"].createElement(reactBootstrap.Alert, { show: showSuccess, variant: "success" },
2194
- React__default["default"].createElement("p", null, successMessage || 'Operation was success')),
2195
- React__default["default"].createElement("div", { className: "row" },
2196
- React__default["default"].createElement(core.Typography, { className: "mx-2 mt-0 mb-2 font-weight-bold" }, "User Management")),
2197
- React__default["default"].createElement("div", { className: "row" },
2198
- React__default["default"].createElement("div", { className: "col-md-6" },
2199
- React__default["default"].createElement("div", { className: "text-right" },
2200
- React__default["default"].createElement("button", { className: "btn btn-success", onClick: newUser, disabled: userId === 0 }, "New")),
2201
- React__default["default"].createElement(DataGridControl, { columns: columns, rows: dataSource, pageSize: 20, rowHeight: 30, loading: loading, rowsPerPageOptions: [10, 20, 50, 100], page: page, className: "mes-selectable-datagrid", onRowClick: rowClicked, onPageChange: function (params) { setPage(params.page); } })),
2202
- React__default["default"].createElement("div", { className: "col-md-6" }, (userId >= 0) &&
2203
- // @ts-ignore
2204
- React__default["default"].createElement(MasterDetailPanel, { title: title, saveStatus: true, showDelete: true, deleteStatus: userId > 0, onCancel: cancelDetail, onSave: saveDetail, onDelete: deleteDetail },
2205
- React__default["default"].createElement("div", { className: "row" },
2206
- React__default["default"].createElement("div", { className: "col-md-6 px-3 py-1" },
2207
- React__default["default"].createElement(SimpleTextControl, { title: "Username", styleLabel: { 'minWidth': '150px' }, onChange: setUserName, name: 'userName', value: userName })),
2208
- React__default["default"].createElement("div", { className: "col-md-6 px-3 py-1" }, (userId > 0) &&
2209
- React__default["default"].createElement(React__default["default"].Fragment, null,
2210
- React__default["default"].createElement("button", { className: "btn btn-primary mes-button-primary", onClick: changePassword },
2211
- React__default["default"].createElement("i", { className: "fas fa-lock pr-1" }),
2212
- "Change Password"),
2213
- React__default["default"].createElement(ChangePassword, { open: open, onClose: closeChangePassword, userId: userId })))),
2214
- React__default["default"].createElement("div", { className: "row" },
2215
- React__default["default"].createElement("div", { className: "col-md-6 px-3 py-1" },
2216
- React__default["default"].createElement(SimpleTextControl, { title: "Name", styleLabel: { 'minWidth': '150px' }, onChange: setUserFirstName, name: 'firstName', value: userFirstName })),
2217
- React__default["default"].createElement("div", { className: "col-md-6 px-3 py-1" },
2218
- React__default["default"].createElement(SimpleTextControl, { title: "Lastname", styleLabel: { 'minWidth': '150px' }, onChange: setUserLastName, name: 'lastName', value: userLastName }))),
2219
- React__default["default"].createElement("div", { className: "row" },
2220
- React__default["default"].createElement("div", { className: "col-md-6 px-3 py-1" },
2221
- React__default["default"].createElement(CheckBoxControl, { value: userIsDomain, onCheck: setUserIsDomain, title: "Domain User" })),
2222
- React__default["default"].createElement("div", { className: "col-md-6 px-3 py-1" },
2223
- React__default["default"].createElement(CheckBoxControl, { value: userIsActive, onCheck: setUserIsActive, title: "Active" }))),
2224
- React__default["default"].createElement("div", { className: "row" },
2225
- React__default["default"].createElement(core.Typography, { gutterBottom: true, variant: "h5", component: "h2", className: "ml-3 pt-1" }, "Profiles")),
2226
- React__default["default"].createElement("div", { className: "row" },
2227
- React__default["default"].createElement("div", { className: "col-md-5" },
2228
- React__default["default"].createElement(MultipleSelectorControl, { title: "Available", value: selectedProfile, onChange: setSelectedProfile, onDoubleClick: addProfiles, dataSource: otherProfiles, valueField: "ProfileId", textField: "ProfileName" })),
2229
- React__default["default"].createElement("div", { className: "col-md-2 d-flex flex-column align-items-center m-auto" },
2230
- React__default["default"].createElement("button", { className: "btn btn-primary mes-button-primary my-2", title: "Assign", disabled: (selectedProfile || []).length === 0, onClick: addProfiles },
2231
- React__default["default"].createElement("i", { className: "fas fa-angle-right" })),
2232
- React__default["default"].createElement("button", { className: "btn btn-primary mes-button-primary my-2", title: "Remove", disabled: (selectedUserProfile || []).length === 0, onClick: removeProfiles },
2233
- React__default["default"].createElement("i", { className: "fas fa-angle-left" }))),
2234
- React__default["default"].createElement("div", { className: "col-md-5" },
2235
- React__default["default"].createElement(MultipleSelectorControl, { title: "Assigned", value: selectedUserProfile, onChange: setSelectedUserProfile, onDoubleClick: removeProfiles, dataSource: userProfiles, valueField: "ProfileId", textField: "ProfileName" }))))
2236
- // </div>
2237
- ))));
2238
- }
2239
-
2240
- var getShiftStyle = function (shift) {
2241
- if (shift === 'D') {
2242
- return { 'color': '#52a8b7' };
2243
- }
2244
- else if (shift === 'N') {
2245
- return { 'color': '#A5A5A5' };
2246
- }
2247
- else {
2248
- return {};
2249
- }
2250
- };
2251
- var getCrewStyle = function (crew) {
2252
- if (crew === 'A') {
2253
- return { 'color': '#0070C0' };
2254
- }
2255
- else if (crew === 'B') {
2256
- return { 'color': '#FFD24A' };
2257
- }
2258
- else if (crew === 'C') {
2259
- return { 'color': '#FD8359' };
2260
- }
2261
- else if (crew === 'D') {
2262
- return { 'color': '#00B050' };
2263
- }
2264
- else {
2265
- return {};
2266
- }
2267
- };
2268
- var GetShiftColor = function (props) {
2269
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
2270
- React__default["default"].createElement("i", { className: "fas fa-square mr-2", style: getShiftStyle(props.value) })));
2271
- };
2272
- var GetCrewColor = function (props) {
2273
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
2274
- React__default["default"].createElement("i", { className: "fas fa-square mr-2", style: getCrewStyle(props.value) })));
2275
- };
2276
-
2277
- var Configuration$1 = /** @class */ (function () {
2278
- function Configuration() {
2279
- var _a;
2280
- this.API_PROCEDURE_URL = "/backend";
2281
- this.API_AUTH_URL = "/authentication";
2282
- this.TOKEN = ((_a = JSON.parse(localStorage.getItem('userMESData'))) === null || _a === void 0 ? void 0 : _a.token) || '';
2283
- }
2284
- return Configuration;
2285
- }());
2286
-
2287
- var MESApiService = /** @class */ (function () {
2288
- function MESApiService() {
2289
- this.config = new Configuration$1();
2290
- this.hasErrors = false;
2291
- this.error = undefined;
2292
- this.TOKEN = this.config.TOKEN;
2293
- }
2294
- MESApiService.prototype.prepareCall = function () {
2295
- this.hasErrors = false;
2296
- this.error = undefined;
2297
- };
2298
- MESApiService.prototype.changePassword = function (userId, password) {
2299
- return __awaiter(this, void 0, void 0, function () {
2300
- var isError, data;
2301
- var _this = this;
2302
- return __generator(this, function (_a) {
2303
- this.prepareCall();
2304
- isError = { ok: true };
2305
- data = {};
2306
- data.userId = userId;
2307
- data.password = password;
2308
- return [2 /*return*/, fetch(this.config.API_AUTH_URL + '/ChangePassword', {
2309
- method: "POST",
2310
- mode: "cors",
2311
- headers: {
2312
- "Content-Type": "application/json",
2313
- 'Authorization': 'Bearer ' + this.TOKEN
2314
- },
2315
- body: JSON.stringify(data)
2316
- })["catch"](function (errorMsg) {
2317
- throw new FetchError(errorMsg.message, 404, "ERR_CONNECTION_REFUSED");
2318
- })
2319
- .then(function (response) {
2320
- isError = { ok: response.ok, status: response.status, statusText: response.statusText };
2321
- return response.json();
2322
- })
2323
- .then(function (object) {
2324
- if (!isError.ok)
2325
- throw new FetchError(isError.statusText, isError.status, object);
2326
- return object;
2327
- })["catch"](function (err) {
2328
- _this.hasErrors = true;
2329
- _this.error = err;
2330
- return {
2331
- hasErrors: true,
2332
- error: err
2333
- };
2334
- })];
2335
- });
2336
- });
2337
- };
2338
- MESApiService.prototype.authenticate = function (userName, password) {
2339
- return __awaiter(this, void 0, void 0, function () {
2340
- var isError, data;
2341
- var _this = this;
2342
- return __generator(this, function (_a) {
2343
- this.prepareCall();
2344
- isError = { ok: true };
2345
- data = {};
2346
- data.userName = userName;
2347
- data.password = password;
2348
- return [2 /*return*/, fetch(this.config.API_AUTH_URL + '/Authenticate', {
2349
- method: "POST",
2350
- mode: "cors",
2351
- headers: {
2352
- "Content-Type": "application/json"
2353
- },
2354
- body: JSON.stringify(data)
2355
- })["catch"](function (errorMsg) {
2356
- throw new FetchError(errorMsg.message, 404, "ERR_CONNECTION_REFUSED");
2357
- })
2358
- .then(function (response) {
2359
- isError = { ok: response.ok, status: response.status, statusText: response.statusText };
2360
- return response.json();
2361
- })
2362
- .then(function (object) {
2363
- if (!isError.ok)
2364
- throw new FetchError(isError.statusText, isError.status, object);
2365
- return object;
2366
- })["catch"](function (err) {
2367
- _this.hasErrors = true;
2368
- _this.error = err;
2369
- return {
2370
- hasErrors: true,
2371
- error: err
2372
- };
2373
- })];
2374
- });
2375
- });
2376
- };
2377
- MESApiService.prototype.loginWithAzureAD = function (accessToken) {
2378
- return __awaiter(this, void 0, void 0, function () {
2379
- var isError, data;
2380
- var _this = this;
2381
- return __generator(this, function (_a) {
2382
- this.prepareCall();
2383
- isError = { ok: true };
2384
- data = {};
2385
- data.AccessToken = accessToken;
2386
- return [2 /*return*/, fetch(this.config.API_AUTH_URL + '/authenticate-with-azure-ad', {
2387
- method: "POST",
2388
- mode: "cors",
2389
- headers: {
2390
- "Content-Type": "application/json"
2391
- },
2392
- body: JSON.stringify(data)
2393
- })["catch"](function (errorMsg) {
2394
- throw new FetchError(errorMsg.message, 404, "ERR_CONNECTION_REFUSED");
2395
- })
2396
- .then(function (response) {
2397
- isError = { ok: response.ok, status: response.status, statusText: response.statusText };
2398
- return response.json();
2399
- })
2400
- .then(function (object) {
2401
- if (!isError.ok)
2402
- throw new FetchError(isError.statusText, isError.status, object);
2403
- return object;
2404
- })["catch"](function (err) {
2405
- _this.hasErrors = true;
2406
- _this.error = err;
2407
- return {
2408
- hasErrors: true,
2409
- error: err
2410
- };
2411
- })];
2412
- });
2413
- });
2414
- };
2415
- MESApiService.prototype.call = function (procedure, parameters, database) {
2416
- if (database === void 0) { database = ''; }
2417
- return __awaiter(this, void 0, void 0, function () {
2418
- var data, formattedParameters, isError;
2419
- var _this = this;
2420
- return __generator(this, function (_a) {
2421
- data = {};
2422
- formattedParameters = [];
2423
- parameters.forEach(function (element) {
2424
- var formattedParameter = {};
2425
- formattedParameter.name = element.name;
2426
- if (element.value === null || element.value === undefined)
2427
- formattedParameter.value = null;
2428
- else
2429
- formattedParameter.value = element.value;
2430
- formattedParameters.push(formattedParameter);
2431
- });
2432
- data.method = procedure;
2433
- data.dataBaseName = database;
2434
- data.parameters = formattedParameters;
2435
- Date.prototype.toJSON = function () { return moment__default["default"](this).format('YYYY-MM-DDTHH:mm:ss'); }; // eslint-disable-line
2436
- isError = { ok: true };
2437
- return [2 /*return*/, fetch(this.config.API_PROCEDURE_URL + '/Execute', {
2438
- method: "POST",
2439
- mode: "cors",
2440
- headers: {
2441
- "Content-Type": "application/json",
2442
- 'Authorization': 'Bearer ' + this.TOKEN
2443
- },
2444
- body: JSON.stringify(data)
2445
- })["catch"](function (errorMsg) {
2446
- throw new FetchError(errorMsg.message, 404, "ERR_CONNECTION_REFUSED");
2447
- })
2448
- .then(function (response) {
2449
- isError = { ok: response.ok, status: response.status, statusText: response.statusText };
2450
- return response.json();
2451
- })
2452
- .then(function (object) {
2453
- if (!isError.ok)
2454
- throw new FetchError(isError.statusText, isError.status, object);
2455
- return object;
2456
- })["catch"](function (err) {
2457
- _this.hasErrors = true;
2458
- _this.error = err;
2459
- return;
2460
- })];
2461
- });
2462
- });
2463
- };
2464
- MESApiService.prototype.callJSON = function (procedure, parameters, database) {
2465
- if (database === void 0) { database = ''; }
2466
- return __awaiter(this, void 0, void 0, function () {
2467
- var data, formattedParameters, isError;
2468
- var _this = this;
2469
- return __generator(this, function (_a) {
2470
- data = {};
2471
- formattedParameters = [];
2472
- parameters.forEach(function (element) {
2473
- var formattedParameter = {};
2474
- formattedParameter.name = element.name;
2475
- if (element.value === null || element.value === undefined)
2476
- formattedParameter.value = null;
2477
- else
2478
- formattedParameter.value = element.value;
2479
- formattedParameters.push(formattedParameter);
2480
- });
2481
- data.method = procedure;
2482
- data.dataBaseName = database;
2483
- data.parameters = formattedParameters;
2484
- Date.prototype.toJSON = function () { return moment__default["default"](this).format('YYYY-MM-DDTHH:mm:ss'); }; // eslint-disable-line
2485
- isError = { ok: true };
2486
- return [2 /*return*/, fetch(this.config.API_PROCEDURE_URL + '/ExecuteJSON', {
2487
- method: "POST",
2488
- mode: "cors",
2489
- headers: {
2490
- "Content-Type": "application/json",
2491
- 'Authorization': 'Bearer ' + this.TOKEN
2492
- },
2493
- body: JSON.stringify(data)
2494
- })["catch"](function (errorMsg) {
2495
- throw new FetchError(errorMsg.message, 404, "ERR_CONNECTION_REFUSED");
2496
- })
2497
- .then(function (response) {
2498
- isError = { ok: response.ok, status: response.status, statusText: response.statusText };
2499
- return response.json();
2500
- })
2501
- .then(function (object) {
2502
- if (!isError.ok)
2503
- throw new FetchError(isError.statusText, isError.status, object);
2504
- return object;
2505
- })["catch"](function (err) {
2506
- _this.hasErrors = true;
2507
- _this.error = err;
2508
- return;
2509
- })];
2510
- });
2511
- });
2512
- };
2513
- MESApiService.prototype["import"] = function (procedure, parameters, files, uniqueFile, database) {
2514
- if (database === void 0) { database = ''; }
2515
- return __awaiter(this, void 0, void 0, function () {
2516
- var formData, formattedParameters, isError;
2517
- var _this = this;
2518
- return __generator(this, function (_a) {
2519
- formData = new FormData();
2520
- formattedParameters = [];
2521
- parameters.forEach(function (element) {
2522
- var formattedParameter = {};
2523
- formattedParameter.name = element.name;
2524
- if (element.value === null || element.value === undefined)
2525
- formattedParameter.value = null;
2526
- else
2527
- formattedParameter.value = element.value;
2528
- formattedParameters.push(formattedParameter);
2529
- });
2530
- Date.prototype.toJSON = function () { return moment__default["default"](this).format('YYYY-MM-DDTHH:mm:ss'); }; // eslint-disable-line
2531
- isError = { ok: true };
2532
- files.forEach(function (element) {
2533
- formData.append('formFiles', element);
2534
- });
2535
- formData.append('method', procedure);
2536
- formData.append('dataBaseName', database);
2537
- formData.append('processFirstFile', uniqueFile);
2538
- formData.append('parameters', JSON.stringify(formattedParameters));
2539
- return [2 /*return*/, fetch(this.config.API_PROCEDURE_URL + '/Import', {
2540
- method: "POST",
2541
- mode: "cors",
2542
- headers: {
2543
- 'Authorization': 'Bearer ' + this.TOKEN
2544
- },
2545
- body: formData
2546
- })["catch"](function (errorMsg) {
2547
- throw new FetchError(errorMsg.message, 404, "ERR_CONNECTION_REFUSED");
2548
- })
2549
- .then(function (response) {
2550
- isError = { ok: response.ok, status: response.status, statusText: response.statusText };
2551
- return response.json();
2552
- })
2553
- .then(function (object) {
2554
- if (!isError.ok)
2555
- throw new FetchError(isError.statusText, isError.status, object);
2556
- return object;
2557
- })["catch"](function (err) {
2558
- _this.hasErrors = true;
2559
- _this.error = err;
2560
- return;
2561
- })];
2562
- });
2563
- });
2564
- };
2565
- MESApiService.prototype["export"] = function (procedure, parameters, fileName, database) {
2566
- if (database === void 0) { database = ''; }
2567
- return __awaiter(this, void 0, void 0, function () {
2568
- var data, formattedParameters, isError;
2569
- var _this = this;
2570
- return __generator(this, function (_a) {
2571
- data = {};
2572
- formattedParameters = [];
2573
- parameters.forEach(function (element) {
2574
- var formattedParameter = {};
2575
- formattedParameter.name = element.name;
2576
- if (element.value === null || element.value === undefined)
2577
- formattedParameter.value = null;
2578
- else
2579
- formattedParameter.value = element.value;
2580
- formattedParameters.push(formattedParameter);
2581
- });
2582
- data.method = procedure;
2583
- data.dataBaseName = database;
2584
- data.parameters = formattedParameters;
2585
- data.fileName = fileName || 'Default.xlsx';
2586
- Date.prototype.toJSON = function () { return moment__default["default"](this).format('YYYY-MM-DDTHH:mm:ss'); }; // eslint-disable-line
2587
- isError = { ok: true };
2588
- return [2 /*return*/, fetch(this.config.API_PROCEDURE_URL + '/Export', {
2589
- method: "POST",
2590
- mode: "cors",
2591
- headers: {
2592
- "Content-Type": "application/json",
2593
- 'Authorization': 'Bearer ' + this.TOKEN
2594
- },
2595
- body: JSON.stringify(data)
2596
- })["catch"](function (errorMsg) {
2597
- throw new FetchError(errorMsg.message, 404, "ERR_CONNECTION_REFUSED");
2598
- })
2599
- .then(function (response) {
2600
- isError = { ok: response.ok, status: response.status, statusText: response.statusText };
2601
- if (!isError.ok)
2602
- return response.json();
2603
- else
2604
- return response.blob();
2605
- })
2606
- .then(function (blob) {
2607
- if (!isError.ok)
2608
- throw new FetchError(isError.statusText, isError.status, blob);
2609
- var url = window.URL.createObjectURL(blob);
2610
- var a = document.createElement('a');
2611
- a.href = url;
2612
- a.download = fileName || 'Default.xlsx';
2613
- document.body.appendChild(a); // we need to append the element to the dom -> otherwise it will not work in firefox
2614
- a.click();
2615
- a.remove(); //afterwards we remove the element again
2616
- return 'ok';
2617
- })["catch"](function (err) {
2618
- _this.hasErrors = true;
2619
- _this.error = err;
2620
- return;
2621
- })];
2622
- });
2623
- });
2624
- };
2625
- MESApiService.prototype.exportExcel = function (procedure, parameters, fileName, excelStructure, database) {
2626
- if (database === void 0) { database = ''; }
2627
- return __awaiter(this, void 0, void 0, function () {
2628
- var data, formattedParameters, isError;
2629
- var _this = this;
2630
- return __generator(this, function (_a) {
2631
- data = {};
2632
- formattedParameters = [];
2633
- parameters.forEach(function (element) {
2634
- var formattedParameter = {};
2635
- formattedParameter.name = element.name;
2636
- if (element.value === null || element.value === undefined)
2637
- formattedParameter.value = null;
2638
- else
2639
- formattedParameter.value = element.value;
2640
- formattedParameters.push(formattedParameter);
2641
- });
2642
- /******* Excel Structure *******/
2643
- if (excelStructure.showAllSheets !== undefined && excelStructure.showAllSheets !== null)
2644
- data.showAllSheets = excelStructure.showAllSheets;
2645
- if (excelStructure.sheets !== undefined && excelStructure.sheets !== null)
2646
- data.sheets = excelStructure.sheets;
2647
- /******* Other Parameter *******/
2648
- data.method = procedure;
2649
- data.dataBaseName = database;
2650
- data.parameters = formattedParameters;
2651
- data.fileName = fileName || 'Default.xlsx';
2652
- Date.prototype.toJSON = function () { return moment__default["default"](this).format('YYYY-MM-DDTHH:mm:ss'); }; // eslint-disable-line
2653
- isError = { ok: true };
2654
- return [2 /*return*/, fetch(this.config.API_PROCEDURE_URL + '/ExportExcel', {
2655
- method: "POST",
2656
- mode: "cors",
2657
- headers: {
2658
- "Content-Type": "application/json",
2659
- 'Authorization': 'Bearer ' + this.TOKEN
2660
- },
2661
- body: JSON.stringify(data)
2662
- })["catch"](function (errorMsg) {
2663
- throw new FetchError(errorMsg.message, 404, "ERR_CONNECTION_REFUSED");
2664
- })
2665
- .then(function (response) {
2666
- isError = { ok: response.ok, status: response.status, statusText: response.statusText };
2667
- if (!isError.ok)
2668
- return response.json();
2669
- else
2670
- return response.blob();
2671
- })
2672
- .then(function (blob) {
2673
- if (!isError.ok)
2674
- throw new FetchError(isError.statusText, isError.status, blob);
2675
- var url = window.URL.createObjectURL(blob);
2676
- var a = document.createElement('a');
2677
- a.href = url;
2678
- a.download = fileName || 'Default.xlsx';
2679
- document.body.appendChild(a); // we need to append the element to the dom -> otherwise it will not work in firefox
2680
- a.click();
2681
- a.remove(); //afterwards we remove the element again
2682
- return 'ok';
2683
- })["catch"](function (err) {
2684
- _this.hasErrors = true;
2685
- _this.error = err;
2686
- return;
2687
- })];
2688
- });
2689
- });
2690
- };
2691
- return MESApiService;
2692
- }());
2693
-
2694
- function useToken() {
2695
- var getToken = function () {
2696
- var tokenString = localStorage.getItem('userMESData');
2697
- var userToken = JSON.parse(tokenString);
2698
- return userToken === null || userToken === void 0 ? void 0 : userToken.token;
2699
- };
2700
- var _a = React.useState(getToken()), token = _a[0], setToken = _a[1];
2701
- // TODO: userToken typings
2702
- var saveToken = function (userToken) {
2703
- localStorage.setItem('userMESData', JSON.stringify(userToken));
2704
- setToken(userToken.token);
2705
- };
2706
- var clearUserData = function () {
2707
- localStorage.removeItem('userMESData');
2708
- setToken(undefined);
2709
- };
2710
- var getUserName = function () {
2711
- var sessionData = localStorage.getItem('userMESData');
2712
- var userData = JSON.parse(sessionData);
2713
- return ((userData || {}).lastName || '') + ', ' + ((userData || {}).firstName || '');
2714
- };
2715
- var getFirstName = function () {
2716
- var sessionData = localStorage.getItem('userMESData');
2717
- var userData = JSON.parse(sessionData);
2718
- return ((userData || {}).firstName || '');
2719
- };
2720
- var getLastName = function () {
2721
- var sessionData = localStorage.getItem('userMESData');
2722
- var userData = JSON.parse(sessionData);
2723
- return ((userData || {}).lastName || '');
2724
- };
2725
- var getUserId = function () {
2726
- var sessionData = localStorage.getItem('userMESData');
2727
- var userData = JSON.parse(sessionData);
2728
- return ((userData || {}).id || (-1));
2729
- };
2730
- var hasPermission = function (permissionId) {
2731
- var sessionData = localStorage.getItem('userMESData');
2732
- if (sessionData === undefined)
2733
- return false;
2734
- var userData = JSON.parse(sessionData);
2735
- var permissions = userData.permissions || [];
2736
- return permissions.indexOf(permissionId) > -1; //case sensitve
2737
- };
2738
- return {
2739
- getUserName: getUserName,
2740
- setToken: saveToken,
2741
- clearToken: clearUserData,
2742
- getFirstName: getFirstName,
2743
- getLastName: getLastName,
2744
- getUserId: getUserId,
2745
- hasPermission: hasPermission,
2746
- token: token
2747
- };
2748
- }
2749
-
2750
- function Account() {
2751
- var _a = useToken(), getUserName = _a.getUserName, getUserId = _a.getUserId;
2752
- var _b = React__default["default"].useState(false), showError = _b[0], setShowError = _b[1];
2753
- var _c = React__default["default"].useState(undefined), error = _c[0], setError = _c[1];
2754
- var _d = React__default["default"].useState(""), userLastName = _d[0], setUserLastName = _d[1];
2755
- var _e = React__default["default"].useState(""), userFirstName = _e[0], setUserFirstName = _e[1];
2756
- var userId = React__default["default"].useState(getUserId)[0];
2757
- var userParam = React__default["default"].useState(getUserName)[0];
2758
- var _f = React__default["default"].useState(''), userName = _f[0], setUserName = _f[1];
2759
- var _g = React__default["default"].useState(false), userIsDomain = _g[0], setUserIsDomain = _g[1];
2760
- var _h = React__default["default"].useState(false), userIsActive = _h[0], setUserIsActive = _h[1];
2761
- var _j = React__default["default"].useState(''), userProfiles = _j[0], setUserProfiles = _j[1];
2762
- var _k = React__default["default"].useState(''), userPermissions = _k[0], setUserPermissions = _k[1];
2763
- var _l = React__default["default"].useState(''), userProcedures = _l[0], setUserProcedures = _l[1];
2764
- var _m = React__default["default"].useState(false), open = _m[0], setOpen = _m[1];
2765
- var _o = React__default["default"].useState(false), showSuccess = _o[0], setShowSuccess = _o[1];
2766
- var _p = React__default["default"].useState(''), successMessage = _p[0], setSuccessMessage = _p[1];
2767
- var changePassword = function () {
2768
- setOpen(true);
2769
- };
2770
- var closeChangePassword = function (flag) {
2771
- if (flag) {
2772
- setShowSuccess(true);
2773
- setSuccessMessage('Password was changed successfully.');
2774
- }
2775
- setOpen(false);
2776
- };
2777
- var stringToList = function (s) {
2778
- s = s.replace(/,/g, '\n');
2779
- s = s.replace(/ *\([^)]*\) */g, "");
2780
- return s;
2781
- };
2782
- var loadUserData = function () {
2783
- var apiService = new MESApiService();
2784
- var parameters = [];
2785
- parameters.push({ name: "@UserId", value: userId });
2786
- parameters.push({ name: "@UserName", value: userParam });
2787
- apiService.call('SEC.GetUser', parameters)
2788
- .then(function (response) {
2789
- if (apiService.hasErrors) {
2790
- setShowError(true);
2791
- setError(apiService.error);
2792
- }
2793
- if (response !== undefined && response.tables !== undefined && response.tables[0] !== undefined) {
2794
- var userData = response.tables[0].rows[0];
2795
- setUserName(userData.UserName);
2796
- setUserLastName(userData.LastName);
2797
- setUserFirstName(userData.FirstName);
2798
- setUserIsDomain(userData.IsDomainUser);
2799
- setUserIsActive(userData.IsActive);
2800
- setUserProfiles(stringToList((userData.Profiles || '')));
2801
- setUserProcedures(stringToList((userData.Procedures || '')));
2802
- setUserPermissions(stringToList((userData.Permissions || '')));
2803
- }
2804
- });
2805
- };
2806
- var closeMessage = function () {
2807
- setTimeout(function () {
2808
- setShowSuccess(false);
2809
- setSuccessMessage('');
2810
- }, 2000);
2811
- };
2812
- React__default["default"].useEffect(loadUserData, []);
2813
- React__default["default"].useEffect(function () {
2814
- if (showSuccess === true) {
2815
- closeMessage();
2816
- }
2817
- }, [showSuccess]);
2818
- return (
2819
- /* @ts-ignore */
2820
- React__default["default"].createElement(GenericPanel, { title: "Account Configuration", showPromptError: showError, error: error, showPromptSuccess: showSuccess, successMessage: successMessage },
2821
- React__default["default"].createElement("div", { className: "row" },
2822
- React__default["default"].createElement("div", { className: "col-md-3 px-3 py-1" },
2823
- React__default["default"].createElement(SimpleTextControl, { title: "Username", styleLabel: { 'minWidth': '110px' }, styleTextBox: { 'maxWidth': '200px', 'minWidth': '100px' }, readOnly: true, name: 'userName', value: userName, styleGeneral: { 'display': 'flex' } })),
2824
- React__default["default"].createElement("div", { className: "col-md-4 px-3 py-1" },
2825
- React__default["default"].createElement("button", { className: "btn btn-primary mes-button-primary", onClick: changePassword },
2826
- React__default["default"].createElement("i", { className: "fas fa-lock pr-1" }),
2827
- "Change Password"),
2828
- React__default["default"].createElement(ChangePassword, { open: open, onClose: closeChangePassword, userId: userId }))),
2829
- React__default["default"].createElement("div", { className: "row" },
2830
- React__default["default"].createElement("div", { className: "col-md-3 px-3 py-1" },
2831
- React__default["default"].createElement(SimpleTextControl, { title: "Name", styleLabel: { 'minWidth': '110px' }, styleTextBox: { 'maxWidth': '200px', 'minWidth': '100px' }, readOnly: true, name: 'firstName', value: userFirstName, styleGeneral: { 'display': 'flex' } })),
2832
- React__default["default"].createElement("div", { className: "col-md-3 px-3 py-1" },
2833
- React__default["default"].createElement(SimpleTextControl, { title: "Lastname", styleLabel: { 'minWidth': '110px' }, styleTextBox: { 'maxWidth': '200px', 'minWidth': '100px' }, readOnly: true, name: 'lastName', value: userLastName, styleGeneral: { 'display': 'flex' } }))),
2834
- React__default["default"].createElement("div", { className: "row" },
2835
- React__default["default"].createElement("div", { className: "col-md-3 px-3 py-1" },
2836
- React__default["default"].createElement(CheckBoxControl, { value: userIsDomain, title: "Domain User", readOnly: true, styleTextBox: { 'maxWidth': '300px' }, disabled: true })),
2837
- React__default["default"].createElement("div", { className: "col-md-3 px-3 py-1" },
2838
- React__default["default"].createElement(CheckBoxControl, { value: userIsActive, title: "Active", readOnly: true, styleTextBox: { 'maxWidth': '300px' }, disabled: true }))),
2839
- React__default["default"].createElement("div", { className: "row" },
2840
- React__default["default"].createElement("div", { className: "col-md-4" },
2841
- React__default["default"].createElement(core.Typography, { gutterBottom: true, variant: "h5", component: "h2", className: "pt-1" }, "Profiles"),
2842
- React__default["default"].createElement("textarea", { className: "form-control", placeholder: userProfiles, readOnly: true, style: { "height": "50vh" } })),
2843
- React__default["default"].createElement("div", { className: "col-md-4" },
2844
- React__default["default"].createElement(core.Typography, { gutterBottom: true, variant: "h5", component: "h2", className: "pt-1" }, "Permissions"),
2845
- React__default["default"].createElement("textarea", { className: "form-control", placeholder: userPermissions, readOnly: true, style: { "height": "50vh" } })),
2846
- React__default["default"].createElement("div", { className: "col-md-4" },
2847
- React__default["default"].createElement(core.Typography, { gutterBottom: true, variant: "h5", component: "h2", className: "pt-1" }, "Procedures"),
2848
- React__default["default"].createElement("textarea", { className: "form-control", placeholder: userProcedures, readOnly: true, style: { "height": "50vh" } })))));
2849
- }
2850
-
2851
- var AuthContext = React__default["default"].createContext({});
2852
- var AuthProvider = function (_a) {
2853
- var children = _a.children, authConfig = _a.authConfig;
2854
- var useTokenHook = useToken();
2855
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
2856
- React__default["default"].createElement(AuthContext.Provider, { value: useTokenHook },
2857
- !!useTokenHook.token && React__default["default"].createElement(Authenticated, null, children),
2858
- !useTokenHook.token && React__default["default"].createElement(Unauthenticated, { authConfig: authConfig }))));
2859
- };
2860
- var Authenticated = function (_a) {
2861
- var children = _a.children;
2862
- return (React__default["default"].createElement(React__default["default"].Fragment, null, children));
2863
- };
2864
- var Unauthenticated = function (_a) {
2865
- var authConfig = _a.authConfig;
2866
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
2867
- React__default["default"].createElement(Login, { authConfig: authConfig })));
2868
- };
2869
-
2870
- var LoginWithEmailAndPassword = function () {
2871
- var _a = React.useState(''), username = _a[0], setUserName = _a[1];
2872
- var _b = React.useState(''), password = _b[0], setPassword = _b[1];
2873
- var _c = React__default["default"].useState(false), showError = _c[0], setShowError = _c[1];
2874
- var _d = React__default["default"].useState(undefined), error = _d[0], setError = _d[1];
2875
- var setToken = React__default["default"].useContext(AuthContext).setToken;
2876
- var apiService = new MESApiService();
2877
- var login = function (e) { return __awaiter(void 0, void 0, void 0, function () {
2878
- var response;
2879
- return __generator(this, function (_a) {
2880
- switch (_a.label) {
2881
- case 0:
2882
- e.preventDefault();
2883
- return [4 /*yield*/, apiService.authenticate(username, password)];
2884
- case 1:
2885
- response = _a.sent();
2886
- if (apiService.hasErrors) {
2887
- setShowError(true);
2888
- setError(apiService.error);
2889
- }
2890
- else {
2891
- setToken(response);
2892
- }
2893
- return [2 /*return*/];
2894
- }
2895
- });
2896
- }); };
2897
- var handleKeypress = function (e) {
2898
- if (e.charCode === 13) {
2899
- login(e);
2900
- }
2901
- };
2902
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
2903
- React__default["default"].createElement("form", { onSubmit: login },
2904
- React__default["default"].createElement(reactBootstrap.Alert, { show: showError, variant: "danger", dismissible: true, onClose: function () {
2905
- setShowError(false);
2906
- setError(undefined);
2907
- } },
2908
- React__default["default"].createElement("strong", null, "Bad credentials"),
2909
- React__default["default"].createElement("p", null,
2910
- " ",
2911
- error === undefined ? 'There was an error' :
2912
- (error.internalError.message === undefined ? error.internalError : error.internalError.message))),
2913
- React__default["default"].createElement("div", { className: "form-group row" },
2914
- React__default["default"].createElement("input", { id: "txtUserName", placeholder: "User", name: "userName", onChange: function (e) { return setUserName(e.target.value); }, type: "text", autoComplete: "off", className: "form-control" })),
2915
- React__default["default"].createElement("div", { className: "form-group row" },
2916
- React__default["default"].createElement("input", { id: "txtPassword", placeholder: "Password", name: "password", onChange: function (e) { return setPassword(e.target.value); }, onKeyPress: handleKeypress, type: "password", className: "form-control" })),
2917
- React__default["default"].createElement("div", { className: "row" },
2918
- React__default["default"].createElement("button", { className: "btn btn-primary mes-button-primary mx-auto col-md-12 mt-3 ", type: "submit", disabled: password.length === 0 || username.length === 0 }, "Login")))));
2919
- };
2920
-
2921
- /*
2922
- * Copyright (c) Microsoft Corporation. All rights reserved.
2923
- * Licensed under the MIT License.
2924
- */
2925
- /**
2926
- * Configuration object to be passed to MSAL instance on creation.
2927
- * For a full list of MSAL.js configuration parameters, visit:
2928
- * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/configuration.md
2929
- */
2930
- var msalConfig = {
2931
- auth: {
2932
- clientId: "7c77d607-51e0-4e03-bd50-d7aa18a7163g",
2933
- authority: "https://login.microsoftonline.com/common",
2934
- redirectUri: "http://localhost:5000/"
2935
- },
2936
- cache: {
2937
- cacheLocation: "sessionStorage",
2938
- storeAuthStateInCookie: false
2939
- },
2940
- system: {
2941
- loggerOptions: {
2942
- loggerCallback: function (level, message, containsPii) {
2943
- if (containsPii) {
2944
- return;
2945
- }
2946
- switch (level) {
2947
- case msalBrowser.LogLevel.Error:
2948
- console.error(message);
2949
- return;
2950
- case msalBrowser.LogLevel.Info:
2951
- console.info(message);
2952
- return;
2953
- case msalBrowser.LogLevel.Verbose:
2954
- console.debug(message);
2955
- return;
2956
- case msalBrowser.LogLevel.Warning:
2957
- console.warn(message);
2958
- return;
2959
- }
2960
- }
2961
- }
2962
- }
2963
- };
2964
- /**
2965
- * Scopes you add here will be prompted for user consent during sign-in.
2966
- * By default, MSAL.js will add OIDC scopes (openid, profile, email) to any login request.
2967
- * For more information about OIDC scopes, visit:
2968
- * https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-permissions-and-consent#openid-connect-scopes
2969
- */
2970
- var loginRequest = {
2971
- scopes: ["User.Read"]
2972
- };
2973
-
2974
- var LoginWithAzureADForm = function () {
2975
- var setToken = React__default["default"].useContext(AuthContext).setToken;
2976
- var instance = msalReact.useMsal().instance;
2977
- var login = function (e) { return __awaiter(void 0, void 0, void 0, function () {
2978
- var result, api, loginResponse, e_1, e_2;
2979
- return __generator(this, function (_a) {
2980
- switch (_a.label) {
2981
- case 0:
2982
- e.preventDefault();
2983
- _a.label = 1;
2984
- case 1:
2985
- _a.trys.push([1, 7, , 8]);
2986
- return [4 /*yield*/, instance.loginPopup(loginRequest)];
2987
- case 2:
2988
- result = _a.sent();
2989
- api = new MESApiService();
2990
- _a.label = 3;
2991
- case 3:
2992
- _a.trys.push([3, 5, , 6]);
2993
- return [4 /*yield*/, api.loginWithAzureAD(result.accessToken)];
2994
- case 4:
2995
- loginResponse = _a.sent();
2996
- setToken(loginResponse);
2997
- return [3 /*break*/, 6];
2998
- case 5:
2999
- e_1 = _a.sent();
3000
- console.log(e_1);
3001
- return [3 /*break*/, 6];
3002
- case 6: return [3 /*break*/, 8];
3003
- case 7:
3004
- e_2 = _a.sent();
3005
- console.log({ e: e_2 });
3006
- return [3 /*break*/, 8];
3007
- case 8: return [2 /*return*/];
3008
- }
3009
- });
3010
- }); };
3011
- return (React__default["default"].createElement("form", { onSubmit: login },
3012
- React__default["default"].createElement("div", { className: "row" },
3013
- React__default["default"].createElement("button", { className: "btn btn-primary mes-button-primary mx-auto col-md-12 mt-3 ", type: "submit" }, "Login with Active Directory"))));
3014
- };
3015
-
3016
- var LoginWithAzureAD = function (_a) {
3017
- var config = _a.config;
3018
- var msalInstance = new msalBrowser.PublicClientApplication(__assign(__assign({}, msalConfig), {
3019
- auth: __assign({}, config)
3020
- }));
3021
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
3022
- React__default["default"].createElement(msalReact.MsalProvider, { instance: msalInstance },
3023
- React__default["default"].createElement(LoginWithAzureADForm, null))));
3024
- };
3025
-
3026
- var LoginAsGuest = function () {
3027
- var _a = React__default["default"].useState(false), showError = _a[0], setShowError = _a[1];
3028
- var _b = React__default["default"].useState(undefined), error = _b[0], setError = _b[1];
3029
- var setToken = React__default["default"].useContext(AuthContext).setToken;
3030
- var apiService = new MESApiService();
3031
- var loginAsGuest = function (e) { return __awaiter(void 0, void 0, void 0, function () {
3032
- var response;
3033
- return __generator(this, function (_a) {
3034
- switch (_a.label) {
3035
- case 0:
3036
- e.preventDefault();
3037
- return [4 /*yield*/, apiService.authenticate('public', 'public')];
3038
- case 1:
3039
- response = _a.sent();
3040
- if (apiService.hasErrors) {
3041
- setShowError(true);
3042
- setError(apiService.error);
3043
- }
3044
- else {
3045
- setToken(response);
3046
- }
3047
- return [2 /*return*/];
3048
- }
3049
- });
3050
- }); };
3051
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
3052
- React__default["default"].createElement(reactBootstrap.Alert, { show: showError, variant: "danger", dismissible: true, onClose: function () {
3053
- setShowError(false);
3054
- setError(undefined);
3055
- } },
3056
- React__default["default"].createElement("strong", null, "Bad credentials"),
3057
- React__default["default"].createElement("p", null,
3058
- " ",
3059
- error === undefined ? 'There was an error' :
3060
- (error.internalError.message === undefined ? error.internalError : error.internalError.message))),
3061
- React__default["default"].createElement("div", { className: "row" },
3062
- React__default["default"].createElement("button", { className: "btn btn-primary mes-button-primary mx-auto col-md-12 mt-3 ", role: "button", onClick: loginAsGuest }, "Guest"))));
3063
- };
3064
-
3065
- function Login(_a) {
3066
- var authConfig = _a.authConfig;
3067
- var useEmailAndPassword = lodashEs.get(authConfig, 'useEmailAndPassword', true);
3068
- var useAzureAD = lodashEs.get(authConfig, 'useAzureAD', false);
3069
- var guestIsEnabled = lodashEs.get(authConfig, 'guestIsEnabled', false);
3070
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
3071
- React__default["default"].createElement("header", null,
3072
- React__default["default"].createElement(reactBootstrap.Navbar, { variant: "dark", expand: "lg", className: "mes-primary-color mes-menu-top" },
3073
- React__default["default"].createElement(reactBootstrap.Navbar.Brand, { href: "/" }, "MESF"))),
3074
- React__default["default"].createElement("div", { className: "container-fluid" },
3075
- React__default["default"].createElement("div", { className: "row" },
3076
- React__default["default"].createElement("div", { className: "col-md-3 mx-auto my-5" },
3077
- React__default["default"].createElement("div", { className: "card" },
3078
- React__default["default"].createElement("div", { className: "card-header text-center" }, "Login"),
3079
- React__default["default"].createElement("div", { className: "card-body m-3" },
3080
- useEmailAndPassword && React__default["default"].createElement(LoginWithEmailAndPassword, null),
3081
- useAzureAD && React__default["default"].createElement(LoginWithAzureAD, { config: authConfig.AzureConfig }),
3082
- guestIsEnabled && React__default["default"].createElement(LoginAsGuest, null))))))));
3083
- }
3084
- Login.propTypes = {
3085
- setToken: PropTypes__default["default"].func
3086
- };
3087
-
3088
- function Logout() {
3089
- var _this = this;
3090
- var clearToken = React.useContext(AuthContext).clearToken;
3091
- var navigate = reactRouterDom.useNavigate();
3092
- var logout = function () { return __awaiter(_this, void 0, void 0, function () {
3093
- return __generator(this, function (_a) {
3094
- clearToken();
3095
- navigate("/");
3096
- return [2 /*return*/];
3097
- });
3098
- }); };
3099
- React.useEffect(function () {
3100
- logout();
3101
- }, []);
3102
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
3103
- React__default["default"].createElement("div", null, "logging out!!!")));
3104
- }
3105
- Logout.propTypes = {
3106
- clearEvent: PropTypes__default["default"].func
3107
- };
3108
-
3109
- var RouterContext = React__default["default"].createContext(function () { return React__default["default"].createElement(React__default["default"].Fragment, null); });
3110
- var ConfigurationContext = React__default["default"].createContext([
3111
- [],
3112
- function () { return (React__default["default"].createElement(React__default["default"].Fragment, null)); }
3113
- ]);
3114
- var NavbarContext = React__default["default"].createContext(function () { return React__default["default"].createElement(React__default["default"].Fragment, null); });
3115
-
3116
- function Header() {
3117
- var getUserName = useToken().getUserName;
3118
- var _a = React__default["default"].useState(new Date()), date = _a[0], setDate = _a[1];
3119
- var userName = React__default["default"].useState(getUserName())[0];
3120
- var CustomNavbar = React.useContext(NavbarContext);
3121
- var tick = function () {
3122
- setDate(new Date());
3123
- };
3124
- React__default["default"].useEffect(function () {
3125
- var timerID = setTimeout(function () {
3126
- tick();
3127
- }, 1000);
3128
- return function () {
3129
- clearTimeout(timerID);
3130
- };
3131
- });
3132
- return (React__default["default"].createElement(reactBootstrap.Navbar, { variant: "dark", expand: "lg", className: "mes-primary-color mes-menu-top" },
3133
- React__default["default"].createElement(reactBootstrap.Container, { fluid: true },
3134
- React__default["default"].createElement(reactBootstrap.Navbar.Brand, { as: reactRouterDom.Link, to: "/" }, "MESF"),
3135
- React__default["default"].createElement(reactBootstrap.Navbar.Toggle, { "aria-controls": "basic-navbar-nav" }),
3136
- React__default["default"].createElement(reactBootstrap.Navbar.Collapse, { id: "basic-navbar-nav" },
3137
- React__default["default"].createElement(reactBootstrap.Nav, { className: "me-auto" },
3138
- React__default["default"].createElement(reactBootstrap.Nav.Link, { as: reactRouterDom.Link, to: "/" }, "Home"),
3139
- React__default["default"].createElement(CustomNavbar, null)),
3140
- React__default["default"].createElement(reactBootstrap.Nav, { className: "ml-auto" },
3141
- React__default["default"].createElement(reactBootstrap.Nav, null,
3142
- React__default["default"].createElement("span", { className: "navbar-text" }, date.toLocaleTimeString())),
3143
- React__default["default"].createElement(reactBootstrap.Nav, { className: "mx-2" },
3144
- React__default["default"].createElement(reactBootstrap.Nav.Link, { href: "configuration" },
3145
- React__default["default"].createElement("i", { className: "fas fa-cog" }))),
3146
- React__default["default"].createElement(reactBootstrap.NavDropdown, { title: React__default["default"].createElement(React__default["default"].Fragment, null,
3147
- React__default["default"].createElement("i", { className: "fas fa-language mx-2" }),
3148
- "EN"), id: "languages-menu" },
3149
- React__default["default"].createElement(reactBootstrap.NavDropdown.Item, { href: "#" }, "EN"),
3150
- React__default["default"].createElement(reactBootstrap.NavDropdown.Item, { href: "#" }, "ES"),
3151
- React__default["default"].createElement(reactBootstrap.NavDropdown.Item, { href: "#" }, "PT")),
3152
- React__default["default"].createElement(reactBootstrap.NavDropdown, { id: "user-menu", title: React__default["default"].createElement(React__default["default"].Fragment, null,
3153
- React__default["default"].createElement("i", { className: "fas fa-user mx-2" }),
3154
- userName), className: "mx-2" },
3155
- React__default["default"].createElement(reactBootstrap.NavDropdown.Item, { href: "account" }, "Account"),
3156
- React__default["default"].createElement(reactBootstrap.NavDropdown.Item, { href: "logout" }, "Logout")))))));
3157
- }
3158
-
3159
- function Configuration() {
3160
- var option = reactRouterDom.useParams().option;
3161
- var _a = React.useContext(ConfigurationContext), customConfiguration = _a[0], CustomSidebar = _a[1];
3162
- var routes = __spreadArray(__spreadArray([
3163
- {
3164
- path: "/",
3165
- sidebar: function () { return React__default["default"].createElement("div", null, "configuration"); },
3166
- main: function () { return React__default["default"].createElement(reactRouterDom.Navigate, { to: "users" }); }
3167
- },
3168
- {
3169
- path: "shifts",
3170
- sidebar: function () { return React__default["default"].createElement("div", null, "shifts"); },
3171
- main: function () { return React__default["default"].createElement(ShiftCrew, null); }
3172
- },
3173
- {
3174
- path: "users",
3175
- sidebar: function () { return React__default["default"].createElement("div", null, "users"); },
3176
- main: function () { return React__default["default"].createElement(UserManagment, null); }
3177
- },
3178
- {
3179
- path: "profiles",
3180
- sidebar: function () { return React__default["default"].createElement("div", null, "profiles"); },
3181
- main: function () { return React__default["default"].createElement(ProfileManagement, null); }
3182
- }
3183
- ], customConfiguration, true), [
3184
- {
3185
- path: "logs",
3186
- sidebar: function () { return React__default["default"].createElement("div", null, "logs"); },
3187
- main: function () { return React__default["default"].createElement(LogConfig, null); }
3188
- },
3189
- {
3190
- path: "jobs",
3191
- sidebar: function () { return React__default["default"].createElement("div", null, "jobs"); },
3192
- main: function () { return React__default["default"].createElement(JobConfig, null); }
3193
- }
3194
- ], false);
3195
- return (React__default["default"].createElement(GenericPanel, { title: "Configuration", description: "" },
3196
- React__default["default"].createElement("div", { className: "row" },
3197
- React__default["default"].createElement("div", { className: "col-md-2 mt-3 pt-0 pr-0 mes-div-submenu" },
3198
- React__default["default"].createElement("h3", { className: "mes-menu-group" }, "Plant"),
3199
- React__default["default"].createElement(MenuList__default["default"], { className: "mes-submenu" },
3200
- React__default["default"].createElement(MenuItem__default["default"], { selected: option === 'shifts', className: "p-0" },
3201
- React__default["default"].createElement(reactRouterDom.Link, { to: "/configuration/shifts", className: "nav-link" }, "Shift / Crews"))),
3202
- React__default["default"].createElement("h3", { className: "mes-menu-group" }, "Security"),
3203
- React__default["default"].createElement(MenuList__default["default"], { className: "mes-submenu" },
3204
- React__default["default"].createElement(MenuItem__default["default"], { selected: option === 'users', className: "p-0" },
3205
- React__default["default"].createElement(reactRouterDom.Link, { to: "/configuration/users", className: "nav-link" }, "Users")),
3206
- React__default["default"].createElement(MenuItem__default["default"], { selected: option === 'profiles', className: "p-0" },
3207
- React__default["default"].createElement(reactRouterDom.Link, { to: "/configuration/profiles", className: "nav-link" }, "Profiles"))),
3208
- React__default["default"].createElement(CustomSidebar, { option: option }),
3209
- React__default["default"].createElement("h3", { className: "mes-menu-group" }, "Maintenance"),
3210
- React__default["default"].createElement(MenuList__default["default"], { className: "mes-submenu" },
3211
- React__default["default"].createElement(MenuItem__default["default"], { selected: option === 'logs', className: "p-0" },
3212
- React__default["default"].createElement(reactRouterDom.Link, { to: "/configuration/logs", className: "nav-link" }, "Logs")),
3213
- React__default["default"].createElement(MenuItem__default["default"], { selected: option === 'jobs', className: "p-0" },
3214
- React__default["default"].createElement(reactRouterDom.Link, { to: "/configuration/jobs", className: "nav-link" }, "Jobs")))),
3215
- React__default["default"].createElement("div", { className: "col-md-9 m-3" },
3216
- React__default["default"].createElement(reactRouterDom.Routes, null, routes.map(function (route, index) { return (React__default["default"].createElement(reactRouterDom.Route, { key: index, path: route.path, element: React__default["default"].createElement(route.main, null) })); }))))));
3217
- }
3218
-
3219
- var Home = function () { return (React__default["default"].createElement("div", { style: {
3220
- backgroundImage: "url(\"/home.jpg\")",
3221
- backgroundPosition: 'center',
3222
- backgroundSize: 'cover',
3223
- backgroundRepeat: 'no-repeat',
3224
- minHeight: '100%',
3225
- height: '100vh',
3226
- width: '100%',
3227
- position: 'absolute'
3228
- } })); };
3229
-
3230
- var MESFMainRouter = function () {
3231
- var CustomRoutes = React.useContext(RouterContext);
3232
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
3233
- React__default["default"].createElement(reactRouterDom.Routes, null,
3234
- React__default["default"].createElement(reactRouterDom.Route, { path: "/", element: React__default["default"].createElement(reactRouterDom.Navigate, { replace: true, to: "/home" }) }),
3235
- React__default["default"].createElement(reactRouterDom.Route, { path: "/configuration/*", element: React__default["default"].createElement(Configuration, null) }),
3236
- React__default["default"].createElement(reactRouterDom.Route, { path: "/account", element: React__default["default"].createElement(Account, null) }),
3237
- React__default["default"].createElement(reactRouterDom.Route, { path: "/home", element: React__default["default"].createElement(Home, null) })),
3238
- React__default["default"].createElement(CustomRoutes, null)));
3239
- };
3240
-
3241
- var MESFMainContainer = function () { return (React__default["default"].createElement("div", { id: "mainSection", className: "container-fluid container-fluid-main" },
3242
- React__default["default"].createElement(MESFMainRouter, null))); };
3243
-
3244
- var Navigation = function () { return (React__default["default"].createElement(React__default["default"].Fragment, null,
3245
- React__default["default"].createElement("div", { className: "wrapper" },
3246
- React__default["default"].createElement(Header, null),
3247
- React__default["default"].createElement(MESFMainContainer, null)))); };
3248
-
3249
- var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
3250
-
3251
- var css = "body {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n background-color: #fafbfc !important;\n}\n.container-fluid-main{\n padding-right: 0px !important; \n padding-left: 0px !important;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}\n\n.mes-primary-color {\n background-color: #479dc4 !important;\n}\n.mes-button-primary{\n background-color: #479dc4 !important;\n border-color: #479dc4 !important;\n}\n\n.mes-selectable-datagrid .MuiDataGrid-row{\n cursor: pointer;\n}\n\n.mes-menu-top .navbar-brand{\n color: #FFFF !important;\n}\n.mes-menu-top .nav-link {\n color: #FFFF !important;\n}\n.mes-menu-top .navbar-toggler {\n color: #FFFF !important;\n}\n.mes-menu-top .navbar-text {\n color: #FFFF !important;\n}\n.mes-footer-login{\n position: absolute;\n bottom: 0;\n width: 100%;\n height: 10em;\n line-height: 60px;\n text-align:center;\n}\n.mes-filter-datepicker{\n padding: unset !important;\n border-top-left-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n padding-top: 0.375rem !important;\n padding-bottom: 0.375rem !important;\n padding-left: 0.75rem !important;\n cursor: pointer !important;\n max-width: 120px;\n}\n.mes-filter-datetimepicker{\n max-width: 97px;\n}\n.mes-not-rounded{\n border-radius: unset !important;\n}\n\n.mes-numeric{\n text-align: right;\n}\n.mes-drag-over{\n border: 3px dotted #666;\n background-color: #479dc4 !important;\n}\n.mes-drag-start{\n border: 3px solid #666;\n}\n\n.mes-selectable{\n cursor: pointer !important;\n}\n\n.mes-custom-select{\n width: auto !important;\n padding: 0.375rem 0 0.375rem 0 !important;\n background: unset !important;\n font-family: inherit !important;\n}\n.mes-custom-select .MuiSelect-select{\n padding-left: 14px;\n}\n\n.mes-custom-select::before{\n border-bottom: unset !important;\n}\n.mes-custom-select::after{\n border-bottom: unset !important;\n}\n.mes-no-border{\n border: unset;\n}\n.mes-no-border:focus-visible {\n outline: unset;\n}\n.mes-div-submenu{\n border-right: 1px solid #cfdbe2; \n}\n.mes-submenu a{\n width: 100% !important;\n /* color: rgba(0, 0, 0, 0.87); */\n color: #479dc4\n}\n.mes-submenu .Mui-selected{\n border-right: 3px solid #479dc4; \n}\n.mes-menu-group{\n font-size: 20px;\n line-height: 1.1;\n color: #929292; \n font-weight: normal; \n}\n\n/********************MUI DATAGRID*****************************/\n.Mui-selected{\n font-weight: bolder !important;\n opacity: 1 !important;\n}\n\n.mes-upload-control{\n\n}\n.mes-upload-control .file-box{\n /* border : 1px solid black; */\n height : 100px;\n position: relative; \n}\n.mes-upload-control .file-detail{\n position: absolute;\n left: 0px;\n top: 0px; \n z-index: 1;\n height: 100%;\n width: 100%;\n}\n\n.mes-upload-control input[type=file]{\n left: 0px;\n top: 0px;\n opacity: 0;\n z-index: 10000;\n height: 100%;\n cursor: pointer;\n}\n.mes-upload-control table{\n width: 100%;\n}\n.mes-upload-control td{\n font-size: 0.8rem !important;\n max-width:0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;\n}\n\n\n.input-group-text{\n background-color: #ced2cc !important;\n /* border: 1px solid #ced4da !important; */\n /* color: #000000 !important; */\n}\n\n\n\n\n.content-wrapper {\n padding: 15px;\n width: 100%;\n border-top: 1px solid rgba(0, 0, 0, 0.15);\n margin-top: -1px;\n}\n.content-wrapper > .unwrap {\n margin: -15px;\n}\n@media only screen and (min-width: 768px) {\n .content-wrapper > .unwrap {\n margin: -20px;\n }\n}\n.content-wrapper > h3,\n.content-wrapper > .content-heading {\n font-size: 24px;\n line-height: 1.1;\n color: #929292;\n margin: -15px;\n margin-bottom: 20px;\n padding: 15px;\n font-weight: normal;\n background-color: #fafbfc;\n border-bottom: 1px solid #cfdbe2;\n}\n.content-wrapper > h3 > small,\n.content-wrapper > .content-heading > small {\n display: block;\n font-size: 12px;\n color: #909fa7;\n}\n.content-wrapper > button,\n.content-wrapper > .btn {\n margin: 10px 10px 0 0;\n}\n.content-wrapper .container,\n.content-wrapper .container-fluid {\n padding-left: 0;\n padding-right: 0;\n}\n@media only screen and (min-width: 768px) {\n .content-wrapper {\n padding: 20px;\n }\n .content-wrapper > h3,\n .content-wrapper > .content-heading {\n margin: -20px;\n margin-bottom: 5px;\n padding: 15px;\n }\n .content-wrapper > button,\n .content-wrapper > .btn {\n margin: 0;\n }\n}\n\n @media print {\n .sidebar,\n .topnavbar,\n .offsidebar,\n .btn {\n display: none !important;\n width: 0 !important;\n height: 0 !important;\n }\n .wrapper,\n .wrapper > section,\n .content-wrapper {\n margin: 0 !important;\n /* remove margin used for sidebar and expand the content */\n padding: 0 !important;\n width: 100% !important;\n }\n .content-wrapper {\n overflow: hidden !important;\n }\n }\n ";
3252
- n(css,{});
3253
-
3254
- function MESFMain(props) {
3255
- return (React__default["default"].createElement(AuthProvider, { authConfig: props.authentication },
3256
- React__default["default"].createElement(RouterContext.Provider, { value: props.routes },
3257
- React__default["default"].createElement(NavbarContext.Provider, { value: props.navbar },
3258
- React__default["default"].createElement(ConfigurationContext.Provider, { value: props.configurations },
3259
- React__default["default"].createElement(reactRouterDom.BrowserRouter, null,
3260
- React__default["default"].createElement(reactRouterDom.Routes, null,
3261
- React__default["default"].createElement(reactRouterDom.Route, { path: "/logout", element: React__default["default"].createElement(Logout, null) })),
3262
- React__default["default"].createElement(Navigation, null)))))));
3263
- }
3264
-
3265
- exports.Account = Account;
3266
- exports.AuthContext = AuthContext;
3267
- exports.AuthProvider = AuthProvider;
3268
- exports.BarChartControl = BarChartControl;
3269
- exports.ChangePassword = ChangePassword;
3270
- exports.CheckBoxControl = CheckBoxControl;
3271
- exports.Configuration = Configuration$1;
3272
- exports.CurrencyFormatter = CurrencyFormatter;
3273
- exports.DataGridControl = DataGridControl;
3274
- exports.DateControl = DateControl;
3275
- exports.DateFormatter = DateFormatter;
3276
- exports.DateTimeControl = DateTimeControl;
3277
- exports.DateTimeFormatter = DateTimeFormatter;
3278
- exports.FetchError = FetchError;
3279
- exports.FilterPanel = FilterPanel;
3280
- exports.GenericPanel = GenericPanel;
3281
- exports.GenericTable = GenericTable;
3282
- exports.GetCrewColor = GetCrewColor;
3283
- exports.GetShiftColor = GetShiftColor;
3284
- exports.HorizontalTextControl = HorizontalTextControl;
3285
- exports.IntegerFormatter = IntegerFormatter;
3286
- exports.JobConfig = JobConfig;
3287
- exports.LogConfig = LogConfig;
3288
- exports.Login = Login;
3289
- exports.Logout = Logout;
3290
- exports.LongFilterPanel = LongFilterPanel;
3291
- exports.MESApiService = MESApiService;
3292
- exports.MESFMain = MESFMain;
3293
- exports.MESSAGE_API = MESSAGE_API;
3294
- exports.MESSAGE_ERRORS = MESSAGE_ERRORS;
3295
- exports.MasterDetailPanel = MasterDetailPanel;
3296
- exports.ModalTreeFilterControl = ModalTreeFilterControl;
3297
- exports.MultipleSelectorControl = MultipleSelectorControl;
3298
- exports.NumberFormatter = NumberFormatter;
3299
- exports.NumericTextControl = NumericTextControl;
3300
- exports.ProfileManagement = ProfileManagement;
3301
- exports.ShiftCrew = ShiftCrew;
3302
- exports.SimpleInputSearchControl = SimpleInputSearchControl;
3303
- exports.SimplePasswordControl = SimplePasswordControl;
3304
- exports.SimpleSelectorControl = SimpleSelectorControl;
3305
- exports.SimpleTextAreaControl = SimpleTextAreaControl;
3306
- exports.SimpleTextControl = SimpleTextControl;
3307
- exports.SimpleTimeControl = SimpleTimeControl;
3308
- exports.TimeControl = TimeControl;
3309
- exports.TimeFormatter = TimeFormatter;
3310
- exports.TreePickerControl = TreePickerControl;
3311
- exports.USER_LABELS = USER_LABELS;
3312
- exports.UploadFileControl = UploadFileControl;
3313
- exports.UserManagment = UserManagment;
3314
- exports.formatNumber = formatNumber;
3315
- exports.getCrewStyle = getCrewStyle;
3316
- exports.getShiftStyle = getShiftStyle;
3317
- exports.useToken = useToken;