@sqrzro/admin 1.0.0-beta.1 → 1.0.0-beta.4
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/__mocks__/{squarezero-utility.ts → @sqrzro/utility.ts} +0 -0
- package/dist/index.css +21 -2
- package/dist/index.js +106 -119
- package/dist/index.js.map +1 -1
- package/dist/types/components/App/index.d.ts +0 -1
- package/dist/types/components/ConnectedListScene/index.d.ts +7 -0
- package/dist/types/components/Document/index.d.ts +2 -5
- package/dist/types/components/FormRepeater/index.d.ts +2 -0
- package/dist/types/components/List/index.d.ts +2 -0
- package/dist/types/components/Scene/index.d.ts +1 -1
- package/dist/types/components/Table/index.d.ts +2 -0
- package/dist/types/core/ConnectedRepeater/index.d.ts +5 -5
- package/dist/types/core/EmptyMessage/index.d.ts +3 -1
- package/dist/types/core/ListItem/index.d.ts +2 -2
- package/dist/types/hooks/useAppContext.d.ts +4 -4
- package/dist/types/hooks/useConnectedList.d.ts +4 -4
- package/dist/types/hooks/useConnectedRepeater.d.ts +7 -0
- package/dist/types/hooks/useConnectedTable.d.ts +7 -0
- package/dist/types/hooks/useForm.d.ts +4 -11
- package/dist/types/index.d.ts +4 -3
- package/dist/types/services/OLD_ApiService.d.ts +19 -0
- package/docs/guides/02-configuration.story.mdx +2 -2
- package/package.json +8 -8
- package/src/components/App/App.spec.tsx +39 -2
- package/src/components/App/index.tsx +5 -12
- package/src/components/AutoSuggest/index.tsx +2 -2
- package/src/components/Button/Button.module.css +5 -0
- package/src/components/ConnectedDropdown/index.tsx +2 -4
- package/src/components/Document/index.tsx +10 -16
- package/src/components/FileInput/FileInput.spec.tsx +8 -2
- package/src/components/FileInput/index.tsx +7 -6
- package/src/components/FormRepeater/FormRepeater.module.css +4 -0
- package/src/components/FormRepeater/index.tsx +7 -4
- package/src/components/List/List.spec.tsx +22 -0
- package/src/components/List/index.tsx +4 -1
- package/src/components/LoginForm/LoginForm.spec.tsx +0 -7
- package/src/components/LoginForm/index.tsx +10 -3
- package/src/components/Scene/index.tsx +1 -1
- package/src/components/Table/index.tsx +4 -1
- package/src/core/ConnectedRepeater/index.tsx +21 -16
- package/src/core/EmptyMessage/index.tsx +19 -2
- package/src/core/FilterItem/index.tsx +2 -2
- package/src/core/Filters/Filters.spec.tsx +4 -2
- package/src/core/ListItem/index.tsx +2 -2
- package/src/hooks/useAppContext.ts +5 -3
- package/src/hooks/useConnectedList.ts +8 -19
- package/src/hooks/useConnectedRepeater.ts +29 -0
- package/src/hooks/useConnectedTable.ts +15 -0
- package/src/hooks/useForm.ts +7 -14
- package/src/index.ts +4 -3
- package/src/services/DateService.spec.ts +15 -0
- package/src/services/DateService.ts +41 -12
- package/src/utility/create-app.tsx +2 -2
- package/src/core/BuildModal/index.tsx +0 -119
- package/src/services/BuildService.spec.ts +0 -56
- package/src/services/BuildService.ts +0 -34
|
File without changes
|
package/dist/index.css
CHANGED
|
@@ -554,9 +554,16 @@
|
|
|
554
554
|
border-color: #ee3768;
|
|
555
555
|
border-color: var(--clr-danger);
|
|
556
556
|
color: #ee3768;
|
|
557
|
-
color: var(--clr-danger)
|
|
557
|
+
color: var(--clr-danger)
|
|
558
558
|
}
|
|
559
559
|
|
|
560
|
+
.Button-module_rootBorderedDanger__fKfsW:hover {
|
|
561
|
+
background-color: #d3184a;
|
|
562
|
+
background-color: var(--clr-danger-dark);
|
|
563
|
+
border-color: #d3184a;
|
|
564
|
+
border-color: var(--clr-danger-dark);
|
|
565
|
+
}
|
|
566
|
+
|
|
560
567
|
.Button-module_rootIsDisabled__sPT9k {
|
|
561
568
|
background-color: #cbd5e0;
|
|
562
569
|
background-color: var(--clr-grey400);
|
|
@@ -1372,10 +1379,15 @@ html {
|
|
|
1372
1379
|
}
|
|
1373
1380
|
|
|
1374
1381
|
body {
|
|
1382
|
+
background-color: #edf2f7;
|
|
1375
1383
|
background-color: var(--clr-grey200);
|
|
1384
|
+
color: #2d3748;
|
|
1376
1385
|
color: var(--clr-grey800);
|
|
1386
|
+
font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, "BlinkMacSystemFont", "Segoe UI", "Roboto", "Helvetica Neue", "Arial", "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
1377
1387
|
font-family: var(--ff-body);
|
|
1388
|
+
font-size: 1.4rem;
|
|
1378
1389
|
font-size: var(--fs-med);
|
|
1390
|
+
line-height: 1.5;
|
|
1379
1391
|
line-height: var(--lh-body);
|
|
1380
1392
|
overflow-y: scroll;
|
|
1381
1393
|
}
|
|
@@ -1404,13 +1416,16 @@ dd {
|
|
|
1404
1416
|
}
|
|
1405
1417
|
|
|
1406
1418
|
a {
|
|
1419
|
+
color: #0074d9;
|
|
1407
1420
|
color: var(--clr-link);
|
|
1408
1421
|
cursor: pointer;
|
|
1422
|
+
font-weight: 600;
|
|
1409
1423
|
font-weight: var(--fw-bold);
|
|
1410
1424
|
text-decoration: none
|
|
1411
1425
|
}
|
|
1412
1426
|
|
|
1413
1427
|
a:hover {
|
|
1428
|
+
color: #1e40af;
|
|
1414
1429
|
color: var(--clr-link-hover);
|
|
1415
1430
|
}
|
|
1416
1431
|
|
|
@@ -1422,6 +1437,7 @@ fieldset {
|
|
|
1422
1437
|
|
|
1423
1438
|
hr {
|
|
1424
1439
|
border: 0;
|
|
1440
|
+
border-top: .1rem #e2e8f0 solid;
|
|
1425
1441
|
border-top: .1rem var(--clr-grey300) solid;
|
|
1426
1442
|
margin: 3rem 0;
|
|
1427
1443
|
}
|
|
@@ -3103,8 +3119,11 @@ tr:nth-child(2n - 1) .TableCell-module_root__m8YZV {
|
|
|
3103
3119
|
}
|
|
3104
3120
|
|
|
3105
3121
|
.FormRepeater-module_root__Bh4KC {
|
|
3106
|
-
margin-bottom: 3rem
|
|
3122
|
+
margin-bottom: 3rem
|
|
3107
3123
|
}
|
|
3124
|
+
.FormRepeater-module_root__Bh4KC:last-child {
|
|
3125
|
+
margin-bottom: .5rem;
|
|
3126
|
+
}
|
|
3108
3127
|
|
|
3109
3128
|
.ImageInput-module_root__E-IKb {
|
|
3110
3129
|
background-color: #fff;
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('@sqrzro/utility'), require('classnames'), require('deepmerge'), require('prop-types'), require('next/link'), require('next/router'), require('date-fns'), require('use-deep-compare-effect'), require('next/head'), require('next/document')) :
|
|
3
3
|
typeof define === 'function' && define.amd ? define(['exports', 'react', '@sqrzro/utility', 'classnames', 'deepmerge', 'prop-types', 'next/link', 'next/router', 'date-fns', 'use-deep-compare-effect', 'next/head', 'next/document'], factory) :
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["squarezero-admin"] = {}, global.React, global["@sqrzro/utility"], global.classNames, global.deepmerge, global.PropTypes, global.NextLink, global.NextRouter, global.dateFns, global.useDeepCompareEffect, global.NextHead, global.NextDocument));
|
|
5
|
-
})(this, (function (exports, React, utility, classNames, merge, PropTypes, NextLink, router, dateFns, useDeepCompareEffect, Head,
|
|
5
|
+
})(this, (function (exports, React, utility, classNames, merge, PropTypes, NextLink, router, dateFns, useDeepCompareEffect, Head, document$1) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
|
@@ -32,7 +32,6 @@
|
|
|
32
32
|
var NextLink__default = /*#__PURE__*/_interopDefaultLegacy(NextLink);
|
|
33
33
|
var useDeepCompareEffect__default = /*#__PURE__*/_interopDefaultLegacy(useDeepCompareEffect);
|
|
34
34
|
var Head__default = /*#__PURE__*/_interopDefaultLegacy(Head);
|
|
35
|
-
var NextDocument__default = /*#__PURE__*/_interopDefaultLegacy(NextDocument);
|
|
36
35
|
|
|
37
36
|
/**
|
|
38
37
|
* Copyright (c) 2014-present, Facebook, Inc.
|
|
@@ -927,7 +926,7 @@
|
|
|
927
926
|
Logo: PropTypes__default["default"].func,
|
|
928
927
|
me: PropTypes__default["default"].shape({
|
|
929
928
|
name: PropTypes__default["default"].string.isRequired
|
|
930
|
-
})
|
|
929
|
+
}),
|
|
931
930
|
name: PropTypes__default["default"].string.isRequired,
|
|
932
931
|
navigation: PropTypes__default["default"].arrayOf(PropTypes__default["default"].oneOfType([
|
|
933
932
|
PropTypes__default["default"].shape({
|
|
@@ -1779,21 +1778,22 @@
|
|
|
1779
1778
|
var AUTH_ROUTE$1 = '/auth/';
|
|
1780
1779
|
/* eslint-disable @typescript-eslint/naming-convention */
|
|
1781
1780
|
var App = function (_a) {
|
|
1782
|
-
var Component = _a.Component, config = _a.config,
|
|
1781
|
+
var Component = _a.Component, config = _a.config, router = _a.router, pageProps = __rest(_a, ["Component", "config", "router"]);
|
|
1783
1782
|
var _b = React.useState(), me = _b[0], setMe = _b[1];
|
|
1784
1783
|
var getMe = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
1785
1784
|
var response;
|
|
1786
|
-
|
|
1787
|
-
|
|
1785
|
+
var _a;
|
|
1786
|
+
return __generator(this, function (_b) {
|
|
1787
|
+
switch (_b.label) {
|
|
1788
1788
|
case 0:
|
|
1789
|
-
|
|
1790
|
-
return [4 /*yield*/, utility.ApiService.get('me')];
|
|
1789
|
+
_b.trys.push([0, 2, , 3]);
|
|
1790
|
+
return [4 /*yield*/, utility.ApiService.get(((_a = config === null || config === void 0 ? void 0 : config.auth) === null || _a === void 0 ? void 0 : _a.meUrl) || 'me')];
|
|
1791
1791
|
case 1:
|
|
1792
|
-
response =
|
|
1793
|
-
setMe(
|
|
1792
|
+
response = _b.sent();
|
|
1793
|
+
setMe(response.data);
|
|
1794
1794
|
return [3 /*break*/, 3];
|
|
1795
1795
|
case 2:
|
|
1796
|
-
|
|
1796
|
+
_b.sent();
|
|
1797
1797
|
return [3 /*break*/, 3];
|
|
1798
1798
|
case 3: return [2 /*return*/];
|
|
1799
1799
|
}
|
|
@@ -1808,12 +1808,12 @@
|
|
|
1808
1808
|
}
|
|
1809
1809
|
var _c = config.style || {}, brand = _c.brand, layout = _c.layout;
|
|
1810
1810
|
if (Component.hasLayout === false) {
|
|
1811
|
-
return (React__default["default"].createElement(AppContextProvider, { value: __assign(__assign({}, config), {
|
|
1811
|
+
return (React__default["default"].createElement(AppContextProvider, { value: __assign(__assign({}, config), { me: me }) },
|
|
1812
1812
|
typeof brand !== 'undefined' && (React__default["default"].createElement("style", { "data-testid": "app-brand" }, ":root { --clr-brand: ".concat(brand, " }"))),
|
|
1813
1813
|
React__default["default"].createElement(Component, __assign({ router: router }, pageProps)),
|
|
1814
1814
|
React__default["default"].createElement(Toast, null)));
|
|
1815
1815
|
}
|
|
1816
|
-
return (React__default["default"].createElement(AppContextProvider, { value: __assign(__assign({}, config), {
|
|
1816
|
+
return (React__default["default"].createElement(AppContextProvider, { value: __assign(__assign({}, config), { me: me }) },
|
|
1817
1817
|
typeof brand !== 'undefined' && (React__default["default"].createElement("style", { "data-testid": "app-brand" }, ":root { --clr-brand: ".concat(brand, " }"))),
|
|
1818
1818
|
React__default["default"].createElement("div", { className: styles$T.root },
|
|
1819
1819
|
React__default["default"].createElement(Banner, null),
|
|
@@ -1831,8 +1831,8 @@
|
|
|
1831
1831
|
utility.ApiService.registerConfig({ path: (_a = config.paths) === null || _a === void 0 ? void 0 : _a.api });
|
|
1832
1832
|
/* eslint-disable @typescript-eslint/naming-convention */
|
|
1833
1833
|
var AdminApp = function (_a) {
|
|
1834
|
-
var Component = _a.Component,
|
|
1835
|
-
return (React__default["default"].createElement(App, { Component: Component,
|
|
1834
|
+
var Component = _a.Component, router = _a.router;
|
|
1835
|
+
return (React__default["default"].createElement(App, { Component: Component, config: config, router: router }));
|
|
1836
1836
|
};
|
|
1837
1837
|
/* eslint-enable */
|
|
1838
1838
|
AdminApp.propTypes = AppPropTypes;
|
|
@@ -2166,7 +2166,7 @@
|
|
|
2166
2166
|
})];
|
|
2167
2167
|
case 2:
|
|
2168
2168
|
response = _a.sent();
|
|
2169
|
-
setSuggestions(response.data
|
|
2169
|
+
setSuggestions(response.data);
|
|
2170
2170
|
return [3 /*break*/, 4];
|
|
2171
2171
|
case 3:
|
|
2172
2172
|
_a.sent();
|
|
@@ -2340,21 +2340,43 @@
|
|
|
2340
2340
|
return "".concat(formatted, ",").concat(formatted);
|
|
2341
2341
|
};
|
|
2342
2342
|
var getQuickDates = function () {
|
|
2343
|
-
var
|
|
2344
|
-
|
|
2345
|
-
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
|
|
2350
|
-
|
|
2351
|
-
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
|
-
id:
|
|
2355
|
-
name:
|
|
2343
|
+
var today = new Date();
|
|
2344
|
+
var dates = [
|
|
2345
|
+
{
|
|
2346
|
+
id: getToday(),
|
|
2347
|
+
name: 'Today'
|
|
2348
|
+
},
|
|
2349
|
+
{
|
|
2350
|
+
id: getYesterday(),
|
|
2351
|
+
name: 'Yesterday'
|
|
2352
|
+
},
|
|
2353
|
+
{
|
|
2354
|
+
id: getLast7Days(),
|
|
2355
|
+
name: 'Last 7 Days'
|
|
2356
|
+
},
|
|
2357
|
+
{
|
|
2358
|
+
id: getLast30Days(),
|
|
2359
|
+
name: 'Last 30 Days'
|
|
2360
|
+
},
|
|
2361
|
+
];
|
|
2362
|
+
/*
|
|
2363
|
+
* If the date is the 8th or 31st of the month, it matches up with last 7 days or last 30 days,
|
|
2364
|
+
* respectively, and causes duplicate key errors. So best just leave it out in these cases.
|
|
2365
|
+
*/
|
|
2366
|
+
if (today.getDate() !== DAYS_IN_WEEK$2 + 1 && today.getDate() !== DAYS_IN_MONTH) {
|
|
2367
|
+
dates.push({
|
|
2368
|
+
id: getThisMonth(),
|
|
2369
|
+
name: 'This Month'
|
|
2356
2370
|
});
|
|
2371
|
+
}
|
|
2372
|
+
dates.push({
|
|
2373
|
+
id: getLastMonth(),
|
|
2374
|
+
name: 'Last Month'
|
|
2357
2375
|
});
|
|
2376
|
+
return dates.map(function (item) { return ({
|
|
2377
|
+
id: getQuickDateId(item.id),
|
|
2378
|
+
name: item.name
|
|
2379
|
+
}); });
|
|
2358
2380
|
};
|
|
2359
2381
|
var DateService = {
|
|
2360
2382
|
addMonths: addMonths,
|
|
@@ -2883,7 +2905,7 @@
|
|
|
2883
2905
|
return [4 /*yield*/, utility.ApiService.get(parseRemote$2(remote))];
|
|
2884
2906
|
case 1:
|
|
2885
2907
|
response = _a.sent();
|
|
2886
|
-
setData(response.data
|
|
2908
|
+
setData(response.data);
|
|
2887
2909
|
return [3 /*break*/, 3];
|
|
2888
2910
|
case 2:
|
|
2889
2911
|
_a.sent();
|
|
@@ -2998,10 +3020,11 @@
|
|
|
2998
3020
|
* component to be used for any situation where a standout message is required.
|
|
2999
3021
|
*/
|
|
3000
3022
|
var EmptyMessage = function (_a) {
|
|
3001
|
-
var description = _a.description, title = _a.title;
|
|
3023
|
+
var action = _a.action, description = _a.description, title = _a.title;
|
|
3002
3024
|
return (React__default["default"].createElement("section", { className: styles$z.root },
|
|
3003
3025
|
React__default["default"].createElement("h1", { className: styles$z.title }, title || DEFAULT_TITLE),
|
|
3004
|
-
React__default["default"].createElement("p", { className: styles$z.description }, description || DEFAULT_DESCRIPTION)
|
|
3026
|
+
React__default["default"].createElement("p", { className: styles$z.description }, description || DEFAULT_DESCRIPTION),
|
|
3027
|
+
action ? (React__default["default"].createElement(Button, { isDisabled: action.isDisabled, onClick: action.onClick, variant: action.variant }, action.label)) : null));
|
|
3005
3028
|
};
|
|
3006
3029
|
EmptyMessage.propTypes = {
|
|
3007
3030
|
description: PropTypes__default["default"].string,
|
|
@@ -3070,7 +3093,7 @@
|
|
|
3070
3093
|
return [4 /*yield*/, utility.ApiService.get(parseRemote$1(remote))];
|
|
3071
3094
|
case 1:
|
|
3072
3095
|
response = _a.sent();
|
|
3073
|
-
setRemoteData(response.data
|
|
3096
|
+
setRemoteData(response.data);
|
|
3074
3097
|
setIsDisabled(false);
|
|
3075
3098
|
return [2 /*return*/];
|
|
3076
3099
|
}
|
|
@@ -3300,7 +3323,7 @@
|
|
|
3300
3323
|
var _j = React.useState([]), remoteSummary = _j[0], setRemoteSummary = _j[1];
|
|
3301
3324
|
var toggleIsSummaryOpen = function () { return setIsSummaryOpen(!isSummaryOpen); };
|
|
3302
3325
|
var getData = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
3303
|
-
var response, err_1;
|
|
3326
|
+
var response, meta, err_1;
|
|
3304
3327
|
return __generator(this, function (_a) {
|
|
3305
3328
|
switch (_a.label) {
|
|
3306
3329
|
case 0:
|
|
@@ -3316,13 +3339,14 @@
|
|
|
3316
3339
|
response = _a.sent();
|
|
3317
3340
|
setIsLoading(false);
|
|
3318
3341
|
setIsRefreshing(false);
|
|
3319
|
-
setData(response.data
|
|
3320
|
-
|
|
3321
|
-
|
|
3322
|
-
|
|
3342
|
+
setData(response.data);
|
|
3343
|
+
meta = response.meta;
|
|
3344
|
+
setTotals(meta.totals);
|
|
3345
|
+
if (meta.summary) {
|
|
3346
|
+
setRemoteSummary(parseSummary(summary || [], meta.summary));
|
|
3323
3347
|
}
|
|
3324
|
-
if (
|
|
3325
|
-
setPagination(transformPagination(
|
|
3348
|
+
if (meta.page) {
|
|
3349
|
+
setPagination(transformPagination(meta.page));
|
|
3326
3350
|
}
|
|
3327
3351
|
return [3 /*break*/, 4];
|
|
3328
3352
|
case 3:
|
|
@@ -3338,7 +3362,7 @@
|
|
|
3338
3362
|
}); };
|
|
3339
3363
|
React.useEffect(function () {
|
|
3340
3364
|
if (setFunctions) {
|
|
3341
|
-
var functions = {
|
|
3365
|
+
var functions = { reloadData: function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
3342
3366
|
return [2 /*return*/, getData()];
|
|
3343
3367
|
}); }); } };
|
|
3344
3368
|
setFunctions(functions);
|
|
@@ -3618,9 +3642,9 @@
|
|
|
3618
3642
|
* If there is no data, an `EmptyMessage` is displayed.
|
|
3619
3643
|
*/
|
|
3620
3644
|
var List = function (_a) {
|
|
3621
|
-
var data = _a.data, pagination = _a.pagination, transformer = _a.transformer, isDisabled = _a.isDisabled;
|
|
3645
|
+
var data = _a.data, empty = _a.empty, pagination = _a.pagination, transformer = _a.transformer, isDisabled = _a.isDisabled;
|
|
3622
3646
|
if (!data || !data.length) {
|
|
3623
|
-
return React__default["default"].createElement(EmptyMessage,
|
|
3647
|
+
return React__default["default"].createElement(EmptyMessage, __assign({}, empty));
|
|
3624
3648
|
}
|
|
3625
3649
|
var transformed = transformData$1(data, transformer || DEFAULT_TRANSFORMER$1);
|
|
3626
3650
|
return (React__default["default"].createElement(React.Fragment, null,
|
|
@@ -3925,9 +3949,9 @@
|
|
|
3925
3949
|
};
|
|
3926
3950
|
var Table = function (_a) {
|
|
3927
3951
|
var _b;
|
|
3928
|
-
var columns = _a.columns, data = _a.data, isDisabled = _a.isDisabled, pagination = _a.pagination, totals = _a.totals, transformer = _a.transformer;
|
|
3952
|
+
var columns = _a.columns, data = _a.data, empty = _a.empty, isDisabled = _a.isDisabled, pagination = _a.pagination, totals = _a.totals, transformer = _a.transformer;
|
|
3929
3953
|
if (!data || !data.length) {
|
|
3930
|
-
return React__default["default"].createElement(EmptyMessage,
|
|
3954
|
+
return React__default["default"].createElement(EmptyMessage, __assign({}, empty));
|
|
3931
3955
|
}
|
|
3932
3956
|
var transformedColumns = transformColumns(columns);
|
|
3933
3957
|
var transformedData = transformData(data, transformer || DEFAULT_TRANSFORMER);
|
|
@@ -4042,21 +4066,11 @@
|
|
|
4042
4066
|
onChange: PropTypes__default["default"].func
|
|
4043
4067
|
};
|
|
4044
4068
|
|
|
4045
|
-
var Document =
|
|
4046
|
-
|
|
4047
|
-
|
|
4048
|
-
|
|
4049
|
-
|
|
4050
|
-
/* eslint-disable class-methods-use-this */
|
|
4051
|
-
Document.prototype.render = function () {
|
|
4052
|
-
return (React__default["default"].createElement(NextDocument.Html, { lang: "en" },
|
|
4053
|
-
React__default["default"].createElement(NextDocument.Head, null),
|
|
4054
|
-
React__default["default"].createElement("body", null,
|
|
4055
|
-
React__default["default"].createElement(NextDocument.Main, null),
|
|
4056
|
-
React__default["default"].createElement(NextDocument.NextScript, null))));
|
|
4057
|
-
};
|
|
4058
|
-
return Document;
|
|
4059
|
-
}(NextDocument__default["default"]));
|
|
4069
|
+
var Document = function () { return (React__default["default"].createElement(document$1.Html, { lang: "en" },
|
|
4070
|
+
React__default["default"].createElement(document$1.Head, null),
|
|
4071
|
+
React__default["default"].createElement("body", null,
|
|
4072
|
+
React__default["default"].createElement(document$1.Main, null),
|
|
4073
|
+
React__default["default"].createElement(document$1.NextScript, null)))); };
|
|
4060
4074
|
|
|
4061
4075
|
var styles$i = {"root":"FormLegend-module_root__TK1a-"};
|
|
4062
4076
|
|
|
@@ -4087,20 +4101,20 @@
|
|
|
4087
4101
|
var styles$h = {"root":"FileInput-module_root__UvQj-","input":"FileInput-module_input__dBre-"};
|
|
4088
4102
|
|
|
4089
4103
|
var FileInput = function (_a) {
|
|
4090
|
-
var id = _a.id, hasError = _a.hasError, isDisabled = _a.isDisabled, name = _a.name, onChange = _a.onChange;
|
|
4104
|
+
var id = _a.id, hasError = _a.hasError, isDisabled = _a.isDisabled, name = _a.name, onChange = _a.onChange, value = _a.value;
|
|
4091
4105
|
var _b = React.useState(''), fileName = _b[0], setFileName = _b[1];
|
|
4092
4106
|
var handleChange = function (event) {
|
|
4093
4107
|
var target = event.target;
|
|
4094
|
-
if (target.files.length) {
|
|
4095
|
-
setFileName(target.files[0].name);
|
|
4096
|
-
}
|
|
4097
4108
|
var simpleEvent = {
|
|
4098
|
-
target: { name: name, value:
|
|
4109
|
+
target: { name: name, value: target.files[0] }
|
|
4099
4110
|
};
|
|
4100
4111
|
if (onChange) {
|
|
4101
4112
|
onChange(simpleEvent);
|
|
4102
4113
|
}
|
|
4103
4114
|
};
|
|
4115
|
+
React.useEffect(function () {
|
|
4116
|
+
setFileName(value instanceof File ? value.name : '');
|
|
4117
|
+
}, [value]);
|
|
4104
4118
|
return (React__default["default"].createElement("div", { className: classNames__default["default"](styles$h.root, hasError && styles$h.rootHasError, isDisabled && styles$h.rootIsDisabled), "data-testid": "file-input-root" },
|
|
4105
4119
|
React__default["default"].createElement(StaticTextInput, { icon: "upload", label: fileName, name: name, placeholder: "Choose file...", value: fileName }),
|
|
4106
4120
|
React__default["default"].createElement("input", { className: styles$h.input, "data-testid": "file-input-input", id: id || "c_".concat(name), name: name, onChange: handleChange, type: "file" })));
|
|
@@ -4318,7 +4332,7 @@
|
|
|
4318
4332
|
* Otherwise, return the existing array, and an empty string (for the new field, if the max is
|
|
4319
4333
|
* Not reached).
|
|
4320
4334
|
*/
|
|
4321
|
-
var stringifiedValue = value.map(function (item) { return
|
|
4335
|
+
var stringifiedValue = value.map(function (item) { return item || ''; });
|
|
4322
4336
|
return max && value.length >= max ? __spreadArray([], stringifiedValue, true) : __spreadArray(__spreadArray([], stringifiedValue, true), [''], false);
|
|
4323
4337
|
};
|
|
4324
4338
|
var getAction = function (onClick, values, index, max) {
|
|
@@ -4332,7 +4346,7 @@
|
|
|
4332
4346
|
};
|
|
4333
4347
|
};
|
|
4334
4348
|
var FormRepeater = function (_a) {
|
|
4335
|
-
var label = _a.label, max = _a.max, name = _a.name, onChange = _a.onChange, value = _a.value;
|
|
4349
|
+
var label = _a.label, max = _a.max, name = _a.name, onChange = _a.onChange, render = _a.render, value = _a.value;
|
|
4336
4350
|
var values = parseValues(value, max);
|
|
4337
4351
|
var handleChange = function (event, index) {
|
|
4338
4352
|
if (!onChange) {
|
|
@@ -4360,7 +4374,7 @@
|
|
|
4360
4374
|
}
|
|
4361
4375
|
});
|
|
4362
4376
|
};
|
|
4363
|
-
return (React__default["default"].createElement("div", { className: styles$b.root }, values.map(function (_item, index) { return (React__default["default"].createElement(FormField, { key: index, action: getAction(function () { return handleRemove(index); }, values, index, max), id: "c_".concat(name, "_").concat(index), label: index === 0 ? label : null, name: name, onChange: function (event) { return handleChange(event, index); }, value: values[index], isShallow: true })); })));
|
|
4377
|
+
return (React__default["default"].createElement("div", { className: styles$b.root }, values.map(function (_item, index) { return (React__default["default"].createElement(FormField, { key: index, action: getAction(function () { return handleRemove(index); }, values, index, max), id: "c_".concat(name, "_").concat(index), label: index === 0 ? label : null, name: name, onChange: function (event) { return handleChange(event, index); }, render: render, value: values[index], isShallow: true })); })));
|
|
4364
4378
|
};
|
|
4365
4379
|
FormRepeater.propTypes = {
|
|
4366
4380
|
name: PropTypes__default["default"].string.isRequired,
|
|
@@ -4540,6 +4554,7 @@
|
|
|
4540
4554
|
var AUTH_DEFAULTS = {
|
|
4541
4555
|
identifier: 'username',
|
|
4542
4556
|
identifierLabel: 'Username',
|
|
4557
|
+
loginUrl: 'tokens',
|
|
4543
4558
|
tfa: false
|
|
4544
4559
|
};
|
|
4545
4560
|
var LoginForm = function (_a) {
|
|
@@ -4561,8 +4576,10 @@
|
|
|
4561
4576
|
formData: formData,
|
|
4562
4577
|
method: 'post',
|
|
4563
4578
|
successMessage: false,
|
|
4564
|
-
url:
|
|
4565
|
-
onSubmitSuccess: function (response) {
|
|
4579
|
+
url: auth.loginUrl,
|
|
4580
|
+
onSubmitSuccess: function (response) {
|
|
4581
|
+
return utility.AuthService.login(response.data.token);
|
|
4582
|
+
}
|
|
4566
4583
|
}), errors = _f.errors, isLoading = _f.isLoading, handleSubmit = _f.handleSubmit;
|
|
4567
4584
|
var handleKeyDown = function (event) {
|
|
4568
4585
|
if (event.key === 'Enter') {
|
|
@@ -4812,59 +4829,28 @@
|
|
|
4812
4829
|
}).isRequired).isRequired
|
|
4813
4830
|
};
|
|
4814
4831
|
|
|
4815
|
-
var
|
|
4816
|
-
var
|
|
4817
|
-
|
|
4818
|
-
|
|
4819
|
-
case 0:
|
|
4820
|
-
utility.EventService.publish('@build/status', 'PENDING');
|
|
4821
|
-
_a.label = 1;
|
|
4822
|
-
case 1:
|
|
4823
|
-
_a.trys.push([1, 3, , 4]);
|
|
4824
|
-
return [4 /*yield*/, utility.ApiService.get('build')];
|
|
4825
|
-
case 2:
|
|
4826
|
-
response = _a.sent();
|
|
4827
|
-
utility.StorageService.set('build_hash', response.data.hash);
|
|
4828
|
-
return [3 /*break*/, 4];
|
|
4829
|
-
case 3:
|
|
4830
|
-
_a.sent();
|
|
4831
|
-
utility.EventService.publish('@build/status', 'ERROR');
|
|
4832
|
-
return [2 /*return*/];
|
|
4833
|
-
case 4:
|
|
4834
|
-
_a.trys.push([4, 6, , 7]);
|
|
4835
|
-
return [4 /*yield*/, utility.ApiService.pollForResponse([
|
|
4836
|
-
'build/status',
|
|
4837
|
-
{
|
|
4838
|
-
hash: utility.StorageService.get('build_hash')
|
|
4839
|
-
},
|
|
4840
|
-
])];
|
|
4841
|
-
case 5:
|
|
4842
|
-
_a.sent();
|
|
4843
|
-
utility.EventService.publish('@build/status', 'SUCCESS');
|
|
4844
|
-
return [3 /*break*/, 7];
|
|
4845
|
-
case 6:
|
|
4846
|
-
_a.sent();
|
|
4847
|
-
utility.EventService.publish('@build/status', 'ERROR');
|
|
4848
|
-
return [3 /*break*/, 7];
|
|
4849
|
-
case 7:
|
|
4850
|
-
utility.StorageService.remove('build_hash');
|
|
4851
|
-
return [2 /*return*/];
|
|
4852
|
-
}
|
|
4853
|
-
});
|
|
4854
|
-
}); };
|
|
4855
|
-
var open = function () { return utility.EventService.publish('@build/open'); };
|
|
4856
|
-
var BuildService = { start: start, open: open };
|
|
4857
|
-
|
|
4858
|
-
var useConnectedList = function () {
|
|
4859
|
-
var _a = React.useState({ reloadList: function () { return null; } }), listFunctions = _a[0], setListFunctions = _a[1];
|
|
4832
|
+
var useConnectedRepeater = function (component) {
|
|
4833
|
+
var _a = React.useState({
|
|
4834
|
+
reloadData: function () { return null; }
|
|
4835
|
+
}), RepeaterFunctions = _a[0], setRepeaterFunctions = _a[1];
|
|
4860
4836
|
return {
|
|
4861
|
-
|
|
4862
|
-
return React.createElement(
|
|
4837
|
+
element: React.useCallback(function (props) {
|
|
4838
|
+
return React.createElement(component, __assign(__assign({}, props), { setFunctions: function (fnc) { return setRepeaterFunctions(fnc); } }));
|
|
4863
4839
|
}, []),
|
|
4864
|
-
|
|
4840
|
+
reloadData: RepeaterFunctions.reloadData
|
|
4865
4841
|
};
|
|
4866
4842
|
};
|
|
4867
4843
|
|
|
4844
|
+
var useConnectedList = function () {
|
|
4845
|
+
var _a = useConnectedRepeater(ConnectedList), element = _a.element, functions = __rest(_a, ["element"]);
|
|
4846
|
+
return __assign({ ConnectedList: element }, functions);
|
|
4847
|
+
};
|
|
4848
|
+
|
|
4849
|
+
var useConnectedTable = function () {
|
|
4850
|
+
var _a = useConnectedRepeater(ConnectedList), element = _a.element, functions = __rest(_a, ["element"]);
|
|
4851
|
+
return __assign({ ConnectedTable: element }, functions);
|
|
4852
|
+
};
|
|
4853
|
+
|
|
4868
4854
|
var makeUrl = function (alias) {
|
|
4869
4855
|
var query = FilterService.getUrlForFilters({ dl: '1', token: utility.AuthService.getToken() }, false);
|
|
4870
4856
|
return "".concat(utility.ApiService.makeUrl(alias), "?").concat(query);
|
|
@@ -5028,7 +5014,6 @@
|
|
|
5028
5014
|
exports.App = App;
|
|
5029
5015
|
exports.AppContextProvider = AppContextProvider;
|
|
5030
5016
|
exports.AutoSuggest = AutoSuggest;
|
|
5031
|
-
exports.BuildService = BuildService;
|
|
5032
5017
|
exports.Button = Button;
|
|
5033
5018
|
exports.CalendarInput = CalendarInput;
|
|
5034
5019
|
exports.CheckboxList = CheckboxList;
|
|
@@ -5086,6 +5071,8 @@
|
|
|
5086
5071
|
exports.useAppContext = useAppContext;
|
|
5087
5072
|
exports.useClickOutside = useClickOutside;
|
|
5088
5073
|
exports.useConnectedList = useConnectedList;
|
|
5074
|
+
exports.useConnectedRepeater = useConnectedRepeater;
|
|
5075
|
+
exports.useConnectedTable = useConnectedTable;
|
|
5089
5076
|
exports.useFilters = useFilters;
|
|
5090
5077
|
exports.useForm = useForm;
|
|
5091
5078
|
exports.useFormData = useFormData;
|