@common-stack/client-react 0.1.23 → 0.2.2
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/lib/__tests__/fill-register-test.d.ts +1 -0
- package/lib/__tests__/fill-register-test.js +66 -0
- package/lib/__tests__/fill-register-test.js.map +1 -0
- package/lib/__tests__/helpers/sample-menu.d.ts +79 -0
- package/lib/__tests__/helpers/sample-menu.js +78 -0
- package/lib/__tests__/helpers/sample-menu.js.map +1 -0
- package/lib/__tests__/integrated-routes.test.d.ts +1 -0
- package/lib/__tests__/integrated-routes.test.js +83 -0
- package/lib/__tests__/integrated-routes.test.js.map +1 -0
- package/lib/__tests__/render-routes.test.d.ts +3 -0
- package/lib/__tests__/render-routes.test.js +89 -0
- package/lib/__tests__/render-routes.test.js.map +1 -0
- package/lib/connector/base-connector.d.ts +52 -0
- package/lib/connector/base-connector.js +148 -0
- package/lib/connector/base-connector.js.map +1 -0
- package/lib/connector/connector.d.ts +7 -43
- package/lib/connector/connector.js +15 -0
- package/lib/connector/connector.js.map +1 -0
- package/lib/connector/connector.native.d.ts +7 -0
- package/lib/connector/connector.native.js +14 -0
- package/lib/connector/connector.native.js.map +1 -0
- package/lib/connector/connector.test.d.ts +1 -0
- package/lib/connector/connector.test.js +32 -0
- package/lib/connector/connector.test.js.map +1 -0
- package/lib/connector/index.js +14 -0
- package/lib/connector/index.js.map +1 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +9 -1722
- package/lib/index.js.map +1 -1
- package/lib/index.native.d.ts +9 -0
- package/lib/index.native.js +24 -0
- package/lib/index.native.js.map +1 -0
- package/lib/interfaces/extended-feature.js +3 -0
- package/lib/interfaces/extended-feature.js.map +1 -0
- package/lib/interfaces/index.js +17 -0
- package/lib/interfaces/index.js.map +1 -0
- package/lib/interfaces/menu.js +12 -0
- package/lib/interfaces/menu.js.map +1 -0
- package/lib/interfaces/new-router.d.ts +18 -1
- package/lib/interfaces/new-router.js +3 -0
- package/lib/interfaces/new-router.js.map +1 -0
- package/lib/interfaces/router.js +3 -0
- package/lib/interfaces/router.js.map +1 -0
- package/lib/inversify/InversifyContext.js +37 -0
- package/lib/inversify/InversifyContext.js.map +1 -0
- package/lib/inversify/index.js +14 -0
- package/lib/inversify/index.js.map +1 -0
- package/lib/plugin-area/__tests__/higher-order-component-util.test.d.ts +1 -0
- package/lib/plugin-area/__tests__/higher-order-component-util.test.js +60 -0
- package/lib/plugin-area/__tests__/higher-order-component-util.test.js.map +1 -0
- package/lib/plugin-area/__tests__/plugin-api.test.d.ts +1 -0
- package/lib/plugin-area/__tests__/plugin-api.test.js +54 -0
- package/lib/plugin-area/__tests__/plugin-api.test.js.map +1 -0
- package/lib/plugin-area/{plugin-area.d.ts → base-plugin-area.d.ts} +1 -1
- package/lib/plugin-area/base-plugin-area.js +68 -0
- package/lib/plugin-area/base-plugin-area.js.map +1 -0
- package/lib/plugin-area/higher-order-component-util.js +23 -0
- package/lib/plugin-area/higher-order-component-util.js.map +1 -0
- package/lib/plugin-area/index.d.ts +2 -2
- package/lib/plugin-area/index.js +34 -0
- package/lib/plugin-area/index.js.map +1 -0
- package/lib/plugin-area/index.native.d.ts +3 -0
- package/lib/plugin-area/index.native.js +35 -0
- package/lib/plugin-area/index.native.js.map +1 -0
- package/lib/plugin-area/plugin-api.js +79 -0
- package/lib/plugin-area/plugin-api.js.map +1 -0
- package/lib/plugin-area/plugin-context.js +44 -0
- package/lib/plugin-area/plugin-context.js.map +1 -0
- package/lib/route/__tests__/admin-new-routes.test.d.ts +1 -0
- package/lib/route/__tests__/admin-new-routes.test.js +175 -0
- package/lib/route/__tests__/admin-new-routes.test.js.map +1 -0
- package/lib/route/__tests__/config-routes.test.d.ts +0 -0
- package/lib/route/__tests__/config-routes.test.js +326 -0
- package/lib/route/__tests__/config-routes.test.js.map +1 -0
- package/lib/route/__tests__/getFlatMenus.test.d.ts +1 -0
- package/lib/route/__tests__/getFlatMenus.test.js +96 -0
- package/lib/route/__tests__/getFlatMenus.test.js.map +1 -0
- package/lib/route/__tests__/render-routes-config.test.d.ts +2 -0
- package/lib/route/__tests__/render-routes-config.test.js +69 -0
- package/lib/route/__tests__/render-routes-config.test.js.map +1 -0
- package/lib/route/__tests__/route-type.test.d.ts +1 -0
- package/lib/route/__tests__/route-type.test.js +9 -0
- package/lib/route/__tests__/route-type.test.js.map +1 -0
- package/lib/route/get-routes.d.ts +3 -0
- package/lib/route/get-routes.js +86 -0
- package/lib/route/get-routes.js.map +1 -0
- package/lib/route/get-routes.test.d.ts +1 -0
- package/lib/route/get-routes.test.js +170 -0
- package/lib/route/get-routes.test.js.map +1 -0
- package/lib/route/index.js +14 -0
- package/lib/route/index.js.map +1 -0
- package/lib/route/index.native.d.ts +1 -0
- package/lib/route/index.native.js +14 -0
- package/lib/route/index.native.js.map +1 -0
- package/lib/route/old/__tests__/config-sidebar-menu.test.d.ts +1 -0
- package/lib/route/old/__tests__/config-sidebar-menu.test.js +198 -0
- package/lib/route/old/__tests__/config-sidebar-menu.test.js.map +1 -0
- package/lib/route/old/get-menus.d.ts +2 -0
- package/lib/route/old/get-menus.js +63 -0
- package/lib/route/old/get-menus.js.map +1 -0
- package/lib/route/old/get-routes-notused.d.ts +11 -0
- package/lib/route/old/get-routes-notused.js +61 -0
- package/lib/route/old/get-routes-notused.js.map +1 -0
- package/lib/route/old/render.d.ts +2 -0
- package/lib/route/old/render.js +30 -0
- package/lib/route/old/render.js.map +1 -0
- package/lib/route/render-routes-test.d.ts +1 -0
- package/lib/route/render-routes-test.js +40 -0
- package/lib/route/render-routes-test.js.map +1 -0
- package/lib/route/render-routes.d.ts +2 -14
- package/lib/route/render-routes.js +164 -0
- package/lib/route/render-routes.js.map +1 -0
- package/lib/route/render-routes.native.d.ts +4 -0
- package/lib/route/render-routes.native.js +158 -0
- package/lib/route/render-routes.native.js.map +1 -0
- package/lib/route-based-plugin-area/__tests__/higher-order-component-util.test.d.ts +1 -0
- package/lib/route-based-plugin-area/__tests__/higher-order-component-util.test.js +60 -0
- package/lib/route-based-plugin-area/__tests__/higher-order-component-util.test.js.map +1 -0
- package/lib/route-based-plugin-area/__tests__/plugin-api.test.d.ts +1 -0
- package/lib/route-based-plugin-area/__tests__/plugin-api.test.js +54 -0
- package/lib/route-based-plugin-area/__tests__/plugin-api.test.js.map +1 -0
- package/lib/route-based-plugin-area/higher-order-component-util.js +23 -0
- package/lib/route-based-plugin-area/higher-order-component-util.js.map +1 -0
- package/lib/route-based-plugin-area/index.js +15 -0
- package/lib/route-based-plugin-area/index.js.map +1 -0
- package/lib/route-based-plugin-area/plugin-api.js +79 -0
- package/lib/route-based-plugin-area/plugin-api.js.map +1 -0
- package/lib/route-based-plugin-area/plugin-context.js +44 -0
- package/lib/route-based-plugin-area/plugin-context.js.map +1 -0
- package/lib/route-based-plugin-area/route-based-plugin-area.js +68 -0
- package/lib/route-based-plugin-area/route-based-plugin-area.js.map +1 -0
- package/lib/{router/router.d.ts → router-factory/index.d.ts} +0 -0
- package/lib/router-factory/index.js +30 -0
- package/lib/router-factory/index.js.map +1 -0
- package/lib/router-factory/index.native.d.ts +2 -0
- package/lib/router-factory/index.native.js +30 -0
- package/lib/router-factory/index.native.js.map +1 -0
- package/lib/utils/index.d.ts +2 -1
- package/lib/utils/index.js +15 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/utils/sort-keys.d.ts +1 -0
- package/lib/utils/sort-keys.js +73 -0
- package/lib/utils/sort-keys.js.map +1 -0
- package/lib/utils/sort-keys.test.d.ts +1 -0
- package/lib/utils/sort-keys.test.js +30 -0
- package/lib/utils/sort-keys.test.js.map +1 -0
- package/lib/utils/utils.d.ts +4 -0
- package/lib/utils/utils.js +13 -0
- package/lib/utils/utils.js.map +1 -0
- package/package.json +7 -6
- package/lib/plugin-area/browser-plugin-area.d.ts +0 -2
- package/lib/router/index.d.ts +0 -1
- package/lib/utils/route-utils.d.ts +0 -17
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import 'jest';
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
const React = __importStar(require("react"));
|
|
23
|
+
require("jest");
|
|
24
|
+
const connector_1 = require("../connector");
|
|
25
|
+
describe('Test the registration and retrieval of React Slot Fill Components', () => {
|
|
26
|
+
const featureA = new connector_1.Feature({
|
|
27
|
+
componentFillPlugins: [
|
|
28
|
+
{
|
|
29
|
+
name: 'test-1',
|
|
30
|
+
render: () => (React.createElement("p", null, "Test 1")),
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: 'test-2',
|
|
34
|
+
render: () => (React.createElement("p", null, "Test 2")),
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
name: 'test-3',
|
|
38
|
+
render: () => (React.createElement("p", null, "Test 3")),
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
});
|
|
42
|
+
const featureB = new connector_1.Feature({
|
|
43
|
+
componentFillPlugins: [
|
|
44
|
+
{
|
|
45
|
+
name: 'test-4',
|
|
46
|
+
render: () => (React.createElement("p", null, "Test 4")),
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'test-5',
|
|
50
|
+
render: () => (React.createElement("p", null, "Test 5")),
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: 'test-6',
|
|
54
|
+
render: () => (React.createElement("p", null, "Test 6")),
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
});
|
|
58
|
+
test('Should merge all Fills', () => {
|
|
59
|
+
const finalFeature = new connector_1.Feature(featureA, featureB);
|
|
60
|
+
const mergedFills = finalFeature.getComponentFillPlugins();
|
|
61
|
+
expect(mergedFills.length).toEqual(6);
|
|
62
|
+
mergedFills.forEach(i => expect(typeof i).toEqual('object'));
|
|
63
|
+
mergedFills.forEach(i => expect(typeof i.render).toEqual('function'));
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
//# sourceMappingURL=fill-register-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fill-register-test.js","sourceRoot":"","sources":["../../src/__tests__/fill-register-test.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,gBAAc;AACd,4CAAqC;AAGrC,QAAQ,CAAC,mEAAmE,EAAE,GAAG,EAAE;IAC/E,MAAM,QAAQ,GAAG,IAAI,mBAAO,CAAC;QACzB,oBAAoB,EAAE;YAClB;gBACE,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,wCAAa,CAAC;aAC9B;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,wCAAa,CAAC;aAC9B;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,wCAAa,CAAC;aAC9B;SACJ;KACwB,CAAC,CAAC;IAE/B,MAAM,QAAQ,GAAG,IAAI,mBAAO,CAAC;QACzB,oBAAoB,EAAE;YAClB;gBACI,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,wCAAa,CAAC;aAChC;YACD;gBACI,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,wCAAa,CAAC;aAChC;YACD;gBACI,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,wCAAa,CAAC;aAChC;SACJ;KACwB,CAAC,CAAC;IAE/B,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,YAAY,GAAG,IAAI,mBAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,YAAY,CAAC,uBAAuB,EAAE,CAAC;QAC3D,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7D,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
export declare const menuData: ({
|
|
2
|
+
name: string;
|
|
3
|
+
icon: string;
|
|
4
|
+
path: string;
|
|
5
|
+
children: ({
|
|
6
|
+
name: string;
|
|
7
|
+
path: string;
|
|
8
|
+
} | {
|
|
9
|
+
name: string;
|
|
10
|
+
path?: undefined;
|
|
11
|
+
})[];
|
|
12
|
+
authority?: undefined;
|
|
13
|
+
} | {
|
|
14
|
+
name: string;
|
|
15
|
+
icon: string;
|
|
16
|
+
path: string;
|
|
17
|
+
children: ({
|
|
18
|
+
name: string;
|
|
19
|
+
path: string;
|
|
20
|
+
authority?: undefined;
|
|
21
|
+
} | {
|
|
22
|
+
name: string;
|
|
23
|
+
authority: string;
|
|
24
|
+
path?: undefined;
|
|
25
|
+
})[];
|
|
26
|
+
authority?: undefined;
|
|
27
|
+
} | {
|
|
28
|
+
name: string;
|
|
29
|
+
icon: string;
|
|
30
|
+
path: string;
|
|
31
|
+
children: ({
|
|
32
|
+
name: string;
|
|
33
|
+
path: string;
|
|
34
|
+
children?: undefined;
|
|
35
|
+
} | {
|
|
36
|
+
name: string;
|
|
37
|
+
children: {
|
|
38
|
+
name: string;
|
|
39
|
+
path: string;
|
|
40
|
+
}[];
|
|
41
|
+
path?: undefined;
|
|
42
|
+
})[];
|
|
43
|
+
authority?: undefined;
|
|
44
|
+
} | {
|
|
45
|
+
name: string;
|
|
46
|
+
icon: string;
|
|
47
|
+
path: string;
|
|
48
|
+
children: ({
|
|
49
|
+
name: string;
|
|
50
|
+
authority?: undefined;
|
|
51
|
+
} | {
|
|
52
|
+
name: string;
|
|
53
|
+
authority: string;
|
|
54
|
+
})[];
|
|
55
|
+
authority?: undefined;
|
|
56
|
+
} | {
|
|
57
|
+
name: string;
|
|
58
|
+
path: string;
|
|
59
|
+
children: ({
|
|
60
|
+
name: string;
|
|
61
|
+
path: string;
|
|
62
|
+
hideInMenu?: undefined;
|
|
63
|
+
} | {
|
|
64
|
+
name: string;
|
|
65
|
+
path: string;
|
|
66
|
+
hideInMenu: boolean;
|
|
67
|
+
})[];
|
|
68
|
+
icon?: undefined;
|
|
69
|
+
authority?: undefined;
|
|
70
|
+
} | {
|
|
71
|
+
name: string;
|
|
72
|
+
icon: string;
|
|
73
|
+
path: string;
|
|
74
|
+
authority: string;
|
|
75
|
+
children: {
|
|
76
|
+
name: string;
|
|
77
|
+
path: string;
|
|
78
|
+
}[];
|
|
79
|
+
})[];
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.menuData = void 0;
|
|
4
|
+
exports.menuData = [
|
|
5
|
+
{
|
|
6
|
+
name: 'dashboard',
|
|
7
|
+
icon: 'dashboard',
|
|
8
|
+
path: 'dashboard',
|
|
9
|
+
children: [
|
|
10
|
+
{ name: 'analysis', path: 'analysis' },
|
|
11
|
+
{ name: 'monitor', path: 'monitor' },
|
|
12
|
+
{ name: 'workplace' },
|
|
13
|
+
],
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
name: 'form',
|
|
17
|
+
icon: 'form',
|
|
18
|
+
path: 'form',
|
|
19
|
+
children: [
|
|
20
|
+
{ name: 'basic-form', path: 'basic-form' },
|
|
21
|
+
{ name: 'step-form', path: 'step-form' },
|
|
22
|
+
{ name: 'admin', authority: 'admin' },
|
|
23
|
+
],
|
|
24
|
+
}, {
|
|
25
|
+
name: 'table',
|
|
26
|
+
icon: 'table',
|
|
27
|
+
path: 'list',
|
|
28
|
+
children: [
|
|
29
|
+
{ name: 'table-list', path: 'table-list' },
|
|
30
|
+
{ name: 'basic-list', path: 'basic-list' },
|
|
31
|
+
{ name: 'card-list', path: 'card-list' },
|
|
32
|
+
{
|
|
33
|
+
name: 'search',
|
|
34
|
+
children: [
|
|
35
|
+
{ name: 'articles', path: 'articles' },
|
|
36
|
+
{ name: 'projects', path: 'projects' },
|
|
37
|
+
{ name: 'applications', path: 'applications' },
|
|
38
|
+
],
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
}, {
|
|
42
|
+
name: 'profile',
|
|
43
|
+
icon: 'profile',
|
|
44
|
+
path: 'profile',
|
|
45
|
+
children: [
|
|
46
|
+
{ name: 'basic' },
|
|
47
|
+
{ name: 'advanced', authority: 'admin' },
|
|
48
|
+
],
|
|
49
|
+
}, {
|
|
50
|
+
name: 'check-circle-o',
|
|
51
|
+
path: 'result',
|
|
52
|
+
children: [
|
|
53
|
+
{ name: 'success', path: 'success' },
|
|
54
|
+
{ name: 'fail', path: 'fail' },
|
|
55
|
+
],
|
|
56
|
+
}, {
|
|
57
|
+
name: 'warning',
|
|
58
|
+
path: 'exception',
|
|
59
|
+
children: [
|
|
60
|
+
{ name: '403', path: '403' },
|
|
61
|
+
{ name: '404', path: '404' },
|
|
62
|
+
{ name: '500', path: '500' },
|
|
63
|
+
{ name: 'trigger', path: 'trigger', hideInMenu: true },
|
|
64
|
+
],
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
name: 'user',
|
|
68
|
+
icon: 'user',
|
|
69
|
+
path: 'user',
|
|
70
|
+
authority: 'guest',
|
|
71
|
+
children: [
|
|
72
|
+
{ name: 'login', path: 'login' },
|
|
73
|
+
{ name: 'register', path: 'register' },
|
|
74
|
+
{ name: 'register-result', path: 'register-result' },
|
|
75
|
+
],
|
|
76
|
+
},
|
|
77
|
+
];
|
|
78
|
+
//# sourceMappingURL=sample-menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sample-menu.js","sourceRoot":"","sources":["../../../src/__tests__/helpers/sample-menu.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG;IACpB;QACI,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE;YACtC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YACpC,EAAE,IAAI,EAAE,WAAW,EAAE;SACxB;KACJ;IACD;QACI,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE;YAC1C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE;YACxC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE;SACxC;KACJ,EAAE;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE;YAC1C,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE;YAC1C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE;YACxC;gBACI,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE;oBACN,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE;oBACtC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE;oBACtC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE;iBACjD;aACJ;SACJ;KACJ,EAAE;QACC,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,OAAO,EAAE;YACjB,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE;SAC3C;KACJ,EAAE;QACC,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YACpC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;SACjC;KACJ,EAAE;QACC,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;YAC5B,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;YAC5B,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;YAC5B,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE;SACzD;KACJ;IACD;QACI,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,OAAO;QAClB,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;YAChC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE;YACtC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE;SACvD;KACJ;CACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import 'jest';
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
const React = __importStar(require("react"));
|
|
26
|
+
const ReactDOMServer = __importStar(require("react-dom/server"));
|
|
27
|
+
const StaticRouter_1 = __importDefault(require("react-router/StaticRouter"));
|
|
28
|
+
const react_router_config_1 = require("react-router-config");
|
|
29
|
+
const connector_1 = require("../connector");
|
|
30
|
+
const server_1 = require("@cdm-logger/server");
|
|
31
|
+
const logger = server_1.ConsoleLogger.create('test', { level: 'trace' });
|
|
32
|
+
require("jest");
|
|
33
|
+
describe('integration', () => {
|
|
34
|
+
it('generates the same matches in renderRoutes and matchRoutes', () => {
|
|
35
|
+
const rendered = [];
|
|
36
|
+
const Comp = ({ match, route: { routes } }) => (rendered.push(match), react_router_config_1.renderRoutes(routes));
|
|
37
|
+
const genRoutes = [
|
|
38
|
+
{
|
|
39
|
+
['/ghost']: { component: Comp },
|
|
40
|
+
['/pepper']: { component: Comp, exact: false },
|
|
41
|
+
['/pepper/:type']: { component: Comp, exact: false },
|
|
42
|
+
['/pepper/:type/scoville']: { component: Comp, exact: false },
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
const result = [
|
|
46
|
+
{
|
|
47
|
+
path: '/ghost',
|
|
48
|
+
component: Comp,
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
path: '/pepper',
|
|
52
|
+
component: Comp,
|
|
53
|
+
exact: false,
|
|
54
|
+
routes: [
|
|
55
|
+
{
|
|
56
|
+
path: '/pepper/:type',
|
|
57
|
+
component: Comp,
|
|
58
|
+
exact: false,
|
|
59
|
+
routes: [
|
|
60
|
+
{
|
|
61
|
+
path: '/pepper/:type/scoville',
|
|
62
|
+
component: Comp,
|
|
63
|
+
exact: false,
|
|
64
|
+
},
|
|
65
|
+
],
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
},
|
|
69
|
+
];
|
|
70
|
+
const connector = new connector_1.Feature({ routeConfig: genRoutes });
|
|
71
|
+
const connectorRoutes = connector.getConfiguredRoutes();
|
|
72
|
+
expect(connectorRoutes).toMatchObject(result);
|
|
73
|
+
const pathname = '/pepper/jalepeno';
|
|
74
|
+
const branch = react_router_config_1.matchRoutes(connectorRoutes, pathname);
|
|
75
|
+
ReactDOMServer.renderToString(React.createElement(StaticRouter_1.default, { location: pathname, context: {} }, react_router_config_1.renderRoutes(connectorRoutes)));
|
|
76
|
+
expect(branch).toMatchSnapshot();
|
|
77
|
+
expect(branch.length).toEqual(2);
|
|
78
|
+
expect(rendered.length).toEqual(2);
|
|
79
|
+
expect(branch[0].match).toEqual(rendered[0]);
|
|
80
|
+
expect(branch[1].match).toEqual(rendered[1]);
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
//# sourceMappingURL=integrated-routes.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integrated-routes.test.js","sourceRoot":"","sources":["../../src/__tests__/integrated-routes.test.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,iEAAmD;AACnD,6EAAqD;AACrD,6DAAgE;AAChE,4CAAuC;AACvC,+CAA2E;AAE3E,MAAM,MAAM,GAAsB,sBAAa,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AACnF,gBAAc;AAEd,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QAClE,MAAM,QAAQ,GAAG,EAAE,CAAC;QAEpB,MAAM,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAC3C,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,kCAAY,CAAC,MAAM,CAAC,CAC7C,CAAC;QAEF,MAAM,SAAS,GAAG;YACd;gBACI,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;gBAC/B,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC9C,CAAC,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAG,KAAK,EAAE,KAAK,EAAC;gBACpD,CAAC,wBAAwB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;aAChE;SACJ,CAAC;QACF,MAAM,MAAM,GAAG;YACX;gBACI,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,IAAI;aAClB;YACD;gBACI,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE,IAAI;gBACf,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE;oBACJ;wBACI,IAAI,EAAE,eAAe;wBACrB,SAAS,EAAE,IAAI;wBACf,KAAK,EAAE,KAAK;wBACZ,MAAM,EAAE;4BACJ;gCACI,IAAI,EAAE,wBAAwB;gCAC9B,SAAS,EAAE,IAAI;gCACf,KAAK,EAAE,KAAK;6BACf;yBACJ;qBACJ;iBACJ;aACJ;SACJ,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,mBAAO,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1D,MAAM,eAAe,GAAG,SAAS,CAAC,mBAAmB,EAAE,CAAC;QACxD,MAAM,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QACpC,MAAM,MAAM,GAAG,iCAAW,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QACtD,cAAc,CAAC,cAAc,CACzB,oBAAC,sBAAY,IAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,IACxC,kCAAY,CAAC,eAAe,CAAC,CACnB,CAClB,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AAEP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
22
|
+
var t = {};
|
|
23
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
24
|
+
t[p] = s[p];
|
|
25
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
26
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
27
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
28
|
+
t[p[i]] = s[p[i]];
|
|
29
|
+
}
|
|
30
|
+
return t;
|
|
31
|
+
};
|
|
32
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
33
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
34
|
+
};
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.logger = void 0;
|
|
37
|
+
const React = __importStar(require("react"));
|
|
38
|
+
const ReactDOMServer = __importStar(require("react-dom/server"));
|
|
39
|
+
const react_router_1 = __importDefault(require("react-router"));
|
|
40
|
+
const react_router_config_1 = require("react-router-config");
|
|
41
|
+
const connector_1 = require("../connector");
|
|
42
|
+
const server_1 = require("@cdm-logger/server");
|
|
43
|
+
require("jest");
|
|
44
|
+
exports.logger = server_1.ConsoleLogger.create('test', { level: 'trace' });
|
|
45
|
+
const { StaticRouter } = react_router_1.default;
|
|
46
|
+
describe('renderRoutes', () => {
|
|
47
|
+
let renderedRoutes;
|
|
48
|
+
let renderedExtraProps;
|
|
49
|
+
const Comp = (_a) => {
|
|
50
|
+
var { route, route: { routes } } = _a, extraProps = __rest(_a, ["route", "route"]);
|
|
51
|
+
return (renderedRoutes.push(route),
|
|
52
|
+
renderedExtraProps.push(extraProps),
|
|
53
|
+
react_router_config_1.renderRoutes(routes));
|
|
54
|
+
};
|
|
55
|
+
beforeEach(() => {
|
|
56
|
+
renderedRoutes = [];
|
|
57
|
+
renderedExtraProps = [];
|
|
58
|
+
});
|
|
59
|
+
it('renders pathless routes', () => {
|
|
60
|
+
const routeToMatch = {
|
|
61
|
+
component: Comp,
|
|
62
|
+
};
|
|
63
|
+
const genRoutes = [
|
|
64
|
+
{
|
|
65
|
+
['super']: { component: Comp },
|
|
66
|
+
},
|
|
67
|
+
];
|
|
68
|
+
const routes = [routeToMatch];
|
|
69
|
+
const connector = new connector_1.Feature({ routeConfig: genRoutes });
|
|
70
|
+
ReactDOMServer.renderToString(React.createElement(StaticRouter, { location: "/path", context: {} }, react_router_config_1.renderRoutes(routes)));
|
|
71
|
+
expect(renderedRoutes.length).toEqual(1);
|
|
72
|
+
expect(renderedRoutes[0]).toEqual(routeToMatch);
|
|
73
|
+
});
|
|
74
|
+
// it('passes extraProps to the component rendered by a pathless route', () => {
|
|
75
|
+
// const routeToMatch = {
|
|
76
|
+
// component: Comp,
|
|
77
|
+
// };
|
|
78
|
+
// const routes = [routeToMatch];
|
|
79
|
+
// const extraProps = { anExtraProp: 'anExtraPropValue' };
|
|
80
|
+
// ReactDOMServer.renderToString(
|
|
81
|
+
// <StaticRouter location="/path" context={{}}>
|
|
82
|
+
// {renderRoutes(routes, extraProps)}
|
|
83
|
+
// </StaticRouter>,
|
|
84
|
+
// );
|
|
85
|
+
// expect(renderedExtraProps.length).toEqual(1);
|
|
86
|
+
// expect(renderedExtraProps[0].anExtraProp).toEqual('anExtraPropValue');
|
|
87
|
+
// });
|
|
88
|
+
});
|
|
89
|
+
//# sourceMappingURL=render-routes.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-routes.test.js","sourceRoot":"","sources":["../../src/__tests__/render-routes.test.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,iEAAmD;AACnD,gEAAkC;AAClC,6DAAgE;AAChE,4CAAuC;AACvC,+CAA2E;AAE3E,gBAAc;AAED,QAAA,MAAM,GAAsB,sBAAa,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AAC1F,MAAM,EAAE,YAAY,EAAE,GAAG,sBAAM,CAAC;AAEhC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAI,cAAc,CAAC;IACnB,IAAI,kBAAkB,CAAC;IACvB,MAAM,IAAI,GAAG,CAAC,EAA2C,EAAE,EAAE;YAA/C,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAiB,EAAZ,UAAU,cAAzC,kBAA2C,CAAF;QAAO,OAAA,CAC5D,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;YAC1B,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;YACnC,kCAAY,CAAC,MAAM,CAAC,CACrB,CAAA;KAAA,CAAC;IAEF,UAAU,CAAC,GAAG,EAAE;QACd,cAAc,GAAG,EAAE,CAAC;QACpB,kBAAkB,GAAG,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,YAAY,GAAG;YACnB,SAAS,EAAE,IAAI;SAChB,CAAC;QACF,MAAM,SAAS,GAAG;YAChB;gBACE,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;aAC/B;SACF,CAAC;QACF,MAAM,MAAM,GAAG,CAAC,YAAY,CAAC,CAAC;QAE9B,MAAM,SAAS,GAAG,IAAI,mBAAO,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;QAE1D,cAAc,CAAC,cAAc,CAC3B,oBAAC,YAAY,IAAC,QAAQ,EAAC,OAAO,EAAC,OAAO,EAAE,EAAE,IACvC,kCAAY,CAAC,MAAa,CAAC,CACf,CAChB,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,gFAAgF;IAChF,6BAA6B;IAC7B,2BAA2B;IAC3B,SAAS;IACT,qCAAqC;IACrC,8DAA8D;IAE9D,qCAAqC;IACrC,uDAAuD;IACvD,iDAAiD;IACjD,2BAA2B;IAC3B,SAAS;IACT,oDAAoD;IACpD,6EAA6E;IAC7E,MAAM;AACR,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { AbstractFeature, IModuleShape } from '@common-stack/client-core';
|
|
3
|
+
import { IReactFeature, IReactModuleShape } from '../interfaces';
|
|
4
|
+
declare type FeatureParam = IModuleShape & IReactModuleShape;
|
|
5
|
+
export declare abstract class BaseFeature extends AbstractFeature implements IReactFeature {
|
|
6
|
+
componentFillPlugins: any;
|
|
7
|
+
routerFactory: any;
|
|
8
|
+
route: any;
|
|
9
|
+
routeConfig: any;
|
|
10
|
+
menuConfig: any;
|
|
11
|
+
authWrapper: (ele: React.ReactElement, props: Record<string, any>) => void;
|
|
12
|
+
constructor(feature?: FeatureParam, ...features: FeatureParam[]);
|
|
13
|
+
protected abstract renderRoutes: any;
|
|
14
|
+
protected abstract renderRoutes2: any;
|
|
15
|
+
/**
|
|
16
|
+
* Get the routes
|
|
17
|
+
* @deprecated
|
|
18
|
+
*/
|
|
19
|
+
getRoutes(searchPath?: any): any;
|
|
20
|
+
/**
|
|
21
|
+
* Get the routes
|
|
22
|
+
* @param searchPath
|
|
23
|
+
*/
|
|
24
|
+
getRoutes2(searchPath?: any): JSX.Element;
|
|
25
|
+
/**
|
|
26
|
+
* Get menus
|
|
27
|
+
* @deprecated
|
|
28
|
+
*/
|
|
29
|
+
getMenus(sortByPriority?: boolean): any;
|
|
30
|
+
/**
|
|
31
|
+
* get configured routes.
|
|
32
|
+
* Note: It overwrites the any duplicate key with latest loaded key.
|
|
33
|
+
* TODO: Find a way to warn when there are duplicate keys.
|
|
34
|
+
*/
|
|
35
|
+
getConfiguredRoutes(searchPath?: string): any;
|
|
36
|
+
/**
|
|
37
|
+
* get configured menus.
|
|
38
|
+
* Note: It overwrites the any duplicate key with latest loaded key.
|
|
39
|
+
* TODO: Find a way to warn when there are duplicate keys.
|
|
40
|
+
*/
|
|
41
|
+
getConfiguredMenus(searchPath?: string): import("../interfaces").IMenuItem[];
|
|
42
|
+
get navItems(): any;
|
|
43
|
+
get navItemsRight(): any;
|
|
44
|
+
getWrappedRoot(root: React.ReactNode, req?: any): React.ReactNode;
|
|
45
|
+
getDataRoot(root: any): any;
|
|
46
|
+
registerLanguages(monaco: any): void;
|
|
47
|
+
private registerComponentFillPlugins;
|
|
48
|
+
getComponentFillPlugins(): import("../plugin-area").WorbenchExtension[];
|
|
49
|
+
private sortMenusByPriority;
|
|
50
|
+
private sortMenus;
|
|
51
|
+
}
|
|
52
|
+
export {};
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.BaseFeature = void 0;
|
|
23
|
+
const React = __importStar(require("react"));
|
|
24
|
+
const client_core_1 = require("@common-stack/client-core");
|
|
25
|
+
const get_menus_1 = require("../route/old/get-menus");
|
|
26
|
+
const get_routes_1 = require("../route/get-routes");
|
|
27
|
+
const route_1 = require("../route");
|
|
28
|
+
const lodash_1 = require("lodash");
|
|
29
|
+
const plugin_area_1 = require("../plugin-area");
|
|
30
|
+
const combine = (features, extractor) => lodash_1.without(lodash_1.union(...lodash_1.map(features, res => lodash_1.castArray(extractor(res)))), undefined);
|
|
31
|
+
const getFirst = (features, extractor) => extractor(lodash_1.find(features, (res) => extractor(res)) || {});
|
|
32
|
+
class BaseFeature extends client_core_1.AbstractFeature {
|
|
33
|
+
constructor(feature,
|
|
34
|
+
// tslint:disable:trailing-comma
|
|
35
|
+
...features) {
|
|
36
|
+
super(feature, ...features);
|
|
37
|
+
this.sortMenusByPriority = (menus) => {
|
|
38
|
+
return lodash_1.sortBy(menus, (obj) => parseInt(obj.priority, 10));
|
|
39
|
+
};
|
|
40
|
+
this.sortMenus = (sortByPriority, menus) => {
|
|
41
|
+
if (sortByPriority) {
|
|
42
|
+
const menuData = this.sortMenusByPriority(menus);
|
|
43
|
+
return menuData.map(menu => {
|
|
44
|
+
return Object.assign(Object.assign({}, menu), { children: menu.children && this.sortMenus(sortByPriority, menu.children) });
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
return menus;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
// this.logger = makeLogger(Feature.name);
|
|
52
|
+
// Navigation
|
|
53
|
+
this.routerFactory = combine(arguments, (arg) => arg.routerFactory)
|
|
54
|
+
.slice(-1)
|
|
55
|
+
.pop();
|
|
56
|
+
this.route = combine(arguments, (arg) => arg.route);
|
|
57
|
+
this.routeConfig = combine(arguments, (arg) => arg.routeConfig);
|
|
58
|
+
this.menuConfig = combine(arguments, (arg) => arg.menuConfig);
|
|
59
|
+
this.componentFillPlugins = this.registerComponentFillPlugins(combine(arguments, (arg) => arg.componentFillPlugins));
|
|
60
|
+
this.authWrapper = getFirst(arguments, (arg) => arg.authWrapper);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Get the routes
|
|
64
|
+
* @deprecated
|
|
65
|
+
*/
|
|
66
|
+
getRoutes(searchPath) {
|
|
67
|
+
const configuredRoutes = this.getConfiguredRoutes(searchPath);
|
|
68
|
+
const solidRoutes = this.route.map((component, idx) => React.cloneElement(component, { key: component.props.path }));
|
|
69
|
+
return this.renderRoutes(configuredRoutes, solidRoutes);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Get the routes
|
|
73
|
+
* @param searchPath
|
|
74
|
+
*/
|
|
75
|
+
getRoutes2(searchPath) {
|
|
76
|
+
const configuredRoutes = this.getConfiguredRoutes(searchPath);
|
|
77
|
+
return route_1.renderRoutes2({ routes: configuredRoutes });
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Get menus
|
|
81
|
+
* @deprecated
|
|
82
|
+
*/
|
|
83
|
+
getMenus(sortByPriority = true) {
|
|
84
|
+
const menus = this.getConfiguredMenus();
|
|
85
|
+
return this.sortMenus(sortByPriority, menus);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* get configured routes.
|
|
89
|
+
* Note: It overwrites the any duplicate key with latest loaded key.
|
|
90
|
+
* TODO: Find a way to warn when there are duplicate keys.
|
|
91
|
+
*/
|
|
92
|
+
getConfiguredRoutes(searchPath = '/') {
|
|
93
|
+
return get_routes_1.getSortedRoutes(searchPath, Object.assign({}, ...this.routeConfig), this.authWrapper);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* get configured menus.
|
|
97
|
+
* Note: It overwrites the any duplicate key with latest loaded key.
|
|
98
|
+
* TODO: Find a way to warn when there are duplicate keys.
|
|
99
|
+
*/
|
|
100
|
+
getConfiguredMenus(searchPath = '/') {
|
|
101
|
+
const routes = Object.assign({}, ...this.menuConfig);
|
|
102
|
+
return get_menus_1.getMenus(searchPath, Object.assign({}, routes));
|
|
103
|
+
}
|
|
104
|
+
get navItems() {
|
|
105
|
+
return this.navItem.map((component, idx) => React.cloneElement(component, {
|
|
106
|
+
key: component.key ? component.key : idx + this.navItem.length,
|
|
107
|
+
}));
|
|
108
|
+
}
|
|
109
|
+
get navItemsRight() {
|
|
110
|
+
return this.navItemsRight.map((component, idx) => React.cloneElement(component, {
|
|
111
|
+
key: component.key ? component.key : idx + this.navItems.length,
|
|
112
|
+
}));
|
|
113
|
+
}
|
|
114
|
+
getWrappedRoot(root, req) {
|
|
115
|
+
let nestedRoot = root;
|
|
116
|
+
for (const componentFactory of this.rootComponentFactory) {
|
|
117
|
+
nestedRoot = React.cloneElement(componentFactory(req), {}, nestedRoot);
|
|
118
|
+
}
|
|
119
|
+
return nestedRoot;
|
|
120
|
+
}
|
|
121
|
+
getDataRoot(root) {
|
|
122
|
+
let nestedRoot = root;
|
|
123
|
+
for (const component of this.dataRootComponent) {
|
|
124
|
+
nestedRoot = React.createElement(component, {}, nestedRoot);
|
|
125
|
+
}
|
|
126
|
+
return nestedRoot;
|
|
127
|
+
}
|
|
128
|
+
registerLanguages(monaco) {
|
|
129
|
+
for (const func of this.languagesFuncs) {
|
|
130
|
+
func(monaco);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
registerComponentFillPlugins(plugins) {
|
|
134
|
+
plugins.forEach((i) => {
|
|
135
|
+
const { name } = i;
|
|
136
|
+
const isFound = !!plugin_area_1.getPlugin(name);
|
|
137
|
+
if (!isFound) {
|
|
138
|
+
plugin_area_1.registerPlugin(name, i);
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
return plugins;
|
|
142
|
+
}
|
|
143
|
+
getComponentFillPlugins() {
|
|
144
|
+
return plugin_area_1.getPlugins();
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
exports.BaseFeature = BaseFeature;
|
|
148
|
+
//# sourceMappingURL=base-connector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-connector.js","sourceRoot":"","sources":["../../src/connector/base-connector.tsx"],"names":[],"mappings":"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"}
|