@intuitionrobotics/thunderstorm 0.47.1 → 0.47.3
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/app-backend/core/Storm.d.ts +3 -2
- package/app-backend/core/Storm.js +12 -4
- package/app-backend/core/Storm.js.map +1 -1
- package/app-backend/modules/proxy/RemoteProxyCaller.d.ts +2 -2
- package/app-frontend/components/Overlay.d.ts +2 -1
- package/app-frontend/components/Overlay.js.map +1 -1
- package/app-frontend/modules/dialog/Dialog.d.ts +1 -1
- package/app-frontend/modules/routing/route.d.ts +6 -6
- package/app-frontend/modules/routing/route.js +0 -25
- package/app-frontend/modules/routing/route.js.map +1 -1
- package/app-frontend/tools/KeyboardListener.d.ts +1 -0
- package/app-frontend/tools/KeyboardListener.js.map +1 -1
- package/app-frontend/widgets/click-to-drag/ClickToDrag.d.ts +1 -0
- package/app-frontend/widgets/click-to-drag/ClickToDrag.js.map +1 -1
- package/frontend.d.ts +0 -1
- package/frontend.js +0 -1
- package/frontend.js.map +1 -1
- package/package.json +7 -8
- package/app-frontend/components/DropDown.d.ts +0 -56
- package/app-frontend/components/DropDown.js +0 -219
- package/app-frontend/components/DropDown.js.map +0 -1
|
@@ -12,11 +12,12 @@ export declare class Storm extends BaseStorm {
|
|
|
12
12
|
private readonly httpServer;
|
|
13
13
|
private logClient;
|
|
14
14
|
private onDestroy?;
|
|
15
|
-
private
|
|
15
|
+
private onStart?;
|
|
16
16
|
constructor(_express?: Express);
|
|
17
|
-
getExecutionId(): string;
|
|
18
17
|
setLogClient(logClient: LogClient): this;
|
|
18
|
+
getLogClient(): LogClient;
|
|
19
19
|
setOnDestroy(onDestroy?: () => Promise<void>): this;
|
|
20
|
+
setOnStart(onStart?: () => Promise<void>): this;
|
|
20
21
|
static getInstance(): Storm;
|
|
21
22
|
getHttpServer(): HttpServer_Class;
|
|
22
23
|
init(): this;
|
|
@@ -37,19 +37,22 @@ class Storm extends BaseStorm_1.BaseStorm {
|
|
|
37
37
|
this.express = _express || express();
|
|
38
38
|
this.httpServer = new HttpServer_1.HttpServer_Class(this.express);
|
|
39
39
|
this.addModules(this.httpServer, backend_1.FirebaseModule);
|
|
40
|
-
this.executionId = (0, ts_common_1.generateHex)(32);
|
|
41
|
-
}
|
|
42
|
-
getExecutionId() {
|
|
43
|
-
return this.executionId;
|
|
44
40
|
}
|
|
45
41
|
setLogClient(logClient) {
|
|
46
42
|
this.logClient = logClient;
|
|
47
43
|
return this;
|
|
48
44
|
}
|
|
45
|
+
getLogClient() {
|
|
46
|
+
return this.logClient;
|
|
47
|
+
}
|
|
49
48
|
setOnDestroy(onDestroy) {
|
|
50
49
|
this.onDestroy = onDestroy;
|
|
51
50
|
return this;
|
|
52
51
|
}
|
|
52
|
+
setOnStart(onStart) {
|
|
53
|
+
this.onStart = onStart;
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
53
56
|
static getInstance() {
|
|
54
57
|
return Storm.instance;
|
|
55
58
|
}
|
|
@@ -81,6 +84,11 @@ class Storm extends BaseStorm_1.BaseStorm {
|
|
|
81
84
|
startServer(onStarted) {
|
|
82
85
|
const modulesAsFunction = this.modules.filter((module) => module instanceof backend_functions_1.FirebaseFunction);
|
|
83
86
|
const firebaseExpressFunction = new backend_functions_1.Firebase_ExpressFunction(this.httpServer.express);
|
|
87
|
+
const _onStart = this.onStart;
|
|
88
|
+
if (_onStart) {
|
|
89
|
+
modulesAsFunction.forEach(func => func.addOnStart(_onStart));
|
|
90
|
+
firebaseExpressFunction.addOnStart(_onStart);
|
|
91
|
+
}
|
|
84
92
|
const _onDestroy = this.onDestroy;
|
|
85
93
|
if (_onDestroy) {
|
|
86
94
|
modulesAsFunction.forEach(func => func.addOnDestroy(_onDestroy));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Storm.js","sourceRoot":"","sources":["../../../src/main/app-backend/core/Storm.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAEH,iEAAmE;AACnE,
|
|
1
|
+
{"version":3,"file":"Storm.js","sourceRoot":"","sources":["../../../src/main/app-backend/core/Storm.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,10 +17,10 @@ export declare abstract class RemoteProxyCaller<Config extends RemoteServerConfi
|
|
|
17
17
|
protected executeGetRequestImpl: <Binder extends ApiWithQuery<U, R, P>, U extends string = Binder["url"], R = Binder["response"], P extends QueryParams = Binder["queryParams"]>(url: U, _params: P, _headers?: {
|
|
18
18
|
[key: string]: string;
|
|
19
19
|
} | undefined) => Promise<AxiosResponse<R, any>>;
|
|
20
|
-
protected executePostRequest: <Binder extends ApiWithBody<U,
|
|
20
|
+
protected executePostRequest: <Binder extends ApiWithBody<U, B, R>, U extends string = Binder["url"], R = Binder["response"], B = Binder["body"]>(url: U, body: B, _headers?: {
|
|
21
21
|
[key: string]: string;
|
|
22
22
|
} | undefined) => Promise<R>;
|
|
23
|
-
protected executePostRequestImpl: <Binder extends ApiWithBody<U,
|
|
23
|
+
protected executePostRequestImpl: <Binder extends ApiWithBody<U, B, R>, U extends string = Binder["url"], R = Binder["response"], B = Binder["body"]>(url: U, body: B, _headers?: {
|
|
24
24
|
[key: string]: string;
|
|
25
25
|
} | undefined) => Promise<AxiosResponse<R, any>>;
|
|
26
26
|
private executeRequest;
|
|
@@ -3,9 +3,10 @@ type Props = {
|
|
|
3
3
|
zIndex: number;
|
|
4
4
|
showOverlay: boolean;
|
|
5
5
|
onClickOverlay: (event: React.MouseEvent<HTMLDivElement>) => void;
|
|
6
|
+
children: React.ReactNode;
|
|
6
7
|
};
|
|
7
8
|
export declare class Overlay extends React.Component<Props> {
|
|
8
9
|
static defaultProps: Partial<Props>;
|
|
9
|
-
render(): React.ReactNode;
|
|
10
|
+
render(): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
|
|
10
11
|
}
|
|
11
12
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Overlay.js","sourceRoot":"","sources":["../../../src/main/app-frontend/components/Overlay.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAEH,+BAA+B;
|
|
1
|
+
{"version":3,"file":"Overlay.js","sourceRoot":"","sources":["../../../src/main/app-frontend/components/Overlay.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAEH,+BAA+B;AAU/B,MAAM,YAAY,GAAG,CAAC,MAAc,EAAiB,EAAE,CAAC,CAAC;IACxD,MAAM;IACN,QAAQ,EAAE,OAAO;IACjB,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;CACT,CAAC,CAAC;AACH,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IAC1C,MAAM;IACN,OAAO,EAAE,cAAc;CACvB,CAAC,CAAC;AAEH,MAAa,OACZ,SAAQ,KAAK,CAAC,SAAgB;IAM9B,MAAM;QACL,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW;YAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAE5B,OAAO;YACN,6BAAK,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAC9C,IAAI,CAAC,KAAK,CAAC,QAAQ,CACf;YACN,6BACC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAClD,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GACrC,CACA,CAAA;IACJ,CAAC;;AApBF,0BAqBC;AAlBO,oBAAY,GAAmB;IACrC,MAAM,EAAE,CAAC;CACT,CAAC"}
|
|
@@ -17,7 +17,7 @@ export declare class Dialog extends BaseComponent<Props, State> implements Dialo
|
|
|
17
17
|
__showDialog: (model?: Dialog_Model) => void;
|
|
18
18
|
render(): React.JSX.Element | null;
|
|
19
19
|
renderTitle: (title?: React.ReactNode) => "" | React.JSX.Element;
|
|
20
|
-
renderContent: (content: React.ReactNode) =>
|
|
20
|
+
renderContent: (content: React.ReactNode) => number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
|
|
21
21
|
renderButtons: (model: Dialog_Model) => "" | React.JSX.Element | null;
|
|
22
22
|
private onOverlayClicked;
|
|
23
23
|
}
|
|
@@ -5,15 +5,15 @@ export type RouteParams = {
|
|
|
5
5
|
export declare class RoutePath {
|
|
6
6
|
readonly key: string;
|
|
7
7
|
readonly path: string;
|
|
8
|
-
readonly exact: boolean;
|
|
9
8
|
readonly component: React.ComponentType<any> | string;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
exact: boolean;
|
|
10
|
+
logMessage?: string;
|
|
11
|
+
label?: string;
|
|
12
|
+
visible: () => boolean;
|
|
13
|
+
enabled?: () => boolean;
|
|
14
14
|
constructor(key: string, route: string, component: React.ComponentType<any> | string);
|
|
15
15
|
setLogMessage(logMessage: string): this;
|
|
16
|
-
setLabel(label:
|
|
16
|
+
setLabel(label: string): this;
|
|
17
17
|
setVisible(visible: () => boolean): this;
|
|
18
18
|
setEnabled(enabled: () => boolean): this;
|
|
19
19
|
setExact(exact: boolean): this;
|
|
@@ -1,24 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Thunderstorm is a full web app framework!
|
|
4
|
-
*
|
|
5
|
-
* Typescript & Express backend infrastructure that natively runs on firebase function
|
|
6
|
-
* Typescript & React frontend infrastructure
|
|
7
|
-
*
|
|
8
|
-
* Copyright (C) 2020 Intuition Robotics
|
|
9
|
-
*
|
|
10
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
11
|
-
* you may not use this file except in compliance with the License.
|
|
12
|
-
* You may obtain a copy of the License at
|
|
13
|
-
*
|
|
14
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
15
|
-
*
|
|
16
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
17
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
18
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
19
|
-
* See the License for the specific language governing permissions and
|
|
20
|
-
* limitations under the License.
|
|
21
|
-
*/
|
|
22
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
3
|
exports.defaultRouteNode = exports.defaultLinkNode = exports.defaultNavLinkNode = exports.RoutePath = void 0;
|
|
24
4
|
const React = require("react");
|
|
@@ -33,27 +13,22 @@ class RoutePath {
|
|
|
33
13
|
this.component = component;
|
|
34
14
|
}
|
|
35
15
|
setLogMessage(logMessage) {
|
|
36
|
-
// @ts-ignore
|
|
37
16
|
this.logMessage = logMessage;
|
|
38
17
|
return this;
|
|
39
18
|
}
|
|
40
19
|
setLabel(label) {
|
|
41
|
-
// @ts-ignore
|
|
42
20
|
this.label = label;
|
|
43
21
|
return this;
|
|
44
22
|
}
|
|
45
23
|
setVisible(visible) {
|
|
46
|
-
// @ts-ignore
|
|
47
24
|
this.visible = visible;
|
|
48
25
|
return this;
|
|
49
26
|
}
|
|
50
27
|
setEnabled(enabled) {
|
|
51
|
-
// @ts-ignore
|
|
52
28
|
this.enabled = enabled;
|
|
53
29
|
return this;
|
|
54
30
|
}
|
|
55
31
|
setExact(exact) {
|
|
56
|
-
// @ts-ignore
|
|
57
32
|
this.exact = exact;
|
|
58
33
|
return this;
|
|
59
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../src/main/app-frontend/modules/routing/route.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../src/main/app-frontend/modules/routing/route.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyboardListener.js","sourceRoot":"","sources":["../../../src/main/app-frontend/tools/KeyboardListener.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,+BAA+B;
|
|
1
|
+
{"version":3,"file":"KeyboardListener.js","sourceRoot":"","sources":["../../../src/main/app-frontend/tools/KeyboardListener.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,+BAA+B;AAW/B,MAAa,gBACZ,SAAQ,KAAK,CAAC,SAAY;IAD3B;;QAqBC,yBAAoB,GAAG,CAAC,CAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,uBAAuB,IAAI,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAEjJ,YAAO,GAAG,GAAG,EAAE;YACd,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC5C,CAAC,CAAC;QAEF,WAAM,GAAG,GAAG,EAAE;YACb,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1C,CAAC,CAAC;IAkBH,CAAC;IA5CQ,mBAAmB;;QAC1B,MAAM,uBAAuB,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC;QACnE,IAAI,CAAC,uBAAuB;YAC3B,OAAO;QAER,MAAA,IAAI,CAAC,IAAI,0CAAE,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAA;IAClE,CAAC;IAEO,sBAAsB;;QAC7B,MAAM,uBAAuB,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC;QACnE,IAAI,CAAC,uBAAuB;YAC3B,OAAO;QAER,MAAA,IAAI,CAAC,IAAI,0CAAE,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAA;IACrE,CAAC;IAcD,MAAM;QACL,OAAO,6BACN,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,EACpD,GAAG,EAAE,CAAC,IAAoB,EAAE,EAAE;gBAC7B,IAAI,IAAI,CAAC,IAAI;oBACZ,OAAO;gBAER,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC,EACD,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,MAAM,EAAE,IAAI,CAAC,MAAM,IAClB,IAAI,CAAC,KAAK,CAAC,QAAQ,CACf,CAAA;IACP,CAAC;CACD;AAjDD,4CAiDC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClickToDrag.js","sourceRoot":"","sources":["../../../../src/main/app-frontend/widgets/click-to-drag/ClickToDrag.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,4DAAuD;AACvD,+EAA0E;
|
|
1
|
+
{"version":3,"file":"ClickToDrag.js","sourceRoot":"","sources":["../../../../src/main/app-frontend/widgets/click-to-drag/ClickToDrag.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,4DAAuD;AACvD,+EAA0E;AAa1E,MAAa,WACZ,SAAQ,6BAA2B;IAEnC,YAAY,KAAY;QACvB,KAAK,CAAC,KAAK,CAAC,CAAC;QAMd,oBAAe,GAAG,GAAG,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,EAAC,UAAU,EAAE,IAAI,EAAC,CAAC,CAAC;QACnC,CAAC,CAAC;QAEF,gBAAW,GAAG,CAAC,CAAa,EAAE,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU;gBACzB,OAAO;YAER,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW;gBACzB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,cAAS,GAAG,CAAC,CAAa,EAAE,EAAE;YAC7B,IAAI,CAAC,QAAQ,CAAC,EAAC,UAAU,EAAE,KAAK,EAAC,CAAC,CAAC;YACnC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS;gBACvB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC;QAEF,WAAM,GAAG,GAAG,EAAE;YACb,OAAO,CACN,6BACC,KAAK,EAAE,EAAC,OAAO,EAAE,UAAU,EAAC,EAC5B,WAAW,EAAE,IAAI,CAAC,eAAe;gBAChC,IAAI,CAAC,KAAK,CAAC,QAAQ;gBACnB,IAAI,CAAC,aAAa,EAAE,CAChB,CACN,CAAA;QACF,CAAC,CAAC;QAEM,kBAAa,GAAG,GAAG,EAAE;YAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU;gBAC3B,oBAAC,yDAA2B,IAC3B,mBAAmB,EAAE,IAAI,CAAC,WAAW,EACrC,iBAAiB,EAAE,IAAI,CAAC,SAAS,EACjC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,GAC/B,CAAC;QACL,CAAC,CAAA;QAzCA,IAAI,CAAC,KAAK,GAAG;YACZ,UAAU,EAAE,KAAK;SACjB,CAAC;IACH,CAAC;CAuCD;AA/CD,kCA+CC"}
|
package/frontend.d.ts
CHANGED
|
@@ -28,7 +28,6 @@ export * from "./app-frontend/widgets/FieldEditorWithButtons";
|
|
|
28
28
|
export * from "./app-frontend/components/TS_Table";
|
|
29
29
|
export * from "./app-frontend/components/checkbox/TS_Checkbox";
|
|
30
30
|
export * from "./app-frontend/components/FilterInput";
|
|
31
|
-
export * from "./app-frontend/components/DropDown";
|
|
32
31
|
export * from "./app-frontend/components/form/types";
|
|
33
32
|
export * from "./app-frontend/components/form/Form";
|
|
34
33
|
export * from "./app-frontend/components/tree/MultiTypeAdaptor";
|
package/frontend.js
CHANGED
|
@@ -64,7 +64,6 @@ __exportStar(require("./app-frontend/widgets/FieldEditorWithButtons"), exports);
|
|
|
64
64
|
__exportStar(require("./app-frontend/components/TS_Table"), exports);
|
|
65
65
|
__exportStar(require("./app-frontend/components/checkbox/TS_Checkbox"), exports);
|
|
66
66
|
__exportStar(require("./app-frontend/components/FilterInput"), exports);
|
|
67
|
-
__exportStar(require("./app-frontend/components/DropDown"), exports);
|
|
68
67
|
__exportStar(require("./app-frontend/components/form/types"), exports);
|
|
69
68
|
__exportStar(require("./app-frontend/components/form/Form"), exports);
|
|
70
69
|
__exportStar(require("./app-frontend/components/tree/MultiTypeAdaptor"), exports);
|
package/frontend.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend.js","sourceRoot":"","sources":["../src/main/frontend.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;;;;;;;;;;;;;;AAEH,8DAA4C;AAC5C,sEAAoD;AACpD,yEAAuD;AAEvD,4EAAyD;AAEzD,yEAAuD;AACvD,6EAA2D;AAC3D,+EAA6D;AAC7D,+EAA6D;AAE7D,sEAAoD;AACpD,6EAA2D;AAE3D,sEAAoD;AACpD,uEAAqD;AACrD,4EAA0D;AAE1D,uEAAqD;AACrD,+EAA6D;AAE7D,yEAAuD;AACvD,uEAAqD;AACrD,4EAA0D;AAE1D,2EAAyD;AACzD,oEAAkD;AAClD,8DAA4C;AAC5C,iEAA+C;AAC/C,wEAAsD;AACtD,qEAAmD;AACnD,qEAAmD;AACnD,0EAAwD;AACxD,gFAA8D;AAC9D,qEAAmD;AACnD,iFAA+D;AAC/D,wEAAsD;
|
|
1
|
+
{"version":3,"file":"frontend.js","sourceRoot":"","sources":["../src/main/frontend.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;;;;;;;;;;;;;;AAEH,8DAA4C;AAC5C,sEAAoD;AACpD,yEAAuD;AAEvD,4EAAyD;AAEzD,yEAAuD;AACvD,6EAA2D;AAC3D,+EAA6D;AAC7D,+EAA6D;AAE7D,sEAAoD;AACpD,6EAA2D;AAE3D,sEAAoD;AACpD,uEAAqD;AACrD,4EAA0D;AAE1D,uEAAqD;AACrD,+EAA6D;AAE7D,yEAAuD;AACvD,uEAAqD;AACrD,4EAA0D;AAE1D,2EAAyD;AACzD,oEAAkD;AAClD,8DAA4C;AAC5C,iEAA+C;AAC/C,wEAAsD;AACtD,qEAAmD;AACnD,qEAAmD;AACnD,0EAAwD;AACxD,gFAA8D;AAC9D,qEAAmD;AACnD,iFAA+D;AAC/D,wEAAsD;AAEtD,uEAAqD;AACrD,sEAAoD;AAEpD,kFAAgE;AAChE,4EAA0D;AAC1D,iFAA+D;AAC/D,sEAAoD;AACpD,uEAAqD;AACrD,wFAAsE;AAEtE,+EAA6D;AAE7D,0EAAwD;AACxD,kFAAgE;AAEhE,iFAA+D;AAC/D,sFAAoE;AAEpE,sGAAoF;AACpF,yGAAuF;AAEvF,yEAAuD;AACvD,4EAA0D;AAC1D,wEAAsD;AACtD,yEAAuD;AACvD,uEAAqD;AAErD,wEAAsD;AACtD,gEAA8C;AAE9C,6DAA2C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intuitionrobotics/thunderstorm",
|
|
3
|
-
"version": "0.47.
|
|
3
|
+
"version": "0.47.3",
|
|
4
4
|
"description": "Thunderstorm",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"IR",
|
|
@@ -36,22 +36,21 @@
|
|
|
36
36
|
"csstype": "3.1.2",
|
|
37
37
|
"express": "^4.16.4",
|
|
38
38
|
"history": "^4.9.0",
|
|
39
|
-
"react": "^
|
|
40
|
-
"react-dom": "^
|
|
39
|
+
"react": "^18.0.0",
|
|
40
|
+
"react-dom": "^18.0.0",
|
|
41
41
|
"react-router-dom": "^5.1.2",
|
|
42
|
-
"react-select": "^
|
|
42
|
+
"react-select": "^5.0.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@intuitionrobotics/testelot": "~0.47.0",
|
|
46
46
|
"@types/compression": "^1.7.0",
|
|
47
47
|
"@types/express": "^4.16.1",
|
|
48
48
|
"@types/history": "^4.7.2",
|
|
49
|
-
"@types/node": "^
|
|
50
|
-
"@types/react": "^
|
|
51
|
-
"@types/react-dom": "^
|
|
49
|
+
"@types/node": "^20.0.0",
|
|
50
|
+
"@types/react": "^18.0.0",
|
|
51
|
+
"@types/react-dom": "^18.0.0",
|
|
52
52
|
"@types/react-router": "^5.1.4",
|
|
53
53
|
"@types/react-router-dom": "^5.1.3",
|
|
54
|
-
"@types/react-select": "^4.0.0",
|
|
55
54
|
"ts-node": "^9.1.1",
|
|
56
55
|
"tslint": "^5.16.0",
|
|
57
56
|
"typescript": "^5.3.0"
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { Adapter } from "./adapter/Adapter";
|
|
3
|
-
import { Stylable } from '../tools/Stylable';
|
|
4
|
-
export declare const headerStyle: React.CSSProperties;
|
|
5
|
-
export declare const inputStyle: React.CSSProperties;
|
|
6
|
-
export declare const listStyle: React.CSSProperties;
|
|
7
|
-
export type InputProps = Stylable & {
|
|
8
|
-
placeholder?: string;
|
|
9
|
-
};
|
|
10
|
-
export type State<ItemType> = {
|
|
11
|
-
id: string;
|
|
12
|
-
filteredOptions: ItemType[];
|
|
13
|
-
adapter: Adapter;
|
|
14
|
-
open: boolean;
|
|
15
|
-
selected?: ItemType;
|
|
16
|
-
hover?: ItemType;
|
|
17
|
-
filterTextLength?: number;
|
|
18
|
-
};
|
|
19
|
-
type StaticProps = {
|
|
20
|
-
id: string;
|
|
21
|
-
headerStylable: Stylable;
|
|
22
|
-
listStylable: Stylable;
|
|
23
|
-
inputStylable: InputProps;
|
|
24
|
-
};
|
|
25
|
-
export type Props_DropDown<ItemType> = StaticProps & {
|
|
26
|
-
adapter: Adapter;
|
|
27
|
-
onSelected: (selected: ItemType) => void;
|
|
28
|
-
selected?: ItemType;
|
|
29
|
-
filter?: (item: ItemType) => string[];
|
|
30
|
-
onFilter?: (list?: ItemType[]) => void;
|
|
31
|
-
inputEventHandler?: (state: State<ItemType>, e: KeyboardEvent) => State<ItemType>;
|
|
32
|
-
selectedItemRenderer?: (props?: ItemType) => React.ReactNode;
|
|
33
|
-
caret?: {
|
|
34
|
-
open: React.ReactNode;
|
|
35
|
-
close: React.ReactNode;
|
|
36
|
-
};
|
|
37
|
-
autocomplete?: boolean;
|
|
38
|
-
disabled?: boolean;
|
|
39
|
-
};
|
|
40
|
-
export declare class DropDown<ItemType> extends React.Component<Props_DropDown<ItemType>, State<ItemType>> {
|
|
41
|
-
static defaultProps: Partial<StaticProps>;
|
|
42
|
-
constructor(props: Props_DropDown<ItemType>);
|
|
43
|
-
componentDidUpdate(prevProps: Props_DropDown<any>): void;
|
|
44
|
-
private static cloneAdapter;
|
|
45
|
-
toggleList: (e: React.MouseEvent) => void;
|
|
46
|
-
onSelected: (item: ItemType) => void;
|
|
47
|
-
render(): React.JSX.Element;
|
|
48
|
-
private renderHeader;
|
|
49
|
-
private renderTree;
|
|
50
|
-
private keyEventHandler;
|
|
51
|
-
private renderSelectedOrFilterInput;
|
|
52
|
-
private renderSelectedItem;
|
|
53
|
-
private renderCaret;
|
|
54
|
-
private renderTreeImpl;
|
|
55
|
-
}
|
|
56
|
-
export {};
|
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Thunderstorm is a full web app framework!
|
|
4
|
-
*
|
|
5
|
-
* Typescript & Express backend infrastructure that natively runs on firebase function
|
|
6
|
-
* Typescript & React frontend infrastructure
|
|
7
|
-
*
|
|
8
|
-
* Copyright (C) 2020 Intuition Robotics
|
|
9
|
-
*
|
|
10
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
11
|
-
* you may not use this file except in compliance with the License.
|
|
12
|
-
* You may obtain a copy of the License at
|
|
13
|
-
*
|
|
14
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
15
|
-
*
|
|
16
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
17
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
18
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
19
|
-
* See the License for the specific language governing permissions and
|
|
20
|
-
* limitations under the License.
|
|
21
|
-
*/
|
|
22
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
-
exports.DropDown = exports.listStyle = exports.inputStyle = exports.headerStyle = void 0;
|
|
24
|
-
const React = require("react");
|
|
25
|
-
const FilterInput_1 = require("./FilterInput");
|
|
26
|
-
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
27
|
-
const KeyboardListener_1 = require("../tools/KeyboardListener");
|
|
28
|
-
const tools_1 = require("../utils/tools");
|
|
29
|
-
const Adapter_1 = require("./adapter/Adapter");
|
|
30
|
-
const Tree_1 = require("./tree/Tree");
|
|
31
|
-
const Overlay_1 = require("./Overlay");
|
|
32
|
-
const defaultWidth = "222px";
|
|
33
|
-
const defaultTitleHeight = "28px";
|
|
34
|
-
const defaultListHeight = "150px";
|
|
35
|
-
// export enum OnEnterOptions {
|
|
36
|
-
// SelectFirstOption= (e:)
|
|
37
|
-
// }
|
|
38
|
-
const wrapperStyle = {
|
|
39
|
-
display: "inline-block",
|
|
40
|
-
position: 'relative'
|
|
41
|
-
};
|
|
42
|
-
exports.headerStyle = {
|
|
43
|
-
display: "flex",
|
|
44
|
-
alignItems: "center",
|
|
45
|
-
boxSizing: "border-box",
|
|
46
|
-
position: "relative",
|
|
47
|
-
border: "solid 1px",
|
|
48
|
-
borderRadius: 2,
|
|
49
|
-
color: "black",
|
|
50
|
-
backgroundColor: "white",
|
|
51
|
-
width: defaultWidth,
|
|
52
|
-
height: defaultTitleHeight,
|
|
53
|
-
};
|
|
54
|
-
exports.inputStyle = {
|
|
55
|
-
border: "unset",
|
|
56
|
-
boxSizing: "border-box",
|
|
57
|
-
outline: "none",
|
|
58
|
-
// padding: "0 5px",
|
|
59
|
-
width: "100%",
|
|
60
|
-
};
|
|
61
|
-
const listContainerStyle = {
|
|
62
|
-
display: "inline-block",
|
|
63
|
-
position: "absolute",
|
|
64
|
-
zIndex: 10,
|
|
65
|
-
};
|
|
66
|
-
exports.listStyle = {
|
|
67
|
-
boxSizing: "border-box",
|
|
68
|
-
backgroundColor: "whitesmoke",
|
|
69
|
-
border: "solid 1px",
|
|
70
|
-
borderRadius: 5,
|
|
71
|
-
display: "flex",
|
|
72
|
-
flexFlow: "column",
|
|
73
|
-
alignItems: "stretch",
|
|
74
|
-
maxHeight: defaultListHeight,
|
|
75
|
-
overflowX: "hidden",
|
|
76
|
-
overflowY: "auto",
|
|
77
|
-
position: "relative",
|
|
78
|
-
top: 5,
|
|
79
|
-
width: defaultWidth,
|
|
80
|
-
};
|
|
81
|
-
class DropDown extends React.Component {
|
|
82
|
-
constructor(props) {
|
|
83
|
-
super(props);
|
|
84
|
-
this.toggleList = (e) => {
|
|
85
|
-
if (this.props.disabled)
|
|
86
|
-
return;
|
|
87
|
-
(0, tools_1.stopPropagation)(e);
|
|
88
|
-
this.setState(prevState => ({ open: !prevState.open }));
|
|
89
|
-
};
|
|
90
|
-
this.onSelected = (item) => {
|
|
91
|
-
this.setState({
|
|
92
|
-
open: false,
|
|
93
|
-
selected: item
|
|
94
|
-
});
|
|
95
|
-
this.props.onSelected(item);
|
|
96
|
-
};
|
|
97
|
-
this.renderHeader = () => {
|
|
98
|
-
return (React.createElement("div", Object.assign({ id: `${this.props.id}-header`, onClick: this.toggleList }, this.props.headerStylable),
|
|
99
|
-
this.renderSelectedOrFilterInput(),
|
|
100
|
-
this.renderCaret()));
|
|
101
|
-
};
|
|
102
|
-
this.renderTree = () => {
|
|
103
|
-
if (!this.state.open)
|
|
104
|
-
return;
|
|
105
|
-
if (this.props.autocomplete && !this.state.filterTextLength)
|
|
106
|
-
return;
|
|
107
|
-
this.props.adapter.data = this.state.filteredOptions;
|
|
108
|
-
return React.createElement("div", { style: listContainerStyle },
|
|
109
|
-
React.createElement("div", Object.assign({}, this.props.listStylable), this.renderTreeImpl()));
|
|
110
|
-
};
|
|
111
|
-
this.keyEventHandler = (node, e) => {
|
|
112
|
-
var _a;
|
|
113
|
-
if (this.props.inputEventHandler)
|
|
114
|
-
return this.setState(() => {
|
|
115
|
-
const state = this.props.inputEventHandler ? this.props.inputEventHandler(this.state, e) : this.state;
|
|
116
|
-
return state;
|
|
117
|
-
});
|
|
118
|
-
if (e.code === "Enter" && this.state.filteredOptions)
|
|
119
|
-
return this.onSelected(this.state.filteredOptions[0]);
|
|
120
|
-
if (e.code === "Escape")
|
|
121
|
-
return this.setState({ open: false });
|
|
122
|
-
if (e.code === "ArrowDown") {
|
|
123
|
-
return (_a = document.getElementById(`${this.props.id}-tree-listener`)) === null || _a === void 0 ? void 0 : _a.focus();
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
|
-
this.renderSelectedOrFilterInput = () => {
|
|
127
|
-
if (!this.state.open || !this.props.filter) {
|
|
128
|
-
return (React.createElement("div", { className: 'match_width' }, this.renderSelectedItem(this.state.selected)));
|
|
129
|
-
}
|
|
130
|
-
return React.createElement(FilterInput_1.FilterInput, Object.assign({ key: this.state.id, id: `${this.props.id}-input`, filter: this.props.filter, list: this.props.adapter.data, onChange: (filteredOptions, filterBy) => {
|
|
131
|
-
this.setState(state => {
|
|
132
|
-
state.adapter.data = this.props.autocomplete && this.props.filter && !filterBy.length ? [] : filteredOptions;
|
|
133
|
-
console.log(`filter: ${this.props.id} (${filterBy}) -> ${(0, ts_common_1.__stringify)(filteredOptions)}`);
|
|
134
|
-
console.log(`state.adapter.data: ${(0, ts_common_1.__stringify)(state.adapter.data)}`);
|
|
135
|
-
return {
|
|
136
|
-
adapter: state.adapter,
|
|
137
|
-
filterTextLength: filterBy.length
|
|
138
|
-
};
|
|
139
|
-
}, () => this.props.onFilter && this.props.onFilter(this.state.filteredOptions));
|
|
140
|
-
}, handleKeyEvent: (e) => {
|
|
141
|
-
return;
|
|
142
|
-
}, focus: true }, this.props.inputStylable));
|
|
143
|
-
};
|
|
144
|
-
this.renderSelectedItem = (selected) => {
|
|
145
|
-
if (this.props.selectedItemRenderer)
|
|
146
|
-
return this.props.selectedItemRenderer(selected);
|
|
147
|
-
if (selected === undefined)
|
|
148
|
-
return React.createElement("div", null, this.props.inputStylable.placeholder);
|
|
149
|
-
const Renderer = this.props.adapter.treeNodeRenderer;
|
|
150
|
-
const node = {
|
|
151
|
-
propKey: 'string',
|
|
152
|
-
path: 'string',
|
|
153
|
-
item: 'any',
|
|
154
|
-
adapter: this.props.adapter,
|
|
155
|
-
expandToggler: (e, expxand) => {
|
|
156
|
-
},
|
|
157
|
-
onClick: (e) => {
|
|
158
|
-
},
|
|
159
|
-
onFocus: (e) => {
|
|
160
|
-
},
|
|
161
|
-
expanded: true,
|
|
162
|
-
focused: false,
|
|
163
|
-
selected: true
|
|
164
|
-
};
|
|
165
|
-
return React.createElement(Renderer, { item: selected, node: node });
|
|
166
|
-
};
|
|
167
|
-
this.renderCaret = () => {
|
|
168
|
-
const caret = this.props.caret;
|
|
169
|
-
if (!caret)
|
|
170
|
-
return;
|
|
171
|
-
return this.state.open ? caret.close : caret.open;
|
|
172
|
-
};
|
|
173
|
-
this.renderTreeImpl = () => {
|
|
174
|
-
const treeKeyEventHandler = treeKeyEventHandlerResolver(this.props.id);
|
|
175
|
-
const id = `${this.props.id}-tree`;
|
|
176
|
-
if ((!this.props.filter || !this.props.autocomplete || this.state.filterTextLength) && this.state.adapter.data.length === 0)
|
|
177
|
-
return React.createElement("div", { style: { textAlign: "center", opacity: 0.5 } }, "No options");
|
|
178
|
-
return React.createElement(Tree_1.Tree, { id: id, key: id, adapter: this.state.adapter, indentPx: 0, selectedItem: this.state.selected, onNodeClicked: (path, item) => this.onSelected(item), unMountFromOutside: () => this.setState({ open: false }), keyEventHandler: treeKeyEventHandler });
|
|
179
|
-
};
|
|
180
|
-
this.state = {
|
|
181
|
-
id: props.id,
|
|
182
|
-
filteredOptions: this.props.adapter.data,
|
|
183
|
-
adapter: DropDown.cloneAdapter(this.props),
|
|
184
|
-
open: false,
|
|
185
|
-
selected: this.props.selected,
|
|
186
|
-
};
|
|
187
|
-
}
|
|
188
|
-
componentDidUpdate(prevProps) {
|
|
189
|
-
if (this.props.adapter.data !== prevProps.adapter.data || this.props.selected !== prevProps.selected) {
|
|
190
|
-
const newAdapter = DropDown.cloneAdapter(this.props);
|
|
191
|
-
this.setState({ id: this.props.id, adapter: newAdapter, filteredOptions: newAdapter.data, selected: this.props.selected });
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
render() {
|
|
195
|
-
return (React.createElement(Overlay_1.Overlay, { showOverlay: this.state.open, onClickOverlay: () => this.setState({ open: false }) },
|
|
196
|
-
React.createElement(KeyboardListener_1.KeyboardListener, { onKeyboardEventListener: this.keyEventHandler },
|
|
197
|
-
React.createElement("div", { id: this.props.id, style: wrapperStyle },
|
|
198
|
-
this.renderHeader(),
|
|
199
|
-
this.renderTree()))));
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
exports.DropDown = DropDown;
|
|
203
|
-
DropDown.defaultProps = {
|
|
204
|
-
id: (0, ts_common_1.generateHex)(8),
|
|
205
|
-
headerStylable: { style: exports.headerStyle },
|
|
206
|
-
listStylable: { style: exports.listStyle },
|
|
207
|
-
inputStylable: { style: exports.inputStyle }
|
|
208
|
-
};
|
|
209
|
-
DropDown.cloneAdapter = (nextProps) => {
|
|
210
|
-
return nextProps.adapter.clone(new Adapter_1.Adapter(nextProps.autocomplete && nextProps.filter ? [] : nextProps.adapter.data));
|
|
211
|
-
};
|
|
212
|
-
const treeKeyEventHandlerResolver = (id) => {
|
|
213
|
-
return (node, e) => {
|
|
214
|
-
var _a;
|
|
215
|
-
if (!["Escape", "ArrowRight", "ArrowDown", "ArrowLeft", "ArrowUp", "Enter"].includes(e.code))
|
|
216
|
-
(_a = document.getElementById(`${id}-input`)) === null || _a === void 0 ? void 0 : _a.focus();
|
|
217
|
-
};
|
|
218
|
-
};
|
|
219
|
-
//# sourceMappingURL=DropDown.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DropDown.js","sourceRoot":"","sources":["../../../src/main/app-frontend/components/DropDown.tsx"],"names":[],"mappings":"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"}
|