@dexteel/mesf-core 4.10.5 → 4.11.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.
- package/CHANGELOG.md +7 -0
- package/dist/MESFMain.d.ts +2 -1
- package/dist/components/navigation/Header.d.ts +2 -1
- package/dist/components/navigation/Navigation.d.ts +2 -1
- package/dist/context/UTLSettingContext.d.ts +27 -3
- package/dist/hooks/useSearchUTLSetting.d.ts +4 -2
- package/dist/index.esm.js +92 -37
- package/dist/index.esm.js.map +1 -1
- package/dist/reducers/UTLSettingsReducer.d.ts +27 -3
- package/dist/services/TimeService.d.ts +11 -0
- package/dist/services/index.d.ts +1 -0
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [4.11.0](https://github.com/dexteel/mesf-core-frontend/compare/v4.10.5...v4.11.0) (2024-05-02)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* Implement TimeService and timezone from server ([8861ab6](https://github.com/dexteel/mesf-core-frontend/commit/8861ab619c10426e85b4671819bfb74b303a4f8f))
|
|
11
|
+
|
|
5
12
|
### [4.10.5](https://github.com/dexteel/mesf-core-frontend/compare/v4.10.4...v4.10.5) (2024-05-02)
|
|
6
13
|
|
|
7
14
|
|
package/dist/MESFMain.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ interface Props {
|
|
|
7
7
|
navbarTitle?: string;
|
|
8
8
|
configurations: any;
|
|
9
9
|
showAreaSelector?: boolean;
|
|
10
|
+
showTrendingsIcon?: boolean;
|
|
10
11
|
}
|
|
11
|
-
declare function MESFMain({ authentication, routes, navbar, navbarTitle, configurations, showAreaSelector, }: Props): React.JSX.Element;
|
|
12
|
+
declare function MESFMain({ authentication, routes, navbar, navbarTitle, configurations, showAreaSelector, showTrendingsIcon, }: Props): React.JSX.Element;
|
|
12
13
|
export { MESFMain };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export default function Header({ showAreaSelector, navbarTitle, }: {
|
|
2
|
+
export default function Header({ showAreaSelector, showTrendingsIcon, navbarTitle, }: {
|
|
3
3
|
showAreaSelector?: boolean;
|
|
4
|
+
showTrendingsIcon?: boolean;
|
|
4
5
|
navbarTitle?: string;
|
|
5
6
|
}): React.JSX.Element;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
declare const Navigation: ({ showAreaSelector, navbarTitle, }: {
|
|
2
|
+
declare const Navigation: ({ showAreaSelector, showTrendingsIcon, navbarTitle, }: {
|
|
3
3
|
showAreaSelector?: boolean | undefined;
|
|
4
|
+
showTrendingsIcon?: boolean | undefined;
|
|
4
5
|
navbarTitle?: string | undefined;
|
|
5
6
|
}) => React.JSX.Element;
|
|
6
7
|
export default Navigation;
|
|
@@ -1,11 +1,35 @@
|
|
|
1
1
|
import { default as React, ReactNode } from "react";
|
|
2
2
|
export declare const useUTLSettingsContext: () => {
|
|
3
3
|
state: {
|
|
4
|
-
|
|
4
|
+
serverTimeZone: string;
|
|
5
|
+
settings: {
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
};
|
|
5
8
|
};
|
|
6
9
|
actions: import("@reduxjs/toolkit").CaseReducerActions<{
|
|
7
|
-
|
|
8
|
-
|
|
10
|
+
setServerTimeZone(state: import("immer/dist/internal").WritableDraft<{
|
|
11
|
+
serverTimeZone: string;
|
|
12
|
+
settings: {
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
};
|
|
15
|
+
}>, { payload }: {
|
|
16
|
+
payload: any;
|
|
17
|
+
type: string;
|
|
18
|
+
}): void;
|
|
19
|
+
setSetting(state: import("immer/dist/internal").WritableDraft<{
|
|
20
|
+
serverTimeZone: string;
|
|
21
|
+
settings: {
|
|
22
|
+
[key: string]: any;
|
|
23
|
+
};
|
|
24
|
+
}>, { payload }: {
|
|
25
|
+
payload: any;
|
|
26
|
+
type: string;
|
|
27
|
+
}): void;
|
|
28
|
+
initSettings(state: import("immer/dist/internal").WritableDraft<{
|
|
29
|
+
serverTimeZone: string;
|
|
30
|
+
settings: {
|
|
31
|
+
[key: string]: any;
|
|
32
|
+
};
|
|
9
33
|
}>, { payload }: {
|
|
10
34
|
payload: any;
|
|
11
35
|
type: string;
|
package/dist/index.esm.js
CHANGED
|
@@ -77,6 +77,7 @@ import 'ag-grid-community/styles/ag-theme-alpine.css';
|
|
|
77
77
|
import ImageIcon from '@material-ui/icons/Image';
|
|
78
78
|
import ListAltIcon from '@material-ui/icons/ListAlt';
|
|
79
79
|
import DescriptionIcon from '@material-ui/icons/Description';
|
|
80
|
+
import { formatInTimeZone } from 'date-fns-tz';
|
|
80
81
|
import FormControlLabel$1 from '@material-ui/core/FormControlLabel';
|
|
81
82
|
import Checkbox$1 from '@material-ui/core/Checkbox';
|
|
82
83
|
import Input from '@material-ui/core/Input';
|
|
@@ -7297,6 +7298,33 @@ var MESApiService = /** @class */ (function () {
|
|
|
7297
7298
|
return MESApiService;
|
|
7298
7299
|
}());
|
|
7299
7300
|
|
|
7301
|
+
var TimeService = /** @class */ (function () {
|
|
7302
|
+
function TimeService() {
|
|
7303
|
+
this.timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
7304
|
+
}
|
|
7305
|
+
TimeService.getInstance = function () {
|
|
7306
|
+
if (!TimeService.instance) {
|
|
7307
|
+
TimeService.instance = new TimeService();
|
|
7308
|
+
}
|
|
7309
|
+
return TimeService.instance;
|
|
7310
|
+
};
|
|
7311
|
+
TimeService.prototype.setTimeZone = function (timeZone) {
|
|
7312
|
+
this.timeZone = timeZone;
|
|
7313
|
+
};
|
|
7314
|
+
TimeService.prototype.toUTC = function (datetime) {
|
|
7315
|
+
if (datetime instanceof Date) {
|
|
7316
|
+
return datetime.toUTCString();
|
|
7317
|
+
}
|
|
7318
|
+
return new Date(datetime).toUTCString();
|
|
7319
|
+
};
|
|
7320
|
+
TimeService.prototype.toLocalServerTime = function (datetime, format) {
|
|
7321
|
+
return formatInTimeZone(datetime, TimeService.instance.timeZone, format);
|
|
7322
|
+
};
|
|
7323
|
+
return TimeService;
|
|
7324
|
+
}());
|
|
7325
|
+
var dxtToUTC = TimeService.getInstance().toUTC;
|
|
7326
|
+
var dxtToLocalServerTime = TimeService.getInstance().toLocalServerTime;
|
|
7327
|
+
|
|
7300
7328
|
var getUser = function (UserId, UserName) { return __awaiter(void 0, void 0, void 0, function () {
|
|
7301
7329
|
var apiService, parameters, resp;
|
|
7302
7330
|
return __generator(this, function (_a) {
|
|
@@ -8138,15 +8166,32 @@ var useSearchAssets = function (setError) {
|
|
|
8138
8166
|
};
|
|
8139
8167
|
|
|
8140
8168
|
var UTLSettingsInitialState = {
|
|
8141
|
-
|
|
8169
|
+
serverTimeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
|
|
8170
|
+
settings: {}
|
|
8142
8171
|
};
|
|
8143
8172
|
var UTLSettingsReducer = createSlice({
|
|
8144
8173
|
name: "__",
|
|
8145
8174
|
initialState: UTLSettingsInitialState,
|
|
8146
8175
|
reducers: {
|
|
8147
|
-
|
|
8176
|
+
setServerTimeZone: function (state, _a) {
|
|
8177
|
+
var payload = _a.payload;
|
|
8178
|
+
state.serverTimeZone = payload;
|
|
8179
|
+
},
|
|
8180
|
+
setSetting: function (state, _a) {
|
|
8148
8181
|
var payload = _a.payload;
|
|
8149
|
-
state.
|
|
8182
|
+
state.settings[payload.key] = payload.value;
|
|
8183
|
+
},
|
|
8184
|
+
initSettings: function (state, _a) {
|
|
8185
|
+
var payload = _a.payload;
|
|
8186
|
+
state.settings = payload
|
|
8187
|
+
.reduce(function (acc, cur) {
|
|
8188
|
+
if (cur.SettingName.trim() === 'TimeZone') {
|
|
8189
|
+
var timeService = TimeService.getInstance();
|
|
8190
|
+
timeService.setTimeZone(cur.Value);
|
|
8191
|
+
}
|
|
8192
|
+
acc[cur.SettingName.trim()] = cur.Value;
|
|
8193
|
+
return acc;
|
|
8194
|
+
}, {});
|
|
8150
8195
|
}
|
|
8151
8196
|
}
|
|
8152
8197
|
});
|
|
@@ -8165,24 +8210,27 @@ var UTLSettingsProvider = function (_a) {
|
|
|
8165
8210
|
return (React__default.createElement(UTLSettingsContext.Provider, { value: { state: state, actions: actions } }, children));
|
|
8166
8211
|
};
|
|
8167
8212
|
|
|
8168
|
-
var useSearchUTLSettings = function (
|
|
8169
|
-
var
|
|
8170
|
-
var
|
|
8171
|
-
|
|
8172
|
-
|
|
8173
|
-
|
|
8174
|
-
|
|
8175
|
-
|
|
8176
|
-
|
|
8177
|
-
|
|
8178
|
-
|
|
8179
|
-
|
|
8180
|
-
|
|
8181
|
-
|
|
8182
|
-
|
|
8183
|
-
|
|
8184
|
-
|
|
8185
|
-
|
|
8213
|
+
var useSearchUTLSettings = function (_a) {
|
|
8214
|
+
var onError = _a.onError;
|
|
8215
|
+
var initSettings = useUTLSettingsContext().actions.initSettings;
|
|
8216
|
+
var searchUTLSettings = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
8217
|
+
var res, settings;
|
|
8218
|
+
return __generator(this, function (_a) {
|
|
8219
|
+
switch (_a.label) {
|
|
8220
|
+
case 0: return [4 /*yield*/, getUTLSettings()];
|
|
8221
|
+
case 1:
|
|
8222
|
+
res = _a.sent();
|
|
8223
|
+
if (res.ok) {
|
|
8224
|
+
settings = get(res, "data.tables[0].rows", []);
|
|
8225
|
+
initSettings(settings);
|
|
8226
|
+
}
|
|
8227
|
+
else {
|
|
8228
|
+
onError(res.message);
|
|
8229
|
+
}
|
|
8230
|
+
return [2 /*return*/];
|
|
8231
|
+
}
|
|
8232
|
+
});
|
|
8233
|
+
}); };
|
|
8186
8234
|
return { searchUTLSettings: searchUTLSettings };
|
|
8187
8235
|
};
|
|
8188
8236
|
|
|
@@ -8192,14 +8240,17 @@ var AreaSelector$1 = lazy(function () {
|
|
|
8192
8240
|
}); });
|
|
8193
8241
|
});
|
|
8194
8242
|
function Header$1(_a) {
|
|
8195
|
-
var _b = _a.showAreaSelector, showAreaSelector = _b === void 0 ? false : _b, _c = _a.navbarTitle, navbarTitle =
|
|
8243
|
+
var _b = _a.showAreaSelector, showAreaSelector = _b === void 0 ? false : _b, _c = _a.showTrendingsIcon, showTrendingsIcon = _c === void 0 ? true : _c, _d = _a.navbarTitle, navbarTitle = _d === void 0 ? "MESF" : _d;
|
|
8196
8244
|
var getUserName = useToken().getUserName;
|
|
8197
|
-
var
|
|
8198
|
-
var
|
|
8245
|
+
var _e = useState(""), error = _e[0], setError = _e[1];
|
|
8246
|
+
var _f = useState(new Date()), date = _f[0], setDate = _f[1];
|
|
8199
8247
|
var CustomNavbar = useContext(NavbarContext);
|
|
8200
8248
|
var userName = useState(getUserName())[0];
|
|
8201
8249
|
var searchAssets = useSearchAssets(setError).searchAssets;
|
|
8202
|
-
var
|
|
8250
|
+
var _g = useState(false), settingsIsReady = _g[0], setSettingsIsReady = _g[1];
|
|
8251
|
+
var searchUTLSettings = useSearchUTLSettings({
|
|
8252
|
+
onError: setError
|
|
8253
|
+
}).searchUTLSettings;
|
|
8203
8254
|
var userLogged = useUserContext().state.userLogged;
|
|
8204
8255
|
var tick = function () {
|
|
8205
8256
|
setDate(new Date());
|
|
@@ -8213,11 +8264,15 @@ function Header$1(_a) {
|
|
|
8213
8264
|
};
|
|
8214
8265
|
});
|
|
8215
8266
|
useEffect(function () {
|
|
8216
|
-
|
|
8267
|
+
searchUTLSettings().then(function () {
|
|
8268
|
+
setSettingsIsReady(true);
|
|
8269
|
+
});
|
|
8270
|
+
}, []);
|
|
8271
|
+
useEffect(function () {
|
|
8272
|
+
if (showAreaSelector && userLogged && settingsIsReady) {
|
|
8217
8273
|
searchAssets();
|
|
8218
|
-
searchUTLSettings();
|
|
8219
8274
|
}
|
|
8220
|
-
}, [userLogged]);
|
|
8275
|
+
}, [userLogged, settingsIsReady]);
|
|
8221
8276
|
return (React__default.createElement(Navbar, { variant: "dark", expand: "lg", className: "mes-primary-color mes-menu-top" },
|
|
8222
8277
|
React__default.createElement(Container, { fluid: true },
|
|
8223
8278
|
React__default.createElement(Navbar.Brand, { as: Link, to: "/home" }, navbarTitle),
|
|
@@ -8226,12 +8281,12 @@ function Header$1(_a) {
|
|
|
8226
8281
|
React__default.createElement(Nav, { className: "me-auto" },
|
|
8227
8282
|
React__default.createElement(CustomNavbar, null)),
|
|
8228
8283
|
React__default.createElement(Nav, { className: "ml-auto", style: { alignItems: "baseline" } },
|
|
8229
|
-
React__default.createElement(Nav, { className: "mx-2" },
|
|
8284
|
+
showTrendingsIcon ? (React__default.createElement(Nav, { className: "mx-2" },
|
|
8230
8285
|
React__default.createElement(Nav.Link, { as: Link, to: "/trendings" },
|
|
8231
8286
|
React__default.createElement(Tooltip, { title: 'Trendings', placement: "top", arrow: true, interactive: true, enterDelay: 1500 },
|
|
8232
|
-
React__default.createElement(ShowChartIcon, null)))),
|
|
8287
|
+
React__default.createElement(ShowChartIcon, null))))) : null,
|
|
8233
8288
|
React__default.createElement(Nav, null,
|
|
8234
|
-
React__default.createElement("span", { className: "navbar-text" }, date
|
|
8289
|
+
React__default.createElement("span", { className: "navbar-text" }, dxtToLocalServerTime(date, 'HH:mm:ss z'))),
|
|
8235
8290
|
React__default.createElement(Nav, { className: "mx-2" },
|
|
8236
8291
|
React__default.createElement(Nav.Link, { as: Link, to: "/configuration" },
|
|
8237
8292
|
React__default.createElement("i", { className: "fas fa-cog" }))),
|
|
@@ -11091,8 +11146,8 @@ var MESFMainContainer = function () { return (React__default.createElement("div"
|
|
|
11091
11146
|
React__default.createElement(MESFMainRouter, null))); };
|
|
11092
11147
|
|
|
11093
11148
|
var Navigation = function (_a) {
|
|
11094
|
-
var _b = _a.showAreaSelector, showAreaSelector = _b === void 0 ? false : _b, _c = _a.navbarTitle, navbarTitle =
|
|
11095
|
-
var
|
|
11149
|
+
var _b = _a.showAreaSelector, showAreaSelector = _b === void 0 ? false : _b, _c = _a.showTrendingsIcon, showTrendingsIcon = _c === void 0 ? true : _c, _d = _a.navbarTitle, navbarTitle = _d === void 0 ? "MESF" : _d;
|
|
11150
|
+
var _e = useSearchParams(), params = _e[0]; _e[1];
|
|
11096
11151
|
var mounted = useRef(true);
|
|
11097
11152
|
useEffect(function () {
|
|
11098
11153
|
if (params.has("redirectTo")) {
|
|
@@ -11107,7 +11162,7 @@ var Navigation = function (_a) {
|
|
|
11107
11162
|
};
|
|
11108
11163
|
}, [params.toString()]);
|
|
11109
11164
|
return (React__default.createElement("div", { className: "wrapper" },
|
|
11110
|
-
React__default.createElement(Header$1, { showAreaSelector: showAreaSelector, navbarTitle: navbarTitle }),
|
|
11165
|
+
React__default.createElement(Header$1, { showAreaSelector: showAreaSelector, navbarTitle: navbarTitle, showTrendingsIcon: showTrendingsIcon }),
|
|
11111
11166
|
React__default.createElement(MESFMainContainer, null)));
|
|
11112
11167
|
};
|
|
11113
11168
|
|
|
@@ -11116,7 +11171,7 @@ n(css,{});
|
|
|
11116
11171
|
|
|
11117
11172
|
var base = document.getElementsByTagName("base")[0].getAttribute("href") || "/";
|
|
11118
11173
|
function MESFMain(_a) {
|
|
11119
|
-
var authentication = _a.authentication, routes = _a.routes, navbar = _a.navbar, _b = _a.navbarTitle, navbarTitle = _b === void 0 ? "MESF" : _b, configurations = _a.configurations, _c = _a.showAreaSelector, showAreaSelector = _c === void 0 ? false : _c;
|
|
11174
|
+
var authentication = _a.authentication, routes = _a.routes, navbar = _a.navbar, _b = _a.navbarTitle, navbarTitle = _b === void 0 ? "MESF" : _b, configurations = _a.configurations, _c = _a.showAreaSelector, showAreaSelector = _c === void 0 ? false : _c, _d = _a.showTrendingsIcon, showTrendingsIcon = _d === void 0 ? true : _d;
|
|
11120
11175
|
return (React__default.createElement(AuthProvider, { authConfig: authentication },
|
|
11121
11176
|
React__default.createElement(UserProvider, null,
|
|
11122
11177
|
React__default.createElement(AssetProvider, null,
|
|
@@ -11127,7 +11182,7 @@ function MESFMain(_a) {
|
|
|
11127
11182
|
React__default.createElement(BrowserRouter, { basename: base },
|
|
11128
11183
|
React__default.createElement(Routes, null,
|
|
11129
11184
|
React__default.createElement(Route, { path: "/logout", element: React__default.createElement(Logout, null) })),
|
|
11130
|
-
React__default.createElement(Navigation, { showAreaSelector: showAreaSelector, navbarTitle: navbarTitle }))))))))));
|
|
11185
|
+
React__default.createElement(Navigation, { showAreaSelector: showAreaSelector, showTrendingsIcon: showTrendingsIcon, navbarTitle: navbarTitle }))))))))));
|
|
11131
11186
|
}
|
|
11132
11187
|
|
|
11133
11188
|
var useDefaultAreaId = function (setError) {
|
|
@@ -11269,5 +11324,5 @@ var areaSelector = /*#__PURE__*/Object.freeze({
|
|
|
11269
11324
|
AreaSelector: AreaSelector
|
|
11270
11325
|
});
|
|
11271
11326
|
|
|
11272
|
-
export { Account, AssetProvider, AuthContext, AuthProvider, BarChartControl, ButtonWithLoading, ChangePassword, CheckBoxControl, Configuration$1 as Configuration, CurrencyFormatter, DataGridControl, DateFormatter, DateTimeFormatter, ErrorModal, FetchError, FilterPanel, GenericPanel, GenericTable, GetCrewColor, GetShiftColor, HorizontalTextControl, IntegerFormatter, Login, Logout, LongFilterPanel, MESApiService, MESFMain, MESSAGE_API, MESSAGE_ERRORS, MasterDetailPanel, MesfModal, ModalTreeFilterControl, MultipleSelectorControl, NumberFormatter, NumericTextControl, SimplePasswordControl, SimpleSelectorControl, SimpleTextAreaControl, SimpleTextControl, TimeFormatter, TreePickerControl, TrendingsPage, USER_LABELS, UTLSettingsProvider, UploadFileControl, UserProvider, axiosInstance, deleteUser, formatNumber, getAuthTypes, getCrewStyle, getDataUser, getError, getProfiles, getShiftStyle, getTokenFromLS, getUsers, renewToken, setPassword, setProfilesToUser, upsertUser, useAssetContext, useToken, useUTLSettingsContext, useUserContext };
|
|
11327
|
+
export { Account, AssetProvider, AuthContext, AuthProvider, BarChartControl, ButtonWithLoading, ChangePassword, CheckBoxControl, Configuration$1 as Configuration, CurrencyFormatter, DataGridControl, DateFormatter, DateTimeFormatter, ErrorModal, FetchError, FilterPanel, GenericPanel, GenericTable, GetCrewColor, GetShiftColor, HorizontalTextControl, IntegerFormatter, Login, Logout, LongFilterPanel, MESApiService, MESFMain, MESSAGE_API, MESSAGE_ERRORS, MasterDetailPanel, MesfModal, ModalTreeFilterControl, MultipleSelectorControl, NumberFormatter, NumericTextControl, SimplePasswordControl, SimpleSelectorControl, SimpleTextAreaControl, SimpleTextControl, TimeFormatter, TimeService, TreePickerControl, TrendingsPage, USER_LABELS, UTLSettingsProvider, UploadFileControl, UserProvider, axiosInstance, deleteUser, dxtToLocalServerTime, dxtToUTC, formatNumber, getAuthTypes, getCrewStyle, getDataUser, getError, getProfiles, getShiftStyle, getTokenFromLS, getUsers, renewToken, setPassword, setProfilesToUser, upsertUser, useAssetContext, useToken, useUTLSettingsContext, useUserContext };
|
|
11273
11328
|
//# sourceMappingURL=index.esm.js.map
|