@gisce/react-ooui 0.20.0 → 0.20.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/dist/index.js +1 -1
- package/dist/widgets/containers/Notebook.d.ts.map +1 -1
- package/dist/widgets/containers/Notebook.js +12 -1
- package/dist/widgets/containers/Notebook.js.map +1 -1
- package/package.json +1 -1
- package/src/stories/containers/Notebook.stories.tsx +26 -0
- package/src/widgets/containers/Notebook.tsx +11 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Notebook.d.ts","sourceRoot":"","sources":["../../../src/widgets/containers/Notebook.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Notebook.d.ts","sourceRoot":"","sources":["../../../src/widgets/containers/Notebook.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAsB,MAAM,aAAa,CAAC;AAG3E,aAAK,KAAK,GAAG;IACX,IAAI,EAAE,YAAY,CAAC;IACnB,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,iBAAS,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CA6BlD;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -5,15 +5,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
var react_1 = __importDefault(require("react"));
|
|
7
7
|
var antd_1 = require("antd");
|
|
8
|
+
var iconMapper_1 = __importDefault(require("@/helpers/iconMapper"));
|
|
8
9
|
var TabPane = antd_1.Tabs.TabPane;
|
|
9
10
|
var index_1 = require("@/index");
|
|
10
11
|
function Notebook(props) {
|
|
11
12
|
var ooui = props.ooui, responsiveBehaviour = props.responsiveBehaviour;
|
|
12
13
|
var tabs = ooui.pages;
|
|
14
|
+
function getPageIcon(icon) {
|
|
15
|
+
if (icon) {
|
|
16
|
+
var Icon = iconMapper_1.default(icon);
|
|
17
|
+
return Icon && react_1.default.createElement(Icon, null);
|
|
18
|
+
}
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
13
21
|
return (react_1.default.createElement(antd_1.Tabs, { defaultActiveKey: "1", tabPosition: ooui.tabPosition }, tabs
|
|
14
22
|
.filter(function (page) { return !page.invisible; })
|
|
15
23
|
.map(function (page) {
|
|
16
|
-
return (react_1.default.createElement(TabPane, { tab:
|
|
24
|
+
return (react_1.default.createElement(TabPane, { tab: react_1.default.createElement(react_1.default.Fragment, null,
|
|
25
|
+
getPageIcon(page.icon),
|
|
26
|
+
" ",
|
|
27
|
+
page.label), key: page.label },
|
|
17
28
|
react_1.default.createElement(index_1.Group, { ooui: page, showLabel: false, responsiveBehaviour: responsiveBehaviour })));
|
|
18
29
|
})));
|
|
19
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Notebook.js","sourceRoot":"","sources":["../../../src/widgets/containers/Notebook.tsx"],"names":[],"mappings":";;;;;AAAA,gDAA0B;AAC1B,6BAA4B;
|
|
1
|
+
{"version":3,"file":"Notebook.js","sourceRoot":"","sources":["../../../src/widgets/containers/Notebook.tsx"],"names":[],"mappings":";;;;;AAAA,gDAA0B;AAC1B,6BAA4B;AAC5B,oEAA8C;AACtC,IAAA,OAAO,GAAK,WAAI,QAAT,CAAU;AAGzB,iCAAgC;AAOhC,SAAS,QAAQ,CAAC,KAAY;IACpB,IAAA,IAAI,GAA0B,KAAK,KAA/B,EAAE,mBAAmB,GAAK,KAAK,oBAAV,CAAW;IAC5C,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;IAExB,SAAS,WAAW,CAAC,IAAY;QAC/B,IAAI,IAAI,EAAE;YACR,IAAM,IAAI,GAAsB,oBAAU,CAAC,IAAI,CAAC,CAAC;YACjD,OAAO,IAAI,IAAI,8BAAC,IAAI,OAAG,CAAC;SACzB;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,CACL,8BAAC,WAAI,IAAC,gBAAgB,EAAC,GAAG,EAAC,WAAW,EAAE,IAAI,CAAC,WAAW,IACrD,IAAI;SACF,MAAM,CAAC,UAAC,IAAS,IAAK,OAAA,CAAC,IAAI,CAAC,SAAS,EAAf,CAAe,CAAC;SACtC,GAAG,CAAC,UAAC,IAAS;QACb,OAAO,CACL,8BAAC,OAAO,IAAC,GAAG,EAAE;gBAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;;gBAAI,IAAI,CAAC,KAAK,CAAI,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK;YACxE,8BAAC,aAAK,IACJ,IAAI,EAAE,IAAiB,EACvB,SAAS,EAAE,KAAK,EAChB,mBAAmB,EAAE,mBAAmB,GACxC,CACM,CACX,CAAC;IACJ,CAAC,CAAC,CACC,CACR,CAAC;AACJ,CAAC;AAED,kBAAe,QAAQ,CAAC"}
|
package/package.json
CHANGED
|
@@ -141,3 +141,29 @@ export const LeftPosition = (): React.ReactElement => {
|
|
|
141
141
|
</LocaleProvider>
|
|
142
142
|
);
|
|
143
143
|
};
|
|
144
|
+
|
|
145
|
+
export const IconTabs = (): React.ReactElement => {
|
|
146
|
+
|
|
147
|
+
const arch = `<form>
|
|
148
|
+
<notebook name="notebook">
|
|
149
|
+
<page string="Home" icon="home">
|
|
150
|
+
<field name="name" />
|
|
151
|
+
</page>
|
|
152
|
+
<page string="Attributes" icon="project">
|
|
153
|
+
<field name="surname" />
|
|
154
|
+
</page>
|
|
155
|
+
</notebook>
|
|
156
|
+
</form>`;
|
|
157
|
+
|
|
158
|
+
const formOoui = new FormOoui(fields);
|
|
159
|
+
formOoui.parse(arch);
|
|
160
|
+
const notebookOoui = formOoui.findById("notebook") as NotebookOoui;
|
|
161
|
+
|
|
162
|
+
return (
|
|
163
|
+
<LocaleProvider lang="en_US">
|
|
164
|
+
<Form>
|
|
165
|
+
<Notebook ooui={notebookOoui} />
|
|
166
|
+
</Form>
|
|
167
|
+
</LocaleProvider>
|
|
168
|
+
);
|
|
169
|
+
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { Tabs } from "antd";
|
|
3
|
+
import iconMapper from "@/helpers/iconMapper";
|
|
3
4
|
const { TabPane } = Tabs;
|
|
4
5
|
|
|
5
6
|
import { Notebook as NotebookOoui, Group as GroupOoui } from "@gisce/ooui";
|
|
@@ -13,13 +14,22 @@ type Props = {
|
|
|
13
14
|
function Notebook(props: Props): React.ReactElement {
|
|
14
15
|
const { ooui, responsiveBehaviour } = props;
|
|
15
16
|
const tabs = ooui.pages;
|
|
17
|
+
|
|
18
|
+
function getPageIcon(icon: string) {
|
|
19
|
+
if (icon) {
|
|
20
|
+
const Icon: React.ElementType = iconMapper(icon);
|
|
21
|
+
return Icon && <Icon />;
|
|
22
|
+
}
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
|
|
16
26
|
return (
|
|
17
27
|
<Tabs defaultActiveKey="1" tabPosition={ooui.tabPosition}>
|
|
18
28
|
{tabs
|
|
19
29
|
.filter((page: any) => !page.invisible)
|
|
20
30
|
.map((page: any) => {
|
|
21
31
|
return (
|
|
22
|
-
<TabPane tab={page.label} key={page.label}>
|
|
32
|
+
<TabPane tab={<>{getPageIcon(page.icon)} {page.label}</>} key={page.label}>
|
|
23
33
|
<Group
|
|
24
34
|
ooui={page as GroupOoui}
|
|
25
35
|
showLabel={false}
|