@proteinjs/ui 1.0.1
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 +8 -0
- package/LICENSE +21 -0
- package/dist/generated/index.d.ts +17 -0
- package/dist/generated/index.d.ts.map +1 -0
- package/dist/generated/index.js +40 -0
- package/dist/generated/index.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -0
- package/dist/src/container/AccountIconButton.d.ts +20 -0
- package/dist/src/container/AccountIconButton.d.ts.map +1 -0
- package/dist/src/container/AccountIconButton.js +112 -0
- package/dist/src/container/AccountIconButton.js.map +1 -0
- package/dist/src/container/NavMenu.d.ts +16 -0
- package/dist/src/container/NavMenu.d.ts.map +1 -0
- package/dist/src/container/NavMenu.js +51 -0
- package/dist/src/container/NavMenu.js.map +1 -0
- package/dist/src/container/PageContainer.d.ts +31 -0
- package/dist/src/container/PageContainer.d.ts.map +1 -0
- package/dist/src/container/PageContainer.js +75 -0
- package/dist/src/container/PageContainer.js.map +1 -0
- package/dist/src/form/Field.d.ts +34 -0
- package/dist/src/form/Field.d.ts.map +1 -0
- package/dist/src/form/Field.js +29 -0
- package/dist/src/form/Field.js.map +1 -0
- package/dist/src/form/Form.d.ts +46 -0
- package/dist/src/form/Form.d.ts.map +1 -0
- package/dist/src/form/Form.js +377 -0
- package/dist/src/form/Form.js.map +1 -0
- package/dist/src/form/FormButton.d.ts +28 -0
- package/dist/src/form/FormButton.d.ts.map +1 -0
- package/dist/src/form/FormButton.js +18 -0
- package/dist/src/form/FormButton.js.map +1 -0
- package/dist/src/form/FunctionalForm.d.ts +1 -0
- package/dist/src/form/FunctionalForm.d.ts.map +1 -0
- package/dist/src/form/FunctionalForm.js +328 -0
- package/dist/src/form/FunctionalForm.js.map +1 -0
- package/dist/src/form/container/FormPage.d.ts +4 -0
- package/dist/src/form/container/FormPage.d.ts.map +1 -0
- package/dist/src/form/container/FormPage.js +29 -0
- package/dist/src/form/container/FormPage.js.map +1 -0
- package/dist/src/form/container/FormPaper.d.ts +4 -0
- package/dist/src/form/container/FormPaper.d.ts.map +1 -0
- package/dist/src/form/container/FormPaper.js +27 -0
- package/dist/src/form/container/FormPaper.js.map +1 -0
- package/dist/src/form/fields/TextField.d.ts +6 -0
- package/dist/src/form/fields/TextField.d.ts.map +1 -0
- package/dist/src/form/fields/TextField.js +70 -0
- package/dist/src/form/fields/TextField.js.map +1 -0
- package/dist/src/list/NestedList.d.ts +14 -0
- package/dist/src/list/NestedList.d.ts.map +1 -0
- package/dist/src/list/NestedList.js +44 -0
- package/dist/src/list/NestedList.js.map +1 -0
- package/dist/src/router/Page.d.ts +28 -0
- package/dist/src/router/Page.d.ts.map +1 -0
- package/dist/src/router/Page.js +7 -0
- package/dist/src/router/Page.js.map +1 -0
- package/dist/src/router/Router.d.ts +14 -0
- package/dist/src/router/Router.d.ts.map +1 -0
- package/dist/src/router/Router.js +66 -0
- package/dist/src/router/Router.js.map +1 -0
- package/dist/src/router/createUrlParams.d.ts +4 -0
- package/dist/src/router/createUrlParams.d.ts.map +1 -0
- package/dist/src/router/createUrlParams.js +19 -0
- package/dist/src/router/createUrlParams.js.map +1 -0
- package/dist/src/router/withRouter.d.ts +7 -0
- package/dist/src/router/withRouter.d.ts.map +1 -0
- package/dist/src/router/withRouter.js +28 -0
- package/dist/src/router/withRouter.js.map +1 -0
- package/dist/src/table/Table.d.ts +14 -0
- package/dist/src/table/Table.d.ts.map +1 -0
- package/dist/src/table/Table.js +170 -0
- package/dist/src/table/Table.js.map +1 -0
- package/dist/src/table/TableButton.d.ts +12 -0
- package/dist/src/table/TableButton.d.ts.map +1 -0
- package/dist/src/table/TableButton.js +3 -0
- package/dist/src/table/TableButton.js.map +1 -0
- package/dist/src/table/TableLoader.d.ts +16 -0
- package/dist/src/table/TableLoader.d.ts.map +1 -0
- package/dist/src/table/TableLoader.js +57 -0
- package/dist/src/table/TableLoader.js.map +1 -0
- package/dist/src/table/TableToolbar.d.ts +10 -0
- package/dist/src/table/TableToolbar.d.ts.map +1 -0
- package/dist/src/table/TableToolbar.js +59 -0
- package/dist/src/table/TableToolbar.js.map +1 -0
- package/generated/index.ts +37 -0
- package/index.ts +20 -0
- package/jest.config.js +18 -0
- package/package.json +52 -0
- package/src/container/AccountIconButton.tsx +118 -0
- package/src/container/NavMenu.tsx +91 -0
- package/src/container/PageContainer.tsx +108 -0
- package/src/form/Field.tsx +51 -0
- package/src/form/Form.tsx +405 -0
- package/src/form/FormButton.tsx +30 -0
- package/src/form/FunctionalForm.tsx +364 -0
- package/src/form/container/FormPage.tsx +23 -0
- package/src/form/container/FormPaper.tsx +16 -0
- package/src/form/fields/TextField.tsx +71 -0
- package/src/list/NestedList.tsx +61 -0
- package/src/router/Page.ts +28 -0
- package/src/router/Router.tsx +76 -0
- package/src/router/createUrlParams.ts +16 -0
- package/src/router/withRouter.tsx +21 -0
- package/src/table/Table.tsx +195 -0
- package/src/table/TableButton.ts +12 -0
- package/src/table/TableLoader.ts +19 -0
- package/src/table/TableToolbar.tsx +99 -0
- package/tsconfig.json +18 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Page } from './Page';
|
|
3
|
+
export type AppOptions = {
|
|
4
|
+
pageContainer?: React.ComponentType<{
|
|
5
|
+
page: Page;
|
|
6
|
+
}>;
|
|
7
|
+
pageNotFound?: React.ComponentType;
|
|
8
|
+
};
|
|
9
|
+
export declare function loadApp(options?: AppOptions): void;
|
|
10
|
+
export declare function Router(props: {
|
|
11
|
+
pages: Page[];
|
|
12
|
+
options: AppOptions;
|
|
13
|
+
}): React.JSX.Element;
|
|
14
|
+
//# sourceMappingURL=Router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../../src/router/Router.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,IAAI,EAAY,MAAM,QAAQ,CAAC;AAGxC,MAAM,MAAM,UAAU,GAAG;IACrB,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IACpD,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CACrC,CAAA;AAED,wBAAgB,OAAO,CAAC,OAAO,GAAE,UAAe,QAI/C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAAC,OAAO,EAAE,UAAU,CAAA;CAAE,qBAiDnE"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Router = exports.loadApp = void 0;
|
|
7
|
+
var react_1 = __importDefault(require("react"));
|
|
8
|
+
var react_router_1 = require("react-router");
|
|
9
|
+
var client_1 = require("react-dom/client");
|
|
10
|
+
var react_router_dom_1 = require("react-router-dom");
|
|
11
|
+
var material_1 = require("@mui/material");
|
|
12
|
+
var Page_1 = require("./Page");
|
|
13
|
+
var createUrlParams_1 = require("./createUrlParams");
|
|
14
|
+
function loadApp(options) {
|
|
15
|
+
if (options === void 0) { options = {}; }
|
|
16
|
+
var container = document.getElementById('app');
|
|
17
|
+
var root = (0, client_1.createRoot)(container);
|
|
18
|
+
root.render(react_1.default.createElement(Router, { pages: (0, Page_1.getPages)(), options: options }));
|
|
19
|
+
}
|
|
20
|
+
exports.loadApp = loadApp;
|
|
21
|
+
function Router(props) {
|
|
22
|
+
var pages = props.pages, options = props.options;
|
|
23
|
+
return (react_1.default.createElement("div", null,
|
|
24
|
+
react_1.default.createElement(material_1.CssBaseline, null),
|
|
25
|
+
react_1.default.createElement(react_router_dom_1.BrowserRouter, null,
|
|
26
|
+
react_1.default.createElement(RoutesComponent, null))));
|
|
27
|
+
function RoutesComponent() {
|
|
28
|
+
var navigate = (0, react_router_dom_1.useNavigate)();
|
|
29
|
+
return (react_1.default.createElement(react_router_1.Routes, null,
|
|
30
|
+
(function () {
|
|
31
|
+
var routes = [];
|
|
32
|
+
var key = 0;
|
|
33
|
+
for (var _i = 0, pages_1 = pages; _i < pages_1.length; _i++) {
|
|
34
|
+
var page = pages_1[_i];
|
|
35
|
+
if (typeof page.path === 'string')
|
|
36
|
+
routes.push(react_1.default.createElement(react_router_1.Route, { key: key++, path: getPath(page.path), element: react_1.default.createElement(ContainerizedComponent, { options: options, page: page, navigate: navigate }) }));
|
|
37
|
+
else {
|
|
38
|
+
var paths = page.path;
|
|
39
|
+
for (var _a = 0, paths_1 = paths; _a < paths_1.length; _a++) {
|
|
40
|
+
var path = paths_1[_a];
|
|
41
|
+
routes.push(react_1.default.createElement(react_router_1.Route, { key: key++, path: getPath(path), element: react_1.default.createElement(ContainerizedComponent, { options: options, page: page, navigate: navigate }) }));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return routes;
|
|
46
|
+
})(),
|
|
47
|
+
react_1.default.createElement(react_router_1.Route, { element: react_1.default.createElement(PageNotFound, { pageNotFound: options.pageNotFound }) })));
|
|
48
|
+
}
|
|
49
|
+
function ContainerizedComponent(props) {
|
|
50
|
+
if (props.options.pageContainer && !props.page.noPageContainer)
|
|
51
|
+
return (react_1.default.createElement(props.options.pageContainer, { page: props.page }));
|
|
52
|
+
return (react_1.default.createElement(props.page.component, { urlParams: (0, createUrlParams_1.createUrlParams)(), navigate: props.navigate }));
|
|
53
|
+
}
|
|
54
|
+
function PageNotFound(props) {
|
|
55
|
+
if (props.pageNotFound)
|
|
56
|
+
return (react_1.default.createElement(props.pageNotFound, null));
|
|
57
|
+
return react_1.default.createElement("h1", null, "404: Page not found");
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.Router = Router;
|
|
61
|
+
function getPath(path) {
|
|
62
|
+
if (path.startsWith('/'))
|
|
63
|
+
return path;
|
|
64
|
+
return "/".concat(path);
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=Router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Router.js","sourceRoot":"","sources":["../../../src/router/Router.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createUrlParams.d.ts","sourceRoot":"","sources":["../../../src/router/createUrlParams.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe;;EAa9B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createUrlParams = void 0;
|
|
4
|
+
var react_router_1 = require("react-router");
|
|
5
|
+
function createUrlParams() {
|
|
6
|
+
var urlParams = {};
|
|
7
|
+
var location = (0, react_router_1.useLocation)();
|
|
8
|
+
var serializedParams = location.search.substring(1).split('&');
|
|
9
|
+
for (var _i = 0, serializedParams_1 = serializedParams; _i < serializedParams_1.length; _i++) {
|
|
10
|
+
var serializedParam = serializedParams_1[_i];
|
|
11
|
+
if (serializedParam === '')
|
|
12
|
+
continue;
|
|
13
|
+
var kvp = serializedParam.split('=');
|
|
14
|
+
urlParams[decodeURIComponent(kvp[0])] = decodeURIComponent(kvp[1]);
|
|
15
|
+
}
|
|
16
|
+
return urlParams;
|
|
17
|
+
}
|
|
18
|
+
exports.createUrlParams = createUrlParams;
|
|
19
|
+
//# sourceMappingURL=createUrlParams.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createUrlParams.js","sourceRoot":"","sources":["../../../src/router/createUrlParams.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAE3C,SAAgB,eAAe;IAC7B,IAAM,SAAS,GAAkC,EAAE,CAAC;IACpD,IAAM,QAAQ,GAAG,IAAA,0BAAW,GAAE,CAAC;IAC/B,IAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjE,KAA4B,UAAgB,EAAhB,qCAAgB,EAAhB,8BAAgB,EAAhB,IAAgB,EAAE;QAAzC,IAAI,eAAe,yBAAA;QACpB,IAAI,eAAe,KAAK,EAAE;YACtB,SAAS;QAEb,IAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,SAAS,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACtE;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAbD,0CAaC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { NavigateFunction } from 'react-router-dom';
|
|
3
|
+
export type WithRouterProps = {
|
|
4
|
+
navigate: NavigateFunction;
|
|
5
|
+
};
|
|
6
|
+
export declare const withRouter: (Component: typeof React.Component) => (props: any) => React.JSX.Element;
|
|
7
|
+
//# sourceMappingURL=withRouter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withRouter.d.ts","sourceRoot":"","sources":["../../../src/router/withRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAe,MAAM,kBAAkB,CAAC;AAEjE,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,gBAAgB,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,UAAU,iDACG,GAAG,sBAY5B,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.withRouter = void 0;
|
|
18
|
+
var react_1 = __importDefault(require("react"));
|
|
19
|
+
var react_router_dom_1 = require("react-router-dom");
|
|
20
|
+
var withRouter = function (Component) {
|
|
21
|
+
var Wrapper = function (props) {
|
|
22
|
+
var navigate = (0, react_router_dom_1.useNavigate)();
|
|
23
|
+
return (react_1.default.createElement(Component, __assign({ navigate: navigate }, props)));
|
|
24
|
+
};
|
|
25
|
+
return Wrapper;
|
|
26
|
+
};
|
|
27
|
+
exports.withRouter = withRouter;
|
|
28
|
+
//# sourceMappingURL=withRouter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withRouter.js","sourceRoot":"","sources":["../../../src/router/withRouter.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,qDAAiE;AAM1D,IAAM,UAAU,GAAG,UAAC,SAAiC;IAC1D,IAAM,OAAO,GAAG,UAAC,KAAU;QACzB,IAAM,QAAQ,GAAG,IAAA,8BAAW,GAAE,CAAC;QAE/B,OAAO,CACL,8BAAC,SAAS,aACN,QAAQ,EAAE,QAAQ,IACd,KAAK,EACT,CACL,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAbW,QAAA,UAAU,cAarB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TableLoader } from './TableLoader';
|
|
3
|
+
import { TableButton } from './TableButton';
|
|
4
|
+
export type TableProps<T> = {
|
|
5
|
+
title?: string;
|
|
6
|
+
description?: () => JSX.Element;
|
|
7
|
+
columns: (keyof T)[];
|
|
8
|
+
tableLoader: TableLoader<T>;
|
|
9
|
+
rowOnClickRedirectUrl?: (row: T) => Promise<string>;
|
|
10
|
+
defaultRowsPerPage?: number;
|
|
11
|
+
buttons?: TableButton<T>[];
|
|
12
|
+
};
|
|
13
|
+
export declare function Table<T>({ title, description, columns, tableLoader, rowOnClickRedirectUrl, defaultRowsPerPage, buttons }: TableProps<T>): React.JSX.Element;
|
|
14
|
+
//# sourceMappingURL=Table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../src/table/Table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAG3C,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IAChC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC5B,qBAAqB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACpD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;CAC5B,CAAA;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,kBAAuB,EAAE,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,qBA8K5I"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
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;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.Table = void 0;
|
|
43
|
+
var react_1 = __importDefault(require("react"));
|
|
44
|
+
var react_router_dom_1 = require("react-router-dom");
|
|
45
|
+
var material_1 = require("@mui/material");
|
|
46
|
+
var moment_1 = __importDefault(require("moment"));
|
|
47
|
+
var util_1 = require("@proteinjs/util");
|
|
48
|
+
var TableToolbar_1 = require("./TableToolbar");
|
|
49
|
+
function Table(_a) {
|
|
50
|
+
var _this = this;
|
|
51
|
+
var title = _a.title, description = _a.description, columns = _a.columns, tableLoader = _a.tableLoader, rowOnClickRedirectUrl = _a.rowOnClickRedirectUrl, _b = _a.defaultRowsPerPage, defaultRowsPerPage = _b === void 0 ? 10 : _b, buttons = _a.buttons;
|
|
52
|
+
var _c = react_1.default.useState(defaultRowsPerPage), rowsPerPage = _c[0], setRowsPerPage = _c[1];
|
|
53
|
+
var _d = react_1.default.useState(0), page = _d[0], setPage = _d[1];
|
|
54
|
+
var _e = react_1.default.useState(0), totalRows = _e[0], setTotalRows = _e[1];
|
|
55
|
+
var _f = react_1.default.useState([]), rows = _f[0], setRows = _f[1];
|
|
56
|
+
var _g = react_1.default.useState({}), selectedRows = _g[0], setSelectedRows = _g[1];
|
|
57
|
+
var _h = react_1.default.useState(false), selectAll = _h[0], setSelectAll = _h[1];
|
|
58
|
+
var navigate = (0, react_router_dom_1.useNavigate)();
|
|
59
|
+
react_1.default.useEffect(function () {
|
|
60
|
+
var fetchData = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
61
|
+
var startIndex, endIndex, rowWindow;
|
|
62
|
+
return __generator(this, function (_a) {
|
|
63
|
+
switch (_a.label) {
|
|
64
|
+
case 0:
|
|
65
|
+
startIndex = page * rowsPerPage;
|
|
66
|
+
endIndex = startIndex + rowsPerPage;
|
|
67
|
+
return [4 /*yield*/, tableLoader.load(startIndex, endIndex)];
|
|
68
|
+
case 1:
|
|
69
|
+
rowWindow = _a.sent();
|
|
70
|
+
setRows(rowWindow.rows);
|
|
71
|
+
setTotalRows(rowWindow.totalCount);
|
|
72
|
+
return [2 /*return*/];
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}); };
|
|
76
|
+
fetchData();
|
|
77
|
+
}, [page, rowsPerPage, tableLoader]);
|
|
78
|
+
function handleRowOnClick(row) {
|
|
79
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
80
|
+
var redirectUrl;
|
|
81
|
+
return __generator(this, function (_a) {
|
|
82
|
+
switch (_a.label) {
|
|
83
|
+
case 0:
|
|
84
|
+
if (!rowOnClickRedirectUrl)
|
|
85
|
+
return [2 /*return*/];
|
|
86
|
+
return [4 /*yield*/, rowOnClickRedirectUrl(row)];
|
|
87
|
+
case 1:
|
|
88
|
+
redirectUrl = _a.sent();
|
|
89
|
+
if (!redirectUrl.startsWith('/'))
|
|
90
|
+
redirectUrl = "/".concat(redirectUrl);
|
|
91
|
+
navigate(redirectUrl);
|
|
92
|
+
return [2 /*return*/];
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
function updateRowsPerPage(newValue) {
|
|
98
|
+
setRowsPerPage(newValue);
|
|
99
|
+
setPage(0);
|
|
100
|
+
}
|
|
101
|
+
function toggleSelectRow(rowIndex, row) {
|
|
102
|
+
var newSelectedRows = Object.assign({}, selectedRows);
|
|
103
|
+
if (newSelectedRows[rowIndex])
|
|
104
|
+
delete newSelectedRows[rowIndex];
|
|
105
|
+
else
|
|
106
|
+
newSelectedRows[rowIndex] = row;
|
|
107
|
+
setSelectedRows(newSelectedRows);
|
|
108
|
+
if (selectAll && Object.keys(selectedRows).length != rows.length)
|
|
109
|
+
setSelectAll(false);
|
|
110
|
+
else if (!selectAll && Object.keys(selectedRows).length == rows.length)
|
|
111
|
+
setSelectAll(true);
|
|
112
|
+
}
|
|
113
|
+
function toggleSelectAll(selected) {
|
|
114
|
+
if (selected) {
|
|
115
|
+
var newSelectedRows = Object.assign({}, selectedRows);
|
|
116
|
+
for (var i = 0; i < rows.length; i++) {
|
|
117
|
+
var index = rowsPerPage * page + i;
|
|
118
|
+
if (!newSelectedRows[index])
|
|
119
|
+
newSelectedRows[index] = rows[i];
|
|
120
|
+
}
|
|
121
|
+
setSelectedRows(newSelectedRows);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
setSelectedRows({});
|
|
125
|
+
}
|
|
126
|
+
setSelectAll(selected);
|
|
127
|
+
}
|
|
128
|
+
function formatCellValue(value) {
|
|
129
|
+
if (value == null)
|
|
130
|
+
return '';
|
|
131
|
+
if (typeof value === 'boolean')
|
|
132
|
+
return value ? 'True' : 'False';
|
|
133
|
+
if (moment_1.default.isMoment(value))
|
|
134
|
+
return value.format('ddd, MMM Do YY, h:mm:ss a');
|
|
135
|
+
if (typeof value === 'object')
|
|
136
|
+
return JSON.stringify(value);
|
|
137
|
+
return value.toString();
|
|
138
|
+
}
|
|
139
|
+
return (react_1.default.createElement("div", { style: { overflow: 'auto', width: '100%' } },
|
|
140
|
+
(title || description || buttons && buttons.length > 0) &&
|
|
141
|
+
react_1.default.createElement(TableToolbar_1.TableToolbar, { title: title, description: description, selectedRows: Object.values(selectedRows), buttons: buttons }),
|
|
142
|
+
react_1.default.createElement(material_1.TableContainer, null,
|
|
143
|
+
react_1.default.createElement(material_1.Table, { stickyHeader: true },
|
|
144
|
+
react_1.default.createElement(material_1.TableHead, null,
|
|
145
|
+
react_1.default.createElement(material_1.TableRow, null,
|
|
146
|
+
buttons && buttons.length > 0 &&
|
|
147
|
+
react_1.default.createElement(material_1.TableCell, { padding: 'checkbox' },
|
|
148
|
+
react_1.default.createElement(material_1.Checkbox, { checked: selectAll, onChange: function (event, selected) { return toggleSelectAll(selected); }, inputProps: {
|
|
149
|
+
'aria-label': 'Select all'
|
|
150
|
+
} })),
|
|
151
|
+
columns.map(function (column, index) { return (react_1.default.createElement(material_1.TableCell, { key: index },
|
|
152
|
+
react_1.default.createElement(material_1.Typography, { variant: 'h6' }, util_1.StringUtil.humanizeCamel(column)))); }))),
|
|
153
|
+
react_1.default.createElement(material_1.TableBody, null, rows.map(function (row, index) {
|
|
154
|
+
index = rowsPerPage * page + index;
|
|
155
|
+
return (react_1.default.createElement(material_1.TableRow, { hover: true, role: 'checkbox', tabIndex: -1, key: index, selected: typeof selectedRows[index] !== 'undefined' },
|
|
156
|
+
buttons && buttons.length > 0 &&
|
|
157
|
+
react_1.default.createElement(material_1.TableCell, { padding: 'checkbox' },
|
|
158
|
+
react_1.default.createElement(material_1.Checkbox, { checked: typeof selectedRows[index] !== 'undefined', onChange: function (event, value) { return toggleSelectRow(index, row); }, inputProps: {
|
|
159
|
+
'aria-label': 'Select row'
|
|
160
|
+
} })),
|
|
161
|
+
columns.map(function (column, index) {
|
|
162
|
+
var cellValue = formatCellValue(row[column]);
|
|
163
|
+
return (react_1.default.createElement(material_1.TableCell, { key: index, onClick: function (event) { return handleRowOnClick(row); } },
|
|
164
|
+
react_1.default.createElement(material_1.Typography, { variant: 'subtitle1' }, cellValue)));
|
|
165
|
+
})));
|
|
166
|
+
})))),
|
|
167
|
+
react_1.default.createElement(material_1.TablePagination, { rowsPerPageOptions: [5, 10, 25, 50, 100, 200], component: 'div', count: totalRows, rowsPerPage: rowsPerPage, page: page, onPageChange: function (event, newPage) { return setPage(newPage); }, onRowsPerPageChange: function (event) { return updateRowsPerPage(parseInt(event.target.value)); } })));
|
|
168
|
+
}
|
|
169
|
+
exports.Table = Table;
|
|
170
|
+
//# sourceMappingURL=Table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../src/table/Table.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { NavigateFunction } from 'react-router';
|
|
3
|
+
export type TableButton<T> = {
|
|
4
|
+
name: string;
|
|
5
|
+
icon: React.ComponentType;
|
|
6
|
+
visibility: {
|
|
7
|
+
showWhenRowsSelected: boolean;
|
|
8
|
+
showWhenNoRowsSelected: boolean;
|
|
9
|
+
};
|
|
10
|
+
onClick: (selectedRows: T[], navigate: NavigateFunction) => Promise<void>;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=TableButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableButton.d.ts","sourceRoot":"","sources":["../../../src/table/TableButton.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC;IAC1B,UAAU,EAAE;QACV,oBAAoB,EAAE,OAAO,CAAC;QAC9B,sBAAsB,EAAE,OAAO,CAAC;KACjC,CAAC;IACF,OAAO,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3E,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableButton.js","sourceRoot":"","sources":["../../../src/table/TableButton.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type RowWindow<T> = {
|
|
2
|
+
rows: T[];
|
|
3
|
+
totalCount: number;
|
|
4
|
+
};
|
|
5
|
+
export type TableLoader<T> = {
|
|
6
|
+
load: (startIndex: number, endIndex: number) => Promise<RowWindow<T>>;
|
|
7
|
+
};
|
|
8
|
+
export declare class StaticTableLoader<T> implements TableLoader<T> {
|
|
9
|
+
private list;
|
|
10
|
+
constructor(list: T[]);
|
|
11
|
+
load(startIndex: number, endIndex: number): Promise<{
|
|
12
|
+
rows: T[];
|
|
13
|
+
totalCount: number;
|
|
14
|
+
}>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=TableLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableLoader.d.ts","sourceRoot":"","sources":["../../../src/table/TableLoader.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,UAAU,EAAE,MAAM,CAAC;CACpB,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;CACvE,CAAA;AAED,qBAAa,iBAAiB,CAAC,CAAC,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,CAAC,EAAE;IAEvB,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;CAMhD"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
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;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.StaticTableLoader = void 0;
|
|
40
|
+
var StaticTableLoader = /** @class */ (function () {
|
|
41
|
+
function StaticTableLoader(list) {
|
|
42
|
+
this.list = list;
|
|
43
|
+
}
|
|
44
|
+
StaticTableLoader.prototype.load = function (startIndex, endIndex) {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
46
|
+
return __generator(this, function (_a) {
|
|
47
|
+
return [2 /*return*/, {
|
|
48
|
+
rows: this.list.slice(startIndex, endIndex),
|
|
49
|
+
totalCount: this.list.length,
|
|
50
|
+
}];
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
return StaticTableLoader;
|
|
55
|
+
}());
|
|
56
|
+
exports.StaticTableLoader = StaticTableLoader;
|
|
57
|
+
//# sourceMappingURL=TableLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableLoader.js","sourceRoot":"","sources":["../../../src/table/TableLoader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA;IACE,2BAAoB,IAAS;QAAT,SAAI,GAAJ,IAAI,CAAK;IAAG,CAAC;IAE3B,gCAAI,GAAV,UAAW,UAAkB,EAAE,QAAgB;;;gBAC7C,sBAAO;wBACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC;wBAC3C,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;qBAC7B,EAAC;;;KACH;IACH,wBAAC;AAAD,CAAC,AATD,IASC;AATY,8CAAiB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TableButton } from './TableButton';
|
|
3
|
+
export type TableToolbarProps = {
|
|
4
|
+
title?: string;
|
|
5
|
+
selectedRows: any[];
|
|
6
|
+
description?: () => JSX.Element;
|
|
7
|
+
buttons?: TableButton<any>[];
|
|
8
|
+
};
|
|
9
|
+
export declare const TableToolbar: (props: TableToolbarProps) => React.JSX.Element;
|
|
10
|
+
//# sourceMappingURL=TableToolbar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableToolbar.d.ts","sourceRoot":"","sources":["../../../src/table/TableToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAI3C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IAChC,OAAO,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;CAC9B,CAAA;AAED,eAAO,MAAM,YAAY,UAAY,iBAAiB,sBAsFrD,CAAA"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.TableToolbar = void 0;
|
|
7
|
+
var react_1 = __importDefault(require("react"));
|
|
8
|
+
var material_1 = require("@mui/material");
|
|
9
|
+
var react_router_1 = require("react-router");
|
|
10
|
+
var TableToolbar = function (props) {
|
|
11
|
+
var title = props.title, selectedRows = props.selectedRows, buttons = props.buttons;
|
|
12
|
+
var navigate = (0, react_router_1.useNavigate)();
|
|
13
|
+
return (react_1.default.createElement(material_1.Toolbar, { sx: function (theme) {
|
|
14
|
+
if (selectedRows.length > 0) {
|
|
15
|
+
return theme.palette.mode === 'light'
|
|
16
|
+
? {
|
|
17
|
+
color: theme.palette.info.main,
|
|
18
|
+
backgroundColor: (0, material_1.lighten)(theme.palette.info.light, 0.85),
|
|
19
|
+
}
|
|
20
|
+
: {
|
|
21
|
+
color: theme.palette.info.light,
|
|
22
|
+
backgroundColor: theme.palette.info.dark,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
paddingLeft: theme.spacing(2),
|
|
27
|
+
paddingRight: theme.spacing(1),
|
|
28
|
+
};
|
|
29
|
+
} },
|
|
30
|
+
react_1.default.createElement("div", { style: {
|
|
31
|
+
marginLeft: 4,
|
|
32
|
+
flex: '0 0 auto',
|
|
33
|
+
} }, selectedRows.length > 0 ? (react_1.default.createElement(material_1.Typography, { variant: 'subtitle1', color: 'inherit' },
|
|
34
|
+
selectedRows.length,
|
|
35
|
+
" rows selected")) : (react_1.default.createElement("div", null,
|
|
36
|
+
typeof title !== 'undefined' &&
|
|
37
|
+
react_1.default.createElement(material_1.Typography, { variant: 'h5' }, title),
|
|
38
|
+
typeof props.description !== 'undefined' &&
|
|
39
|
+
react_1.default.createElement(props.description, null)))),
|
|
40
|
+
react_1.default.createElement("div", { style: {
|
|
41
|
+
flex: '1 1 100%',
|
|
42
|
+
} }),
|
|
43
|
+
react_1.default.createElement("div", null,
|
|
44
|
+
react_1.default.createElement(Buttons, null))));
|
|
45
|
+
function Buttons() {
|
|
46
|
+
if (!buttons)
|
|
47
|
+
return null;
|
|
48
|
+
if (selectedRows.length > 0) {
|
|
49
|
+
return buttons.filter(function (button) { return button.visibility.showWhenRowsSelected; }).map(function (button, index) { return (react_1.default.createElement(material_1.Tooltip, { key: index, title: button.name },
|
|
50
|
+
react_1.default.createElement(material_1.IconButton, { "aria-label": button.name, onClick: function (event) { return button.onClick(selectedRows, navigate); } },
|
|
51
|
+
react_1.default.createElement(button.icon, null)))); });
|
|
52
|
+
}
|
|
53
|
+
return buttons.filter(function (button) { return button.visibility.showWhenNoRowsSelected; }).map(function (button, index) { return (react_1.default.createElement(material_1.Tooltip, { key: index, title: button.name },
|
|
54
|
+
react_1.default.createElement(material_1.IconButton, { "aria-label": button.name, onClick: function (event) { return button.onClick([], navigate); } },
|
|
55
|
+
react_1.default.createElement(button.icon, null)))); });
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
exports.TableToolbar = TableToolbar;
|
|
59
|
+
//# sourceMappingURL=TableToolbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableToolbar.js","sourceRoot":"","sources":["../../../src/table/TableToolbar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/** Load Dependency Source Graphs */
|
|
2
|
+
|
|
3
|
+
import '@proteinjs/reflection';
|
|
4
|
+
import '@proteinjs/util';
|
|
5
|
+
import '@emotion/react';
|
|
6
|
+
import '@emotion/styled';
|
|
7
|
+
import '@mui/icons-material';
|
|
8
|
+
import '@mui/material';
|
|
9
|
+
import 'history';
|
|
10
|
+
import 'moment';
|
|
11
|
+
import 'query-string';
|
|
12
|
+
import 'react';
|
|
13
|
+
import 'react-dom';
|
|
14
|
+
import 'react-router';
|
|
15
|
+
import 'react-router-dom';
|
|
16
|
+
import 'string';
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
/** Generate Source Graph */
|
|
20
|
+
|
|
21
|
+
const sourceGraph = "{\"options\":{\"directed\":true,\"multigraph\":false,\"compound\":false},\"nodes\":[{\"v\":\"@proteinjs/ui/Page\",\"value\":{\"packageName\":\"@proteinjs/ui\",\"name\":\"Page\",\"filePath\":\"/home/runner/work/ui/ui/packages/ui/src/router/Page.ts\",\"qualifiedName\":\"@proteinjs/ui/Page\",\"properties\":[{\"name\":\"name\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"path\",\"type\":{\"packageName\":\"\",\"name\":\"string|string[]\",\"filePath\":null,\"qualifiedName\":\"/string|string[]\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"component\",\"type\":{\"packageName\":\"\",\"name\":\"React.ComponentType<PageComponentProps>\",\"filePath\":null,\"qualifiedName\":\"/React.ComponentType<PageComponentProps>\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"noPageContainer\",\"type\":{\"packageName\":\"\",\"name\":\"boolean\",\"filePath\":null,\"qualifiedName\":\"/boolean\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"auth\",\"type\":{\"packageName\":\"@proteinjs/ui\",\"name\":\"{\\n /** If true, the user does not need to be logged in or have any roles to access this page. If blank, defaults to false. */\\n public?: boolean;\\n /** If true, the user does not need to have any roles to access this page, but must be logged in. If blank, defaults to false. */\\n allUsers?: boolean,\\n /** The user must be logged in and have these roles to access this page. If blank, defaults to requiring the 'admin' role. */\\n roles?: string[];\\n }\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/ui/{\\n /** If true, the user does not need to be logged in or have any roles to access this page. If blank, defaults to false. */\\n public?: boolean;\\n /** If true, the user does not need to have any roles to access this page, but must be logged in. If blank, defaults to false. */\\n allUsers?: boolean,\\n /** The user must be logged in and have these roles to access this page. If blank, defaults to requiring the 'admin' role. */\\n roles?: string[];\\n }\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"pageContainerSxProps\",\"type\":{\"packageName\":\"@mui/material\",\"name\":\"SxProps\",\"filePath\":null,\"qualifiedName\":\"@mui/material/SxProps\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/reflection/Loadable\"},{\"v\":\"/string | React.ComponentType\"},{\"v\":\"/React.FC\"},{\"v\":\"/Partial\"},{\"v\":\"/React.Component\"}],\"edges\":[{\"v\":\"@proteinjs/ui/Page\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends interface\"}]}";
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
/** Generate Source Links */
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
const sourceLinks = {
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
/** Load Source Graph and Links */
|
|
32
|
+
|
|
33
|
+
import { SourceRepository } from '@proteinjs/reflection';
|
|
34
|
+
SourceRepository.merge(sourceGraph, sourceLinks);
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
export * from '../index';
|