@linkdlab/funcnodes_react_flow 0.1.5 → 0.1.6
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/data_text_javascript_base64_.index.js +22 -0
- package/dist/frontend/datarenderer/data_renderer_overlay.d.ts +0 -1
- package/dist/frontend/datarenderer/data_renderer_preview.d.ts +0 -1
- package/dist/frontend/datarenderer/rendermappings.d.ts +13 -2
- package/dist/frontend/node/body_data_renderer.d.ts +0 -1
- package/dist/frontend/node/io/handle_renderer.d.ts +0 -1
- package/dist/funcnodes/funcnodesworker.d.ts +8 -1
- package/dist/index.js +49 -9
- package/dist/states/fnrfzst.t.d.ts +5 -0
- package/package.json +1 -10
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
|
|
4
|
+
* This devtool is neither made for production nor for readable output files.
|
|
5
|
+
* It uses "eval()" calls to create a separate source file in the browser devtools.
|
|
6
|
+
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
7
|
+
* or disable the default devtool with "devtool: false".
|
|
8
|
+
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
9
|
+
*/
|
|
10
|
+
(self["webpackChunkModuleName"] = self["webpackChunkModuleName"] || []).push([["data_text_javascript_base64_"],{
|
|
11
|
+
|
|
12
|
+
/***/ "data:text/javascript;base64,":
|
|
13
|
+
/*!************************************!*\
|
|
14
|
+
!*** data:text/javascript;base64, ***!
|
|
15
|
+
\************************************/
|
|
16
|
+
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
17
|
+
|
|
18
|
+
eval("__webpack_require__.r(__webpack_exports__);\n\n\n//# sourceURL=webpack://ModuleName/data:text/javascript;base64,?");
|
|
19
|
+
|
|
20
|
+
/***/ })
|
|
21
|
+
|
|
22
|
+
}]);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { ReactElement } from "react";
|
|
2
2
|
import { IOType, InputRendererType } from "../../states/nodeio.t";
|
|
3
3
|
import RendererPlugin from "../../plugin/rendenderer";
|
|
4
|
+
import FuncNodesReactPlugin from "../../plugin";
|
|
4
5
|
type HandlePreviewRendererType = ({ io }: {
|
|
5
6
|
io: IOType;
|
|
6
7
|
}) => JSX.Element;
|
|
@@ -81,8 +82,11 @@ interface extend_from_plugin_action {
|
|
|
81
82
|
options?: DispatchOptions;
|
|
82
83
|
}
|
|
83
84
|
type renderMappingAction = extend_input_renderer_action | extend_handle_preview_renderer_action | extend_data_overlay_renderer_action | extend_data_preview_renderer_action | extend_data_view_renderer_action | extend_from_plugin_action;
|
|
84
|
-
declare const RenderMappingProvider: ({ children }: {
|
|
85
|
+
declare const RenderMappingProvider: ({ children, plugins, }: {
|
|
85
86
|
children: ReactElement;
|
|
87
|
+
plugins: {
|
|
88
|
+
[key: string]: FuncNodesReactPlugin;
|
|
89
|
+
};
|
|
86
90
|
}) => React.JSX.Element;
|
|
87
91
|
declare const RenderMappingContext: React.Context<{
|
|
88
92
|
Inputrenderer: {
|
|
@@ -107,5 +111,12 @@ declare const RenderMappingContext: React.Context<{
|
|
|
107
111
|
extendDataViewRenderMapping: (_type: string, _component: DataViewRendererType, _options: DispatchOptions) => void;
|
|
108
112
|
extendFromPlugin: (_plugin: RendererPlugin, _options: DispatchOptions) => void;
|
|
109
113
|
}>;
|
|
110
|
-
|
|
114
|
+
interface DynamicComponentLoaderProps<P> {
|
|
115
|
+
component: React.ComponentType<P>;
|
|
116
|
+
}
|
|
117
|
+
interface DynamicComponentLoaderProps<P> {
|
|
118
|
+
component: React.ComponentType<P>;
|
|
119
|
+
}
|
|
120
|
+
declare const DynamicComponentLoader: <P extends object>({ component: Component, ...props }: DynamicComponentLoaderProps<P> & P) => JSX.Element;
|
|
121
|
+
export { RenderMappingContext, RenderMappingProvider, DynamicComponentLoader };
|
|
111
122
|
export type { RenderMappingState, extend_input_renderer_action, extend_handle_preview_renderer_action, extend_data_overlay_renderer_action, extend_data_preview_renderer_action, extend_data_view_renderer_action, extend_from_plugin_action, renderMappingAction, HandlePreviewRendererType, DataOverlayRendererType, DataPreviewViewRendererType, DataViewRendererType, };
|
|
@@ -16,6 +16,12 @@ declare class FuncNodesWorker {
|
|
|
16
16
|
on_error: (error: any) => void;
|
|
17
17
|
constructor(data: WorkerProps);
|
|
18
18
|
set_zustand(zustand: FuncNodesReactFlowZustandInterface): void;
|
|
19
|
+
stepwise_fullsync(): Promise<void>;
|
|
20
|
+
sync_lib(): Promise<void>;
|
|
21
|
+
sync_external_worker(): Promise<void>;
|
|
22
|
+
sync_funcnodes_plugins(): Promise<void>;
|
|
23
|
+
sync_view_state(): Promise<void>;
|
|
24
|
+
sync_nodespace(): Promise<void>;
|
|
19
25
|
fullsync(): Promise<void>;
|
|
20
26
|
_recieve_edge_added(src_nid: string, src_ioid: string, trg_nid: string, trg_ioid: string): Promise<void>;
|
|
21
27
|
trigger_node(node_id: string): Promise<void>;
|
|
@@ -56,11 +62,12 @@ declare class FuncNodesWorker {
|
|
|
56
62
|
nid: string;
|
|
57
63
|
ioid: string;
|
|
58
64
|
}): Promise<any>;
|
|
59
|
-
_send_cmd({ cmd, kwargs, wait_for_response, response_timeout, }: {
|
|
65
|
+
_send_cmd({ cmd, kwargs, wait_for_response, response_timeout, retries, }: {
|
|
60
66
|
cmd: string;
|
|
61
67
|
kwargs?: any;
|
|
62
68
|
wait_for_response?: boolean;
|
|
63
69
|
response_timeout?: number;
|
|
70
|
+
retries?: number;
|
|
64
71
|
}): Promise<any>;
|
|
65
72
|
send(_data: any): Promise<void>;
|
|
66
73
|
recieve_nodespace_event({ event, data }: NodeSpaceEvent): Promise<void>;
|
package/dist/index.js
CHANGED
|
@@ -156,7 +156,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
156
156
|
\******************************************************/
|
|
157
157
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
158
158
|
|
|
159
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RenderMappingContext: () => (/* binding */ RenderMappingContext),\n/* harmony export */ RenderMappingProvider: () => (/* binding */ RenderMappingProvider)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_io_default_input_renderer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../node/io/default_input_renderer */ \"./src/frontend/node/io/default_input_renderer.tsx\");\n/* harmony import */ var _default_preview_renderer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./default_preview_renderer */ \"./src/frontend/datarenderer/default_preview_renderer.tsx\");\nvar __assign = (undefined && undefined.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\n\r\n\r\nvar _Inputrenderer = {\r\n float: _node_io_default_input_renderer__WEBPACK_IMPORTED_MODULE_1__.FloatInput,\r\n int: _node_io_default_input_renderer__WEBPACK_IMPORTED_MODULE_1__.IntegerInput,\r\n bool: _node_io_default_input_renderer__WEBPACK_IMPORTED_MODULE_1__.BooleanInput,\r\n string: _node_io_default_input_renderer__WEBPACK_IMPORTED_MODULE_1__.StringInput,\r\n str: _node_io_default_input_renderer__WEBPACK_IMPORTED_MODULE_1__.StringInput,\r\n color: _node_io_default_input_renderer__WEBPACK_IMPORTED_MODULE_1__.ColorInput,\r\n select: _node_io_default_input_renderer__WEBPACK_IMPORTED_MODULE_1__.SelectionInput,\r\n \"enum\": _node_io_default_input_renderer__WEBPACK_IMPORTED_MODULE_1__.SelectionInput\r\n};\r\nvar _HandlePreviewGenerators = {};\r\nvar _DataOverlayViewGenerators = {};\r\nvar _DataPreviewViewRenderer = {\r\n string: _default_preview_renderer__WEBPACK_IMPORTED_MODULE_2__.SingleValueOutput,\r\n table: _default_preview_renderer__WEBPACK_IMPORTED_MODULE_2__.TableOutput,\r\n image: _default_preview_renderer__WEBPACK_IMPORTED_MODULE_2__.Base64ImageOutput,\r\n dict: _default_preview_renderer__WEBPACK_IMPORTED_MODULE_2__.DictOutput\r\n};\r\nvar _DataViewRenderer = {};\r\nvar _initialRenderMappings = {\r\n Inputrenderer: _Inputrenderer,\r\n HandlePreviewRenderer: _HandlePreviewGenerators,\r\n DataOverlayRenderer: _DataOverlayViewGenerators,\r\n DataPreviewViewRenderer: _DataPreviewViewRenderer,\r\n DataViewRenderer: _DataViewRenderer\r\n};\r\nvar renderMappingReducer = function (state, action) {\r\n var _a, _b, _c, _d, _e;\r\n var options = action.options || {};\r\n var overwrite = options.overwrite === undefined ? true : options.overwrite;\r\n switch (action.type) {\r\n case \"EXTEND_INPUT_RENDER\":\r\n if (!overwrite && state.Inputrenderer[action.payload.type]) {\r\n return state;\r\n }\r\n return __assign(__assign({}, state), { Inputrenderer: __assign(__assign({}, state.Inputrenderer), (_a = {}, _a[action.payload.type] = action.payload.component, _a)) });\r\n case \"EXTEND_HANDLE_PREVIEW_RENDER\":\r\n if (!overwrite && state.HandlePreviewRenderer[action.payload.type]) {\r\n return state;\r\n }\r\n return __assign(__assign({}, state), { HandlePreviewRenderer: __assign(__assign({}, state.HandlePreviewRenderer), (_b = {}, _b[action.payload.type] = action.payload.component, _b)) });\r\n case \"EXTEND_DATA_OVERLAY_RENDER\":\r\n if (!overwrite && state.DataOverlayRenderer[action.payload.type]) {\r\n return state;\r\n }\r\n return __assign(__assign({}, state), { DataOverlayRenderer: __assign(__assign({}, state.DataOverlayRenderer), (_c = {}, _c[action.payload.type] = action.payload.component, _c)) });\r\n case \"EXTEND_DATA_PREVIEW_RENDER\":\r\n if (!overwrite && state.DataPreviewViewRenderer[action.payload.type]) {\r\n return state;\r\n }\r\n return __assign(__assign({}, state), { DataPreviewViewRenderer: __assign(__assign({}, state.DataPreviewViewRenderer), (_d = {}, _d[action.payload.type] = action.payload.component, _d)) });\r\n case \"EXTEND_DATA_VIEW_RENDER\":\r\n if (!overwrite && state.DataViewRenderer[action.payload.type]) {\r\n return state;\r\n }\r\n return __assign(__assign({}, state), { DataViewRenderer: __assign(__assign({}, state.DataViewRenderer), (_e = {}, _e[action.payload.type] = action.payload.component, _e)) });\r\n case \"EXTEND_FROM_PLUGIN\":\r\n var something_new = false;\r\n var checkpairs = [\r\n [action.payload.plugin.input_renderers || {}, state.Inputrenderer],\r\n [\r\n action.payload.plugin.handle_preview_renderers || {},\r\n state.HandlePreviewRenderer,\r\n ],\r\n [\r\n action.payload.plugin.data_overlay_renderers || {},\r\n state.DataOverlayRenderer,\r\n ],\r\n [\r\n action.payload.plugin.data_preview_renderers || {},\r\n state.DataPreviewViewRenderer,\r\n ],\r\n [\r\n action.payload.plugin.data_view_renderers || {},\r\n state.DataViewRenderer,\r\n ],\r\n ];\r\n for (var _i = 0, checkpairs_1 = checkpairs; _i < checkpairs_1.length; _i++) {\r\n var _f = checkpairs_1[_i], new_Inputrenderer = _f[0], old_Inputrenderer = _f[1];\r\n if (Object.keys(new_Inputrenderer).length > 0) {\r\n if (overwrite) {\r\n something_new = true;\r\n }\r\n else {\r\n for (var key in new_Inputrenderer) {\r\n if (!old_Inputrenderer[key]) {\r\n something_new = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n if (something_new)\r\n break;\r\n }\r\n if (!something_new) {\r\n return state;\r\n }\r\n for (var _g = 0, checkpairs_2 = checkpairs; _g < checkpairs_2.length; _g++) {\r\n var _h = checkpairs_2[_g], new_Inputrenderer = _h[0], old_Inputrenderer = _h[1];\r\n for (var key in new_Inputrenderer) {\r\n if (overwrite || !old_Inputrenderer[key]) {\r\n old_Inputrenderer[key] = new_Inputrenderer[key];\r\n }\r\n }\r\n }\r\n var newstate = __assign({}, state);\r\n return newstate;\r\n default:\r\n return state;\r\n }\r\n};\r\nvar RenderMappingProvider = function (_a) {\r\n var children = _a.children;\r\n var _b = (0,react__WEBPACK_IMPORTED_MODULE_0__.useReducer)(renderMappingReducer, _initialRenderMappings), state = _b[0], dispatch = _b[1];\r\n var extendInputRenderMapping = function (type, component, options) {\r\n dispatch({\r\n type: \"EXTEND_INPUT_RENDER\",\r\n payload: { type: type, component: component },\r\n options: options\r\n });\r\n };\r\n var extendHandlePreviewRenderMapping = function (type, component, options) {\r\n dispatch({\r\n type: \"EXTEND_HANDLE_PREVIEW_RENDER\",\r\n payload: { type: type, component: component },\r\n options: options\r\n });\r\n };\r\n var extendDataOverlayRenderMapping = function (type, component, options) {\r\n dispatch({\r\n type: \"EXTEND_DATA_OVERLAY_RENDER\",\r\n payload: { type: type, component: component },\r\n options: options\r\n });\r\n };\r\n var extendDataPreviewRenderMapping = function (type, component, options) {\r\n dispatch({\r\n type: \"EXTEND_DATA_PREVIEW_RENDER\",\r\n payload: { type: type, component: component },\r\n options: options\r\n });\r\n };\r\n var extendDataViewRenderMapping = function (type, component, options) {\r\n dispatch({\r\n type: \"EXTEND_DATA_VIEW_RENDER\",\r\n payload: { type: type, component: component },\r\n options: options\r\n });\r\n };\r\n var extendFromPlugin = function (plugin, options) {\r\n dispatch({\r\n type: \"EXTEND_FROM_PLUGIN\",\r\n payload: { plugin: plugin },\r\n options: options\r\n });\r\n };\r\n return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(RenderMappingContext.Provider, { value: {\r\n Inputrenderer: state.Inputrenderer,\r\n HandlePreviewRenderer: state.HandlePreviewRenderer,\r\n DataOverlayRenderer: state.DataOverlayRenderer,\r\n DataPreviewViewRenderer: state.DataPreviewViewRenderer,\r\n DataViewRenderer: state.DataViewRenderer,\r\n extendInputRenderMapping: extendInputRenderMapping,\r\n extendHandlePreviewRenderMapping: extendHandlePreviewRenderMapping,\r\n extendDataOverlayRenderMapping: extendDataOverlayRenderMapping,\r\n extendDataPreviewRenderMapping: extendDataPreviewRenderMapping,\r\n extendDataViewRenderMapping: extendDataViewRenderMapping,\r\n extendFromPlugin: extendFromPlugin\r\n } }, children));\r\n};\r\nvar RenderMappingContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)({\r\n Inputrenderer: _initialRenderMappings.Inputrenderer,\r\n HandlePreviewRenderer: _initialRenderMappings.HandlePreviewRenderer,\r\n DataOverlayRenderer: _initialRenderMappings.DataOverlayRenderer,\r\n DataPreviewViewRenderer: _initialRenderMappings.DataPreviewViewRenderer,\r\n DataViewRenderer: _initialRenderMappings.DataViewRenderer,\r\n extendInputRenderMapping: function (_type, _component, _options) { },\r\n extendHandlePreviewRenderMapping: function (_type, _component, _options) { },\r\n extendDataOverlayRenderMapping: function (_type, _component, _options) { },\r\n extendDataPreviewRenderMapping: function (_type, _component, _options) { },\r\n extendDataViewRenderMapping: function (_type, _component, _options) { },\r\n extendFromPlugin: function (_plugin, _options) { }\r\n});\r\n\r\n\n\n//# sourceURL=webpack://ModuleName/./src/frontend/datarenderer/rendermappings.tsx?");
|
|
159
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DynamicComponentLoader: () => (/* binding */ DynamicComponentLoader),\n/* harmony export */ RenderMappingContext: () => (/* binding */ RenderMappingContext),\n/* harmony export */ RenderMappingProvider: () => (/* binding */ RenderMappingProvider)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_io_default_input_renderer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../node/io/default_input_renderer */ \"./src/frontend/node/io/default_input_renderer.tsx\");\n/* harmony import */ var _default_preview_renderer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./default_preview_renderer */ \"./src/frontend/datarenderer/default_preview_renderer.tsx\");\nvar __assign = (undefined && undefined.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n};\r\n\r\n\r\n\r\nvar _Inputrenderer = {\r\n float: _node_io_default_input_renderer__WEBPACK_IMPORTED_MODULE_1__.FloatInput,\r\n int: _node_io_default_input_renderer__WEBPACK_IMPORTED_MODULE_1__.IntegerInput,\r\n bool: _node_io_default_input_renderer__WEBPACK_IMPORTED_MODULE_1__.BooleanInput,\r\n string: _node_io_default_input_renderer__WEBPACK_IMPORTED_MODULE_1__.StringInput,\r\n str: _node_io_default_input_renderer__WEBPACK_IMPORTED_MODULE_1__.StringInput,\r\n color: _node_io_default_input_renderer__WEBPACK_IMPORTED_MODULE_1__.ColorInput,\r\n select: _node_io_default_input_renderer__WEBPACK_IMPORTED_MODULE_1__.SelectionInput,\r\n \"enum\": _node_io_default_input_renderer__WEBPACK_IMPORTED_MODULE_1__.SelectionInput\r\n};\r\nvar _HandlePreviewGenerators = {};\r\nvar _DataOverlayViewGenerators = {};\r\nvar _DataPreviewViewRenderer = {\r\n string: _default_preview_renderer__WEBPACK_IMPORTED_MODULE_2__.SingleValueOutput,\r\n table: _default_preview_renderer__WEBPACK_IMPORTED_MODULE_2__.TableOutput,\r\n image: _default_preview_renderer__WEBPACK_IMPORTED_MODULE_2__.Base64ImageOutput,\r\n dict: _default_preview_renderer__WEBPACK_IMPORTED_MODULE_2__.DictOutput\r\n};\r\nvar _DataViewRenderer = {};\r\nvar _initialRenderMappings = {\r\n Inputrenderer: _Inputrenderer,\r\n HandlePreviewRenderer: _HandlePreviewGenerators,\r\n DataOverlayRenderer: _DataOverlayViewGenerators,\r\n DataPreviewViewRenderer: _DataPreviewViewRenderer,\r\n DataViewRenderer: _DataViewRenderer\r\n};\r\nvar renderMappingReducer = function (state, action) {\r\n var _a, _b, _c, _d, _e;\r\n var options = action.options || {};\r\n var overwrite = options.overwrite === undefined ? true : options.overwrite;\r\n switch (action.type) {\r\n case \"EXTEND_INPUT_RENDER\":\r\n if (!overwrite && state.Inputrenderer[action.payload.type]) {\r\n return state;\r\n }\r\n return __assign(__assign({}, state), { Inputrenderer: __assign(__assign({}, state.Inputrenderer), (_a = {}, _a[action.payload.type] = action.payload.component, _a)) });\r\n case \"EXTEND_HANDLE_PREVIEW_RENDER\":\r\n if (!overwrite && state.HandlePreviewRenderer[action.payload.type]) {\r\n return state;\r\n }\r\n return __assign(__assign({}, state), { HandlePreviewRenderer: __assign(__assign({}, state.HandlePreviewRenderer), (_b = {}, _b[action.payload.type] = action.payload.component, _b)) });\r\n case \"EXTEND_DATA_OVERLAY_RENDER\":\r\n if (!overwrite && state.DataOverlayRenderer[action.payload.type]) {\r\n return state;\r\n }\r\n return __assign(__assign({}, state), { DataOverlayRenderer: __assign(__assign({}, state.DataOverlayRenderer), (_c = {}, _c[action.payload.type] = action.payload.component, _c)) });\r\n case \"EXTEND_DATA_PREVIEW_RENDER\":\r\n if (!overwrite && state.DataPreviewViewRenderer[action.payload.type]) {\r\n return state;\r\n }\r\n return __assign(__assign({}, state), { DataPreviewViewRenderer: __assign(__assign({}, state.DataPreviewViewRenderer), (_d = {}, _d[action.payload.type] = action.payload.component, _d)) });\r\n case \"EXTEND_DATA_VIEW_RENDER\":\r\n if (!overwrite && state.DataViewRenderer[action.payload.type]) {\r\n return state;\r\n }\r\n return __assign(__assign({}, state), { DataViewRenderer: __assign(__assign({}, state.DataViewRenderer), (_e = {}, _e[action.payload.type] = action.payload.component, _e)) });\r\n case \"EXTEND_FROM_PLUGIN\":\r\n var something_new = false;\r\n var checkpairs = [\r\n [action.payload.plugin.input_renderers || {}, state.Inputrenderer],\r\n [\r\n action.payload.plugin.handle_preview_renderers || {},\r\n state.HandlePreviewRenderer,\r\n ],\r\n [\r\n action.payload.plugin.data_overlay_renderers || {},\r\n state.DataOverlayRenderer,\r\n ],\r\n [\r\n action.payload.plugin.data_preview_renderers || {},\r\n state.DataPreviewViewRenderer,\r\n ],\r\n [\r\n action.payload.plugin.data_view_renderers || {},\r\n state.DataViewRenderer,\r\n ],\r\n ];\r\n for (var _i = 0, checkpairs_1 = checkpairs; _i < checkpairs_1.length; _i++) {\r\n var _f = checkpairs_1[_i], new_Inputrenderer = _f[0], old_Inputrenderer = _f[1];\r\n if (Object.keys(new_Inputrenderer).length > 0) {\r\n if (overwrite) {\r\n something_new = true;\r\n }\r\n else {\r\n for (var key in new_Inputrenderer) {\r\n if (!old_Inputrenderer[key]) {\r\n something_new = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n if (something_new)\r\n break;\r\n }\r\n if (!something_new) {\r\n return state;\r\n }\r\n for (var _g = 0, checkpairs_2 = checkpairs; _g < checkpairs_2.length; _g++) {\r\n var _h = checkpairs_2[_g], new_Inputrenderer = _h[0], old_Inputrenderer = _h[1];\r\n for (var key in new_Inputrenderer) {\r\n if (overwrite || !old_Inputrenderer[key]) {\r\n old_Inputrenderer[key] = new_Inputrenderer[key];\r\n }\r\n }\r\n }\r\n var newstate = __assign({}, state);\r\n return newstate;\r\n default:\r\n return state;\r\n }\r\n};\r\nvar RenderMappingProvider = function (_a) {\r\n var children = _a.children, plugins = _a.plugins;\r\n var _b = (0,react__WEBPACK_IMPORTED_MODULE_0__.useReducer)(renderMappingReducer, _initialRenderMappings), state = _b[0], dispatch = _b[1];\r\n var extendInputRenderMapping = function (type, component, options) {\r\n dispatch({\r\n type: \"EXTEND_INPUT_RENDER\",\r\n payload: { type: type, component: component },\r\n options: options\r\n });\r\n };\r\n var extendHandlePreviewRenderMapping = function (type, component, options) {\r\n dispatch({\r\n type: \"EXTEND_HANDLE_PREVIEW_RENDER\",\r\n payload: { type: type, component: component },\r\n options: options\r\n });\r\n };\r\n var extendDataOverlayRenderMapping = function (type, component, options) {\r\n dispatch({\r\n type: \"EXTEND_DATA_OVERLAY_RENDER\",\r\n payload: { type: type, component: component },\r\n options: options\r\n });\r\n };\r\n var extendDataPreviewRenderMapping = function (type, component, options) {\r\n dispatch({\r\n type: \"EXTEND_DATA_PREVIEW_RENDER\",\r\n payload: { type: type, component: component },\r\n options: options\r\n });\r\n };\r\n var extendDataViewRenderMapping = function (type, component, options) {\r\n dispatch({\r\n type: \"EXTEND_DATA_VIEW_RENDER\",\r\n payload: { type: type, component: component },\r\n options: options\r\n });\r\n };\r\n var extendFromPlugin = function (plugin, options) {\r\n dispatch({\r\n type: \"EXTEND_FROM_PLUGIN\",\r\n payload: { plugin: plugin },\r\n options: options\r\n });\r\n };\r\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\r\n for (var plugin in plugins) {\r\n var renderplug = plugins[plugin].RendererPlugin;\r\n if (renderplug)\r\n extendFromPlugin(renderplug);\r\n }\r\n }, [plugins]);\r\n return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(RenderMappingContext.Provider, { value: {\r\n Inputrenderer: state.Inputrenderer,\r\n HandlePreviewRenderer: state.HandlePreviewRenderer,\r\n DataOverlayRenderer: state.DataOverlayRenderer,\r\n DataPreviewViewRenderer: state.DataPreviewViewRenderer,\r\n DataViewRenderer: state.DataViewRenderer,\r\n extendInputRenderMapping: extendInputRenderMapping,\r\n extendHandlePreviewRenderMapping: extendHandlePreviewRenderMapping,\r\n extendDataOverlayRenderMapping: extendDataOverlayRenderMapping,\r\n extendDataPreviewRenderMapping: extendDataPreviewRenderMapping,\r\n extendDataViewRenderMapping: extendDataViewRenderMapping,\r\n extendFromPlugin: extendFromPlugin\r\n } }, children));\r\n};\r\nvar RenderMappingContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)({\r\n Inputrenderer: _initialRenderMappings.Inputrenderer,\r\n HandlePreviewRenderer: _initialRenderMappings.HandlePreviewRenderer,\r\n DataOverlayRenderer: _initialRenderMappings.DataOverlayRenderer,\r\n DataPreviewViewRenderer: _initialRenderMappings.DataPreviewViewRenderer,\r\n DataViewRenderer: _initialRenderMappings.DataViewRenderer,\r\n extendInputRenderMapping: function (_type, _component, _options) { },\r\n extendHandlePreviewRenderMapping: function (_type, _component, _options) { },\r\n extendDataOverlayRenderMapping: function (_type, _component, _options) { },\r\n extendDataPreviewRenderMapping: function (_type, _component, _options) { },\r\n extendDataViewRenderMapping: function (_type, _component, _options) { },\r\n extendFromPlugin: function (_plugin, _options) { }\r\n});\r\nvar DynamicComponentLoader = function (_a) {\r\n var Component = _a.component, props = __rest(_a, [\"component\"]);\r\n return react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Component, __assign({}, props));\r\n};\r\n\r\n\n\n//# sourceURL=webpack://ModuleName/./src/frontend/datarenderer/rendermappings.tsx?");
|
|
160
160
|
|
|
161
161
|
/***/ }),
|
|
162
162
|
|
|
@@ -186,7 +186,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
186
186
|
\***************************************************/
|
|
187
187
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
188
188
|
|
|
189
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FuncNodesContext: () => (/* binding */ FuncNodesContext),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _states_fnrfzst__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../states/fnrfzst */ \"./src/states/fnrfzst.ts\");\n/* harmony import */ var _funcnodes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../funcnodes */ \"./src/funcnodes/index.ts\");\n/* harmony import */ var _header__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../header */ \"./src/frontend/header/index.tsx\");\n/* harmony import */ var _lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../lib */ \"./src/frontend/lib.tsx\");\n/* harmony import */ var _react_flow_layer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./react_flow_layer */ \"./src/frontend/funcnodesreactflow/react_flow_layer.tsx\");\n/* harmony import */ var _datarenderer_rendermappings__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../datarenderer/rendermappings */ \"./src/frontend/datarenderer/rendermappings.tsx\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (undefined && undefined.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n 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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar FuncNodesContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)((0,_states_fnrfzst__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}));\r\nvar InnerFuncnodesReactFlow = function (_a) {\r\n var fnrf_zst = _a.fnrf_zst;\r\n var _b = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(\"\"), workermanageruri = _b[0], setWorkermanageruri = _b[1];\r\n var _c = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(fnrf_zst.options.default_worker), worker = _c[0], setWorker = _c[1];\r\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\r\n function fetch_worker_manager() {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var response, workerewsuri;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, fetch(\"/worker_manager\")];\r\n case 1:\r\n response = _a.sent();\r\n return [4 /*yield*/, response.text()];\r\n case 2:\r\n workerewsuri = _a.sent();\r\n setWorkermanageruri(workerewsuri);\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n }\r\n if (fnrf_zst.options.useWorkerManager)\r\n fetch_worker_manager();\r\n }, []);\r\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\r\n if (workermanageruri) {\r\n var workermanager = new _funcnodes__WEBPACK_IMPORTED_MODULE_2__.WorkerManager(workermanageruri, fnrf_zst);\r\n workermanager.on_setWorker = setWorker;\r\n fnrf_zst.workermanager = workermanager;\r\n }\r\n }, [workermanageruri]);\r\n fnrf_zst.worker = worker;\r\n fnrf_zst.auto_progress();\r\n // const worker = new WebSocketWorker(\"ws://localhost:9382\", fnrf_zst);\r\n // fnrf_zst.worker = worker;\r\n return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_datarenderer_rendermappings__WEBPACK_IMPORTED_MODULE_6__.RenderMappingProvider,
|
|
189
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FuncNodesContext: () => (/* binding */ FuncNodesContext),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _states_fnrfzst__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../states/fnrfzst */ \"./src/states/fnrfzst.ts\");\n/* harmony import */ var _funcnodes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../funcnodes */ \"./src/funcnodes/index.ts\");\n/* harmony import */ var _header__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../header */ \"./src/frontend/header/index.tsx\");\n/* harmony import */ var _lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../lib */ \"./src/frontend/lib.tsx\");\n/* harmony import */ var _react_flow_layer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./react_flow_layer */ \"./src/frontend/funcnodesreactflow/react_flow_layer.tsx\");\n/* harmony import */ var _datarenderer_rendermappings__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../datarenderer/rendermappings */ \"./src/frontend/datarenderer/rendermappings.tsx\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (undefined && undefined.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n 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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar FuncNodesContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)((0,_states_fnrfzst__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}));\r\nvar InnerFuncnodesReactFlow = function (_a) {\r\n var fnrf_zst = _a.fnrf_zst;\r\n var _b = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(\"\"), workermanageruri = _b[0], setWorkermanageruri = _b[1];\r\n var _c = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(fnrf_zst.options.default_worker), worker = _c[0], setWorker = _c[1];\r\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\r\n function fetch_worker_manager() {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var response, workerewsuri;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, fetch(\"/worker_manager\")];\r\n case 1:\r\n response = _a.sent();\r\n return [4 /*yield*/, response.text()];\r\n case 2:\r\n workerewsuri = _a.sent();\r\n setWorkermanageruri(workerewsuri);\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n }\r\n if (fnrf_zst.options.useWorkerManager)\r\n fetch_worker_manager();\r\n }, []);\r\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\r\n if (workermanageruri) {\r\n var workermanager = new _funcnodes__WEBPACK_IMPORTED_MODULE_2__.WorkerManager(workermanageruri, fnrf_zst);\r\n workermanager.on_setWorker = setWorker;\r\n fnrf_zst.workermanager = workermanager;\r\n }\r\n }, [workermanageruri]);\r\n fnrf_zst.worker = worker;\r\n fnrf_zst.auto_progress();\r\n // const worker = new WebSocketWorker(\"ws://localhost:9382\", fnrf_zst);\r\n // fnrf_zst.worker = worker;\r\n var plugins = fnrf_zst.plugins();\r\n return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_datarenderer_rendermappings__WEBPACK_IMPORTED_MODULE_6__.RenderMappingProvider, { plugins: plugins },\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(FuncNodesContext.Provider, { value: fnrf_zst },\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: \"funcnodesreactflowcontainer\" },\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_header__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null),\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: \"funcnodesreactflowbody\" },\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_lib__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null),\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_react_flow_layer__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null))))));\r\n};\r\nvar FuncnodesReactFlow = function (_a) {\r\n var _b = _a.useWorkerManager, useWorkerManager = _b === void 0 ? true : _b, _c = _a.default_worker, default_worker = _c === void 0 ? undefined : _c;\r\n if (!useWorkerManager && default_worker === undefined) {\r\n return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, \"Error: If you don't use a worker manager, you must provide a default worker.\"));\r\n }\r\n var fnrf_zst = (0,_states_fnrfzst__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\r\n useWorkerManager: useWorkerManager,\r\n default_worker: default_worker\r\n });\r\n if (default_worker) {\r\n default_worker.set_zustand(fnrf_zst);\r\n }\r\n // @ts-ignore\r\n window.fnrf_zst = fnrf_zst; // For debugging\r\n return react__WEBPACK_IMPORTED_MODULE_0___default().createElement(InnerFuncnodesReactFlow, { fnrf_zst: fnrf_zst });\r\n};\r\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FuncnodesReactFlow);\r\n\r\n\n\n//# sourceURL=webpack://ModuleName/./src/frontend/funcnodesreactflow/index.tsx?");
|
|
190
190
|
|
|
191
191
|
/***/ }),
|
|
192
192
|
|
|
@@ -276,7 +276,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
276
276
|
\**************************************************/
|
|
277
277
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
278
278
|
|
|
279
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PreviewHandleDataRendererForIo: () => (/* binding */ PreviewHandleDataRendererForIo)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _funcnodesreactflow__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../funcnodesreactflow */ \"./src/frontend/funcnodesreactflow/index.tsx\");\n/* harmony import */ var _io__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./io */ \"./src/frontend/node/io/io.tsx\");\n/* harmony import */ var _datarenderer_data_renderer_overlay__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../datarenderer/data_renderer_overlay */ \"./src/frontend/datarenderer/data_renderer_overlay.tsx\");\n/* harmony import */ var _datarenderer_rendermappings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../datarenderer/rendermappings */ \"./src/frontend/datarenderer/rendermappings.tsx\");\n/* harmony import */ var _datarenderer_default_preview_renderer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../datarenderer/default_preview_renderer */ \"./src/frontend/datarenderer/default_preview_renderer.tsx\");\n\r\n\r\n\r\n\r\n\r\n\r\nvar PreviewHandleDataRendererForIo = function (io) {\r\n var fnrf_zst = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_funcnodesreactflow__WEBPACK_IMPORTED_MODULE_1__.FuncNodesContext);\r\n var render = fnrf_zst.render_options();\r\n var typestring = (0,_io__WEBPACK_IMPORTED_MODULE_2__.pick_best_io_type)(io.type, render.typemap || {})[0];\r\n var _a = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_datarenderer_rendermappings__WEBPACK_IMPORTED_MODULE_4__.RenderMappingContext), HandlePreviewRenderer = _a.HandlePreviewRenderer, DataPreviewViewRenderer = _a.DataPreviewViewRenderer;\r\n var overlayhandle = (0,_datarenderer_data_renderer_overlay__WEBPACK_IMPORTED_MODULE_3__.DataOverlayRendererForIo)(io);\r\n if (!typestring)\r\n return [_datarenderer_default_preview_renderer__WEBPACK_IMPORTED_MODULE_5__.DictOutput, overlayhandle];\r\n if (HandlePreviewRenderer[typestring])\r\n return [HandlePreviewRenderer[typestring], overlayhandle];\r\n if (DataPreviewViewRenderer[typestring])\r\n return [DataPreviewViewRenderer[typestring], overlayhandle];\r\n console.warn(\"No preview generator found for type: \"
|
|
279
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PreviewHandleDataRendererForIo: () => (/* binding */ PreviewHandleDataRendererForIo)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _funcnodesreactflow__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../funcnodesreactflow */ \"./src/frontend/funcnodesreactflow/index.tsx\");\n/* harmony import */ var _io__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./io */ \"./src/frontend/node/io/io.tsx\");\n/* harmony import */ var _datarenderer_data_renderer_overlay__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../datarenderer/data_renderer_overlay */ \"./src/frontend/datarenderer/data_renderer_overlay.tsx\");\n/* harmony import */ var _datarenderer_rendermappings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../datarenderer/rendermappings */ \"./src/frontend/datarenderer/rendermappings.tsx\");\n/* harmony import */ var _datarenderer_default_preview_renderer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../datarenderer/default_preview_renderer */ \"./src/frontend/datarenderer/default_preview_renderer.tsx\");\n\r\n\r\n\r\n\r\n\r\n\r\nvar PreviewHandleDataRendererForIo = function (io) {\r\n var fnrf_zst = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_funcnodesreactflow__WEBPACK_IMPORTED_MODULE_1__.FuncNodesContext);\r\n var render = fnrf_zst.render_options();\r\n var typestring = (0,_io__WEBPACK_IMPORTED_MODULE_2__.pick_best_io_type)(io.type, render.typemap || {})[0];\r\n var _a = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_datarenderer_rendermappings__WEBPACK_IMPORTED_MODULE_4__.RenderMappingContext), HandlePreviewRenderer = _a.HandlePreviewRenderer, DataPreviewViewRenderer = _a.DataPreviewViewRenderer;\r\n var overlayhandle = (0,_datarenderer_data_renderer_overlay__WEBPACK_IMPORTED_MODULE_3__.DataOverlayRendererForIo)(io);\r\n if (!typestring)\r\n return [_datarenderer_default_preview_renderer__WEBPACK_IMPORTED_MODULE_5__.DictOutput, overlayhandle];\r\n if (HandlePreviewRenderer[typestring])\r\n return [HandlePreviewRenderer[typestring], overlayhandle];\r\n if (DataPreviewViewRenderer[typestring])\r\n return [DataPreviewViewRenderer[typestring], overlayhandle];\r\n // console.warn(\r\n // \"No preview generator found for type: \",\r\n // typestring,\r\n // \"have: \",\r\n // DataPreviewViewRenderer\r\n // );\r\n return [_datarenderer_default_preview_renderer__WEBPACK_IMPORTED_MODULE_5__.DictOutput, overlayhandle];\r\n};\r\n\r\n\n\n//# sourceURL=webpack://ModuleName/./src/frontend/node/io/handle_renderer.tsx?");
|
|
280
280
|
|
|
281
281
|
/***/ }),
|
|
282
282
|
|
|
@@ -296,7 +296,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
296
296
|
\*************************************/
|
|
297
297
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
298
298
|
|
|
299
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HandleWithPreview: () => (/* binding */ HandleWithPreview),\n/* harmony export */ pick_best_io_type: () => (/* binding */ pick_best_io_type)\n/* harmony export */ });\n/* harmony import */ var _radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @radix-ui/react-tooltip */ \"@radix-ui/react-tooltip\");\n/* harmony import */ var _radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _mui_icons_material_LockOpen__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/icons-material/LockOpen */ \"@mui/icons-material/LockOpen\");\n/* harmony import */ var _mui_icons_material_LockOpen__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_mui_icons_material_LockOpen__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _mui_icons_material_Lock__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/icons-material/Lock */ \"@mui/icons-material/Lock\");\n/* harmony import */ var _mui_icons_material_Lock__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_mui_icons_material_Lock__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _mui_icons_material_Fullscreen__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/icons-material/Fullscreen */ \"@mui/icons-material/Fullscreen\");\n/* harmony import */ var _mui_icons_material_Fullscreen__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_mui_icons_material_Fullscreen__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _io_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./io.scss */ \"./src/frontend/node/io/io.scss\");\n/* harmony import */ var reactflow__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! reactflow */ \"reactflow\");\n/* harmony import */ var reactflow__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(reactflow__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _dialog__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../dialog */ \"./src/frontend/dialog.tsx\");\n/* harmony import */ var _handle_renderer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./handle_renderer */ \"./src/frontend/node/io/handle_renderer.tsx\");\nvar __assign = (undefined && undefined.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar pick_best_io_type = function (iot, typemap) {\r\n // check if iot is string\r\n if (typeof iot === \"string\") {\r\n if (iot in typemap) {\r\n return [typemap[iot], iot];\r\n }\r\n return [iot, iot];\r\n }\r\n if (\"allOf\" in iot && iot.allOf !== undefined) {\r\n return [undefined, undefined];\r\n }\r\n if (\"anyOf\" in iot && iot.anyOf !== undefined) {\r\n var picks = iot.anyOf.map(function (x) { return pick_best_io_type(x, typemap); });\r\n for (var _i = 0, picks_1 = picks; _i < picks_1.length; _i++) {\r\n var pick = picks_1[_i];\r\n switch (pick[0]) {\r\n case \"bool\":\r\n return [\"bool\", pick[1]];\r\n case \"enum\":\r\n return [\"enum\", pick[1]];\r\n case \"float\":\r\n return [\"float\", pick[1]];\r\n case \"int\":\r\n return [\"int\", pick[1]];\r\n case \"string\":\r\n return [\"string\", pick[1]];\r\n case \"str\":\r\n return [\"string\", pick[1]];\r\n }\r\n }\r\n return [undefined, undefined];\r\n }\r\n if (!(\"type\" in iot) || iot.type === undefined) {\r\n return [undefined, undefined];\r\n }\r\n if (iot.type === \"enum\") {\r\n return [\"enum\", \"enum\"];\r\n }\r\n return [undefined, undefined];\r\n};\r\nvar HandleWithPreview = function (_a) {\r\n var io = _a.io, typestring = _a.typestring, preview = _a.preview, props = __rest(_a, [\"io\", \"typestring\", \"preview\"]);\r\n var _b = (0,react__WEBPACK_IMPORTED_MODULE_6__.useState)(false), locked = _b[0], setLocked = _b[1];\r\n var _c = (0,react__WEBPACK_IMPORTED_MODULE_6__.useState)(false), opened = _c[0], setOpened = _c[1];\r\n var _d = io\r\n ? (0,_handle_renderer__WEBPACK_IMPORTED_MODULE_8__.PreviewHandleDataRendererForIo)(io)\r\n : [undefined, undefined], pvhandle = _d[0], overlayhandle = _d[1];\r\n return (react__WEBPACK_IMPORTED_MODULE_6___default().createElement(_radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_0__.Provider, null,\r\n react__WEBPACK_IMPORTED_MODULE_6___default().createElement(_radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_0__.Root, { open: locked || opened, onOpenChange: setOpened },\r\n react__WEBPACK_IMPORTED_MODULE_6___default().createElement(_radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_0__.Trigger, { asChild: true },\r\n react__WEBPACK_IMPORTED_MODULE_6___default().createElement(reactflow__WEBPACK_IMPORTED_MODULE_5__.Handle, __assign({ id: io.id }, props))),\r\n react__WEBPACK_IMPORTED_MODULE_6___default().createElement(_radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_0__.Portal, null,\r\n react__WEBPACK_IMPORTED_MODULE_6___default().createElement(_radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_0__.Content, { className: \"iotooltipcontent\", sideOffset: 5 },\r\n react__WEBPACK_IMPORTED_MODULE_6___default().createElement(\"div\", { className: \"iotooltip_container\" },\r\n react__WEBPACK_IMPORTED_MODULE_6___default().createElement(\"div\", { className: \"iotooltip_header\" },\r\n locked ? (react__WEBPACK_IMPORTED_MODULE_6___default().createElement((_mui_icons_material_Lock__WEBPACK_IMPORTED_MODULE_2___default()), { onClick: function () { return setLocked(false); } })) : (react__WEBPACK_IMPORTED_MODULE_6___default().createElement((_mui_icons_material_LockOpen__WEBPACK_IMPORTED_MODULE_1___default()), { onClick: function () { return setLocked(true); } })),\r\n overlayhandle && (react__WEBPACK_IMPORTED_MODULE_6___default().createElement(_dialog__WEBPACK_IMPORTED_MODULE_7__[\"default\"], { trigger: react__WEBPACK_IMPORTED_MODULE_6___default().createElement((_mui_icons_material_Fullscreen__WEBPACK_IMPORTED_MODULE_3___default()), null), onOpenChange: function (open) {\r\n if (open) {\r\n io.try_get_full_value();\r\n }\r\n setLocked(open);\r\n } },
|
|
299
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HandleWithPreview: () => (/* binding */ HandleWithPreview),\n/* harmony export */ pick_best_io_type: () => (/* binding */ pick_best_io_type)\n/* harmony export */ });\n/* harmony import */ var _radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @radix-ui/react-tooltip */ \"@radix-ui/react-tooltip\");\n/* harmony import */ var _radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _mui_icons_material_LockOpen__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/icons-material/LockOpen */ \"@mui/icons-material/LockOpen\");\n/* harmony import */ var _mui_icons_material_LockOpen__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_mui_icons_material_LockOpen__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _mui_icons_material_Lock__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/icons-material/Lock */ \"@mui/icons-material/Lock\");\n/* harmony import */ var _mui_icons_material_Lock__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_mui_icons_material_Lock__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _mui_icons_material_Fullscreen__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/icons-material/Fullscreen */ \"@mui/icons-material/Fullscreen\");\n/* harmony import */ var _mui_icons_material_Fullscreen__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_mui_icons_material_Fullscreen__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _io_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./io.scss */ \"./src/frontend/node/io/io.scss\");\n/* harmony import */ var reactflow__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! reactflow */ \"reactflow\");\n/* harmony import */ var reactflow__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(reactflow__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _dialog__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../dialog */ \"./src/frontend/dialog.tsx\");\n/* harmony import */ var _handle_renderer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./handle_renderer */ \"./src/frontend/node/io/handle_renderer.tsx\");\n/* harmony import */ var _datarenderer_rendermappings__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../datarenderer/rendermappings */ \"./src/frontend/datarenderer/rendermappings.tsx\");\nvar __assign = (undefined && undefined.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar pick_best_io_type = function (iot, typemap) {\r\n // check if iot is string\r\n if (typeof iot === \"string\") {\r\n if (iot in typemap) {\r\n return [typemap[iot], iot];\r\n }\r\n return [iot, iot];\r\n }\r\n if (\"allOf\" in iot && iot.allOf !== undefined) {\r\n return [undefined, undefined];\r\n }\r\n if (\"anyOf\" in iot && iot.anyOf !== undefined) {\r\n var picks = iot.anyOf.map(function (x) { return pick_best_io_type(x, typemap); });\r\n for (var _i = 0, picks_1 = picks; _i < picks_1.length; _i++) {\r\n var pick = picks_1[_i];\r\n switch (pick[0]) {\r\n case \"bool\":\r\n return [\"bool\", pick[1]];\r\n case \"enum\":\r\n return [\"enum\", pick[1]];\r\n case \"float\":\r\n return [\"float\", pick[1]];\r\n case \"int\":\r\n return [\"int\", pick[1]];\r\n case \"string\":\r\n return [\"string\", pick[1]];\r\n case \"str\":\r\n return [\"string\", pick[1]];\r\n }\r\n }\r\n return [undefined, undefined];\r\n }\r\n if (!(\"type\" in iot) || iot.type === undefined) {\r\n return [undefined, undefined];\r\n }\r\n if (iot.type === \"enum\") {\r\n return [\"enum\", \"enum\"];\r\n }\r\n return [undefined, undefined];\r\n};\r\nvar HandleWithPreview = function (_a) {\r\n var io = _a.io, typestring = _a.typestring, preview = _a.preview, props = __rest(_a, [\"io\", \"typestring\", \"preview\"]);\r\n var _b = (0,react__WEBPACK_IMPORTED_MODULE_6__.useState)(false), locked = _b[0], setLocked = _b[1];\r\n var _c = (0,react__WEBPACK_IMPORTED_MODULE_6__.useState)(false), opened = _c[0], setOpened = _c[1];\r\n var _d = io\r\n ? (0,_handle_renderer__WEBPACK_IMPORTED_MODULE_8__.PreviewHandleDataRendererForIo)(io)\r\n : [undefined, undefined], pvhandle = _d[0], overlayhandle = _d[1];\r\n return (react__WEBPACK_IMPORTED_MODULE_6___default().createElement(_radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_0__.Provider, null,\r\n react__WEBPACK_IMPORTED_MODULE_6___default().createElement(_radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_0__.Root, { open: locked || opened, onOpenChange: setOpened },\r\n react__WEBPACK_IMPORTED_MODULE_6___default().createElement(_radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_0__.Trigger, { asChild: true },\r\n react__WEBPACK_IMPORTED_MODULE_6___default().createElement(reactflow__WEBPACK_IMPORTED_MODULE_5__.Handle, __assign({ id: io.id }, props))),\r\n react__WEBPACK_IMPORTED_MODULE_6___default().createElement(_radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_0__.Portal, null,\r\n react__WEBPACK_IMPORTED_MODULE_6___default().createElement(_radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_0__.Content, { className: \"iotooltipcontent\", sideOffset: 5 },\r\n react__WEBPACK_IMPORTED_MODULE_6___default().createElement(\"div\", { className: \"iotooltip_container\" },\r\n react__WEBPACK_IMPORTED_MODULE_6___default().createElement(\"div\", { className: \"iotooltip_header\" },\r\n locked ? (react__WEBPACK_IMPORTED_MODULE_6___default().createElement((_mui_icons_material_Lock__WEBPACK_IMPORTED_MODULE_2___default()), { onClick: function () { return setLocked(false); } })) : (react__WEBPACK_IMPORTED_MODULE_6___default().createElement((_mui_icons_material_LockOpen__WEBPACK_IMPORTED_MODULE_1___default()), { onClick: function () { return setLocked(true); } })),\r\n overlayhandle && (react__WEBPACK_IMPORTED_MODULE_6___default().createElement(_dialog__WEBPACK_IMPORTED_MODULE_7__[\"default\"], { trigger: react__WEBPACK_IMPORTED_MODULE_6___default().createElement((_mui_icons_material_Fullscreen__WEBPACK_IMPORTED_MODULE_3___default()), null), onOpenChange: function (open) {\r\n if (open) {\r\n io.try_get_full_value();\r\n }\r\n setLocked(open);\r\n } }, react__WEBPACK_IMPORTED_MODULE_6___default().createElement(_datarenderer_rendermappings__WEBPACK_IMPORTED_MODULE_9__.DynamicComponentLoader, { component: overlayhandle, io: io })))),\r\n pvhandle ? (react__WEBPACK_IMPORTED_MODULE_6___default().createElement(_datarenderer_rendermappings__WEBPACK_IMPORTED_MODULE_9__.DynamicComponentLoader, { component: pvhandle, io: io })) : (\"no preview available for \\\"\".concat(typestring, \"\\\"\"))),\r\n react__WEBPACK_IMPORTED_MODULE_6___default().createElement(_radix_ui_react_tooltip__WEBPACK_IMPORTED_MODULE_0__.Arrow, { className: \"iotooltipcontentarrow\" }))))));\r\n};\r\n\r\n\n\n//# sourceURL=webpack://ModuleName/./src/frontend/node/io/io.tsx?");
|
|
300
300
|
|
|
301
301
|
/***/ }),
|
|
302
302
|
|
|
@@ -326,7 +326,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
326
326
|
\************************************/
|
|
327
327
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
328
328
|
|
|
329
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _mui_icons_material_ExpandLess__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/icons-material/ExpandLess */ \"@mui/icons-material/ExpandLess\");\n/* harmony import */ var _mui_icons_material_ExpandLess__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_mui_icons_material_ExpandLess__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _mui_icons_material_Lan__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/icons-material/Lan */ \"@mui/icons-material/Lan\");\n/* harmony import */ var _mui_icons_material_Lan__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_mui_icons_material_Lan__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _mui_icons_material_PlayCircleFilled__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/icons-material/PlayCircleFilled */ \"@mui/icons-material/PlayCircleFilled\");\n/* harmony import */ var _mui_icons_material_PlayCircleFilled__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_mui_icons_material_PlayCircleFilled__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _node_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./node.scss */ \"./src/frontend/node/node.scss\");\n/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! .. */ \"./src/frontend/index.tsx\");\n/* harmony import */ var _io__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./io */ \"./src/frontend/node/io/index.tsx\");\n/* harmony import */ var _dialog__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../dialog */ \"./src/frontend/dialog.tsx\");\n/* harmony import */ var _body_data_renderer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./body_data_renderer */ \"./src/frontend/node/body_data_renderer.tsx\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (undefined && undefined.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n 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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar NodeHeader = function (_a) {\r\n var node_data = _a.node_data;\r\n var fnrf_zst = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(___WEBPACK_IMPORTED_MODULE_5__.FuncNodesContext);\r\n var clicktrigger = function () {\r\n fnrf_zst.on_node_action({\r\n type: \"trigger\",\r\n from_remote: false,\r\n id: node_data.id\r\n });\r\n };\r\n return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: \"nodeheader\" },\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: \"nodeheader_element\" },\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement((_mui_icons_material_PlayCircleFilled__WEBPACK_IMPORTED_MODULE_3___default()), { fontSize: \"inherit\", className: \"triggerbutton\", onClick: clicktrigger }),\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement((_mui_icons_material_Lan__WEBPACK_IMPORTED_MODULE_2___default()), { fontSize: \"inherit\", onClick: function () { return __awaiter(void 0, void 0, void 0, function () {\r\n var _a, _b;\r\n var _c;\r\n return __generator(this, function (_d) {\r\n switch (_d.label) {\r\n case 0:\r\n console.log(\"get_node_status\");\r\n _b = (_a = console).log;\r\n return [4 /*yield*/, ((_c = fnrf_zst.worker) === null || _c === void 0 ? void 0 : _c.get_node_status(node_data.id))];\r\n case 1:\r\n _b.apply(_a, [_d.sent()]);\r\n return [2 /*return*/];\r\n }\r\n });\r\n }); } })),\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: \"nodeheader_element nodeheader_title\" },\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: \"nodeheader_title_text\" }, node_data.node_name)),\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: \"nodeheader_element\" },\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement((_mui_icons_material_ExpandLess__WEBPACK_IMPORTED_MODULE_1___default()), { fontSize: \"inherit\" }))));\r\n};\r\nvar NodeDataRenderer = function (_a) {\r\n var _b, _c, _d, _e;\r\n var node_data = _a.node_data;\r\n var io = ((_c = (_b = node_data.render_options) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.src)\r\n ? node_data.io[(_e = (_d = node_data.render_options) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e.src]\r\n : undefined;\r\n var _f = io\r\n ? (0,_body_data_renderer__WEBPACK_IMPORTED_MODULE_8__.BodyDataRendererForIo)(io)\r\n : [undefined, undefined], pvhandle = _f[0], overlayhandle = _f[1];\r\n return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: \"nodrag nodedatabody\" }, pvhandle && io && (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_dialog__WEBPACK_IMPORTED_MODULE_7__[\"default\"], { trigger: react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, pvhandle({ io: io })), onOpenChange: function (open) {\r\n if (open) {\r\n io === null || io === void 0 ? void 0 : io.try_get_full_value();\r\n }\r\n } }, overlayhandle({ io: io })))));\r\n};\r\nvar NodeBody = function (_a) {\r\n var _b, _c;\r\n var node_data = _a.node_data;\r\n var inputs = Object.values(node_data.io).filter(function (io) { return io.is_input; });\r\n var outputs = Object.values(node_data.io).filter(function (io) { return !io.is_input; });\r\n if ((_c = (_b = node_data.render_options) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.src) {\r\n }\r\n return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: \"nodebody\" },\r\n outputs.map(function (io) { return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_io__WEBPACK_IMPORTED_MODULE_6__.NodeOutput, { key: io.id, io: io })); }),\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(NodeDataRenderer, { node_data: node_data }),\r\n inputs.map(function (io) { return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_io__WEBPACK_IMPORTED_MODULE_6__.NodeInput, { key: io.id, io: io })); })));\r\n};\r\nvar NodeName = function (_a) {\r\n var node_data = _a.node_data;\r\n var _b = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(node_data.name), name = _b[0], setName = _b[1];\r\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\r\n setName(node_data.name);\r\n }, [node_data]);\r\n var fnrf_zst = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(___WEBPACK_IMPORTED_MODULE_5__.FuncNodesContext);\r\n var handleChange = function (event) {\r\n setName(event.target.value);\r\n };\r\n var finalSetName = function (e) {\r\n var new_name = e.target.value;\r\n fnrf_zst.on_node_action({\r\n type: \"update\",\r\n from_remote: false,\r\n id: node_data.id,\r\n node: { name: new_name }\r\n });\r\n };\r\n return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", { className: \"nodename_input\", value: name, onChange: handleChange, onBlur: finalSetName }));\r\n};\r\nvar NodeFooter = function (_a) {\r\n var node_data = _a.node_data;\r\n return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: \"nodefooter\" }, node_data.error && react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: \"nodeerror\" }, node_data.error)));\r\n};\r\n/**\r\n * A generic function to deeply merge two objects of type T.\r\n *\r\n * @param {T} target - The target object to be merged.\r\n * @param {DeepPartial<T>} source - The source object to merge into the target. All properties of this object are optional.\r\n *\r\n * @returns {Object} An object containing the merged object (new_obj) and a boolean indicating if there was a change (change).\r\n *\r\n * @throws {Type 'string' cannot be used to index type 'T'} This error is ignored using the @ts-ignore directive because we are dynamically accessing properties of a generic type T.\r\n */\r\nvar DefaultNode = function (_a) {\r\n var data = _a.data;\r\n // Use the NodeStore to get the data for the node.\r\n var storedata = data.UseNodeStore();\r\n var collapsed = storedata.frontend.collapsed || false;\r\n var _b = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false), visualTrigger = _b[0], setVisualTrigger = _b[1];\r\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\r\n var timeoutId;\r\n // When in_trigger becomes true, set visualTrigger to true immediately\r\n if (storedata.in_trigger) {\r\n setVisualTrigger(true);\r\n }\r\n else if (visualTrigger) {\r\n // When in_trigger becomes false, wait for a minimum duration before setting visualTrigger to false\r\n timeoutId = setTimeout(function () { return setVisualTrigger(false); }, 200); // 50ms or any other duration you see fit\r\n }\r\n return function () { return clearTimeout(timeoutId); }; // Cleanup timeout on component unmount or state changes\r\n }, [storedata.in_trigger, visualTrigger]);\r\n return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null,\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: \"innernode\" +\r\n (visualTrigger ? \" intrigger\" : \"\") +\r\n (storedata.error ? \" error\" : \"\") },\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(NodeHeader, { node_data: storedata }),\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(NodeName, { node_data: storedata }),\r\n collapsed ? null : react__WEBPACK_IMPORTED_MODULE_0___default().createElement(NodeBody, { node_data: storedata }),\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(NodeFooter, { node_data: storedata }))));\r\n};\r\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DefaultNode);\r\n\n\n//# sourceURL=webpack://ModuleName/./src/frontend/node/node.tsx?");
|
|
329
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _mui_icons_material_ExpandLess__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/icons-material/ExpandLess */ \"@mui/icons-material/ExpandLess\");\n/* harmony import */ var _mui_icons_material_ExpandLess__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_mui_icons_material_ExpandLess__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _mui_icons_material_Lan__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/icons-material/Lan */ \"@mui/icons-material/Lan\");\n/* harmony import */ var _mui_icons_material_Lan__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_mui_icons_material_Lan__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _mui_icons_material_PlayCircleFilled__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/icons-material/PlayCircleFilled */ \"@mui/icons-material/PlayCircleFilled\");\n/* harmony import */ var _mui_icons_material_PlayCircleFilled__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_mui_icons_material_PlayCircleFilled__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _node_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./node.scss */ \"./src/frontend/node/node.scss\");\n/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! .. */ \"./src/frontend/index.tsx\");\n/* harmony import */ var _io__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./io */ \"./src/frontend/node/io/index.tsx\");\n/* harmony import */ var _dialog__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../dialog */ \"./src/frontend/dialog.tsx\");\n/* harmony import */ var _body_data_renderer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./body_data_renderer */ \"./src/frontend/node/body_data_renderer.tsx\");\n/* harmony import */ var _datarenderer_rendermappings__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../datarenderer/rendermappings */ \"./src/frontend/datarenderer/rendermappings.tsx\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (undefined && undefined.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n 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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar NodeHeader = function (_a) {\r\n var node_data = _a.node_data;\r\n var fnrf_zst = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(___WEBPACK_IMPORTED_MODULE_5__.FuncNodesContext);\r\n var clicktrigger = function () {\r\n fnrf_zst.on_node_action({\r\n type: \"trigger\",\r\n from_remote: false,\r\n id: node_data.id\r\n });\r\n };\r\n return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: \"nodeheader\" },\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: \"nodeheader_element\" },\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement((_mui_icons_material_PlayCircleFilled__WEBPACK_IMPORTED_MODULE_3___default()), { fontSize: \"inherit\", className: \"triggerbutton\", onClick: clicktrigger }),\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement((_mui_icons_material_Lan__WEBPACK_IMPORTED_MODULE_2___default()), { fontSize: \"inherit\", onClick: function () { return __awaiter(void 0, void 0, void 0, function () {\r\n var _a, _b;\r\n var _c;\r\n return __generator(this, function (_d) {\r\n switch (_d.label) {\r\n case 0:\r\n console.log(\"get_node_status\");\r\n _b = (_a = console).log;\r\n return [4 /*yield*/, ((_c = fnrf_zst.worker) === null || _c === void 0 ? void 0 : _c.get_node_status(node_data.id))];\r\n case 1:\r\n _b.apply(_a, [_d.sent()]);\r\n return [2 /*return*/];\r\n }\r\n });\r\n }); } })),\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: \"nodeheader_element nodeheader_title\" },\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: \"nodeheader_title_text\" }, node_data.node_name)),\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: \"nodeheader_element\" },\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement((_mui_icons_material_ExpandLess__WEBPACK_IMPORTED_MODULE_1___default()), { fontSize: \"inherit\" }))));\r\n};\r\nvar NodeDataRenderer = function (_a) {\r\n var _b, _c, _d, _e;\r\n var node_data = _a.node_data;\r\n var io = ((_c = (_b = node_data.render_options) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.src)\r\n ? node_data.io[(_e = (_d = node_data.render_options) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e.src]\r\n : undefined;\r\n var _f = io\r\n ? (0,_body_data_renderer__WEBPACK_IMPORTED_MODULE_8__.BodyDataRendererForIo)(io)\r\n : [undefined, undefined], pvhandle = _f[0], overlayhandle = _f[1];\r\n return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: \"nodrag nodedatabody\" }, pvhandle && io && (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_dialog__WEBPACK_IMPORTED_MODULE_7__[\"default\"], { trigger: react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_datarenderer_rendermappings__WEBPACK_IMPORTED_MODULE_9__.DynamicComponentLoader, { component: pvhandle, io: io })), onOpenChange: function (open) {\r\n if (open) {\r\n io === null || io === void 0 ? void 0 : io.try_get_full_value();\r\n }\r\n } }, react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_datarenderer_rendermappings__WEBPACK_IMPORTED_MODULE_9__.DynamicComponentLoader, { component: overlayhandle, io: io })))));\r\n};\r\nvar NodeBody = function (_a) {\r\n var _b, _c;\r\n var node_data = _a.node_data;\r\n var inputs = Object.values(node_data.io).filter(function (io) { return io.is_input; });\r\n var outputs = Object.values(node_data.io).filter(function (io) { return !io.is_input; });\r\n if ((_c = (_b = node_data.render_options) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.src) {\r\n }\r\n return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: \"nodebody\" },\r\n outputs.map(function (io) { return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_io__WEBPACK_IMPORTED_MODULE_6__.NodeOutput, { key: io.id, io: io })); }),\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(NodeDataRenderer, { node_data: node_data }),\r\n inputs.map(function (io) { return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_io__WEBPACK_IMPORTED_MODULE_6__.NodeInput, { key: io.id, io: io })); })));\r\n};\r\nvar NodeName = function (_a) {\r\n var node_data = _a.node_data;\r\n var _b = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(node_data.name), name = _b[0], setName = _b[1];\r\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\r\n setName(node_data.name);\r\n }, [node_data]);\r\n var fnrf_zst = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(___WEBPACK_IMPORTED_MODULE_5__.FuncNodesContext);\r\n var handleChange = function (event) {\r\n setName(event.target.value);\r\n };\r\n var finalSetName = function (e) {\r\n var new_name = e.target.value;\r\n fnrf_zst.on_node_action({\r\n type: \"update\",\r\n from_remote: false,\r\n id: node_data.id,\r\n node: { name: new_name }\r\n });\r\n };\r\n return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", { className: \"nodename_input\", value: name, onChange: handleChange, onBlur: finalSetName }));\r\n};\r\nvar NodeFooter = function (_a) {\r\n var node_data = _a.node_data;\r\n return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: \"nodefooter\" }, node_data.error && react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: \"nodeerror\" }, node_data.error)));\r\n};\r\n/**\r\n * A generic function to deeply merge two objects of type T.\r\n *\r\n * @param {T} target - The target object to be merged.\r\n * @param {DeepPartial<T>} source - The source object to merge into the target. All properties of this object are optional.\r\n *\r\n * @returns {Object} An object containing the merged object (new_obj) and a boolean indicating if there was a change (change).\r\n *\r\n * @throws {Type 'string' cannot be used to index type 'T'} This error is ignored using the @ts-ignore directive because we are dynamically accessing properties of a generic type T.\r\n */\r\nvar DefaultNode = function (_a) {\r\n var data = _a.data;\r\n // Use the NodeStore to get the data for the node.\r\n var storedata = data.UseNodeStore();\r\n var collapsed = storedata.frontend.collapsed || false;\r\n var _b = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false), visualTrigger = _b[0], setVisualTrigger = _b[1];\r\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\r\n var timeoutId;\r\n // When in_trigger becomes true, set visualTrigger to true immediately\r\n if (storedata.in_trigger) {\r\n setVisualTrigger(true);\r\n }\r\n else if (visualTrigger) {\r\n // When in_trigger becomes false, wait for a minimum duration before setting visualTrigger to false\r\n timeoutId = setTimeout(function () { return setVisualTrigger(false); }, 200); // 50ms or any other duration you see fit\r\n }\r\n return function () { return clearTimeout(timeoutId); }; // Cleanup timeout on component unmount or state changes\r\n }, [storedata.in_trigger, visualTrigger]);\r\n return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null,\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: \"innernode\" +\r\n (visualTrigger ? \" intrigger\" : \"\") +\r\n (storedata.error ? \" error\" : \"\") },\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(NodeHeader, { node_data: storedata }),\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(NodeName, { node_data: storedata }),\r\n collapsed ? null : react__WEBPACK_IMPORTED_MODULE_0___default().createElement(NodeBody, { node_data: storedata }),\r\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(NodeFooter, { node_data: storedata }))));\r\n};\r\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DefaultNode);\r\n\n\n//# sourceURL=webpack://ModuleName/./src/frontend/node/node.tsx?");
|
|
330
330
|
|
|
331
331
|
/***/ }),
|
|
332
332
|
|
|
@@ -376,7 +376,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
376
376
|
\******************************************/
|
|
377
377
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
378
378
|
|
|
379
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uuid */ \"uuid\");\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(uuid__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\nvar __assign = (undefined && undefined.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (undefined && undefined.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n 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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\n\r\n\r\nvar FuncNodesWorker = /** @class */ (function () {\r\n function FuncNodesWorker(data) {\r\n var _this = this;\r\n this.uuid = data.uuid;\r\n this.on_error = data.on_error || console.error;\r\n this.messagePromises = new Map();\r\n this._local_nodeupdates = new Map();\r\n this._nodeupdatetimer = setTimeout(function () {\r\n _this.sync_local_node_updates();\r\n }, 1000);\r\n this.is_open = true;\r\n if (data.zustand)\r\n this.set_zustand(data.zustand);\r\n }\r\n FuncNodesWorker.prototype.set_zustand = function (zustand) {\r\n this._zustand = zustand;\r\n this._zustand.auto_progress();\r\n this.fullsync();\r\n };\r\n FuncNodesWorker.prototype.fullsync = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var resp, e_1, nodeview, _i, _a, node, _b, _c, edge;\r\n return __generator(this, function (_d) {\r\n switch (_d.label) {\r\n case 0:\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n if (!this.is_open)\r\n return [2 /*return*/];\r\n _d.label = 1;\r\n case 1:\r\n if (false) {}\r\n _d.label = 2;\r\n case 2:\r\n _d.trys.push([2, 4, , 5]);\r\n return [4 /*yield*/, this._send_cmd({ cmd: \"full_state\" })];\r\n case 3:\r\n resp = (_d.sent());\r\n return [3 /*break*/, 6];\r\n case 4:\r\n e_1 = _d.sent();\r\n console.error(\"Error in fullsync\", e_1);\r\n return [3 /*break*/, 5];\r\n case 5: return [3 /*break*/, 1];\r\n case 6:\r\n console.log(\"Full state\", resp);\r\n this._zustand.lib.libstate.getState().set({\r\n lib: resp.backend.lib,\r\n external_worker: resp.worker_dependencies\r\n });\r\n if (resp.view.renderoptions)\r\n this._zustand.update_render_options(resp.view.renderoptions);\r\n nodeview = resp.view.nodes;\r\n for (_i = 0, _a = resp.backend.nodes; _i < _a.length; _i++) {\r\n node = _a[_i];\r\n if (nodeview[node.id] !== undefined) {\r\n node.frontend = nodeview[node.id];\r\n }\r\n this._recieve_node_added(node);\r\n }\r\n for (_b = 0, _c = resp.backend.edges; _b < _c.length; _b++) {\r\n edge = _c[_b];\r\n this._recieve_edge_added.apply(this, edge);\r\n }\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype._recieve_edge_added = function (src_nid, src_ioid, trg_nid, trg_ioid) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n this._zustand.on_edge_action(__assign({ type: \"add\", from_remote: true }, { src_nid: src_nid, src_ioid: src_ioid, trg_nid: trg_nid, trg_ioid: trg_ioid }));\r\n return [2 /*return*/];\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.trigger_node = function (node_id) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this._send_cmd({\r\n cmd: \"trigger_node\",\r\n kwargs: { nid: node_id },\r\n wait_for_response: false\r\n })];\r\n case 1:\r\n _a.sent();\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.add_node = function (node_id) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var resp;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this._send_cmd({\r\n cmd: \"add_node\",\r\n kwargs: { id: node_id }\r\n })];\r\n case 1:\r\n resp = _a.sent();\r\n this._recieve_node_added(resp);\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.remove_node = function (node_id) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this._send_cmd({\r\n cmd: \"remove_node\",\r\n kwargs: { id: node_id }\r\n })];\r\n case 1:\r\n _a.sent();\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype._recieve_node_added = function (data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n this._zustand.on_node_action({\r\n type: \"add\",\r\n node: data,\r\n id: data.id,\r\n from_remote: true\r\n });\r\n return [2 /*return*/];\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.add_edge = function (_a) {\r\n var src_nid = _a.src_nid, src_ioid = _a.src_ioid, trg_nid = _a.trg_nid, trg_ioid = _a.trg_ioid, _b = _a.replace, replace = _b === void 0 ? false : _b;\r\n return this._send_cmd({\r\n cmd: \"add_edge\",\r\n kwargs: { src_nid: src_nid, src_ioid: src_ioid, trg_nid: trg_nid, trg_ioid: trg_ioid, replace: replace }\r\n });\r\n };\r\n FuncNodesWorker.prototype.remove_edge = function (_a) {\r\n var src_nid = _a.src_nid, src_ioid = _a.src_ioid, trg_nid = _a.trg_nid, trg_ioid = _a.trg_ioid;\r\n return this._send_cmd({\r\n cmd: \"remove_edge\",\r\n kwargs: { src_nid: src_nid, src_ioid: src_ioid, trg_nid: trg_nid, trg_ioid: trg_ioid }\r\n });\r\n };\r\n FuncNodesWorker.prototype.add_external_worker = function (_a) {\r\n var module = _a.module, cls_module = _a.cls_module, cls_name = _a.cls_name;\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0: return [4 /*yield*/, this._send_cmd({\r\n cmd: \"add_external_worker\",\r\n kwargs: { module: module, cls_module: cls_module, cls_name: cls_name }\r\n })];\r\n case 1: return [2 /*return*/, _b.sent()];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.sync_local_node_updates = function () {\r\n var _this = this;\r\n clearTimeout(this._nodeupdatetimer);\r\n this._local_nodeupdates.forEach(function (node, id) { return __awaiter(_this, void 0, void 0, function () {\r\n var ans;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this._send_cmd({\r\n cmd: \"update_node\",\r\n kwargs: { nid: id, data: node },\r\n wait_for_response: true\r\n })];\r\n case 1:\r\n ans = _a.sent();\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n this._zustand.on_node_action({\r\n type: \"update\",\r\n node: ans,\r\n id: id,\r\n from_remote: true\r\n });\r\n return [2 /*return*/];\r\n }\r\n });\r\n }); });\r\n this._local_nodeupdates.clear();\r\n this._nodeupdatetimer = setTimeout(function () {\r\n _this.sync_local_node_updates();\r\n }, 200);\r\n };\r\n FuncNodesWorker.prototype.locally_update_node = function (action) {\r\n // Add the type to the parameter\r\n var currentstate = this._local_nodeupdates.get(action.id);\r\n if (currentstate) {\r\n var _a = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.deep_merge)(currentstate, action.node), new_obj = _a.new_obj, change = _a.change;\r\n if (change) {\r\n this._local_nodeupdates.set(action.id, new_obj);\r\n }\r\n }\r\n else {\r\n this._local_nodeupdates.set(action.id, action.node);\r\n }\r\n if (action.immediate) {\r\n this.sync_local_node_updates();\r\n }\r\n };\r\n FuncNodesWorker.prototype.get_remote_node_state = function (nid) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var ans;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this._send_cmd({\r\n cmd: \"get_node_state\",\r\n kwargs: { nid: nid },\r\n wait_for_response: true\r\n })];\r\n case 1:\r\n ans = _a.sent();\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n this._zustand.on_node_action({\r\n type: \"update\",\r\n node: ans,\r\n id: ans.id,\r\n from_remote: true\r\n });\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.set_io_value = function (_a) {\r\n var nid = _a.nid, ioid = _a.ioid, value = _a.value, _b = _a.set_default, set_default = _b === void 0 ? false : _b;\r\n if (set_default && value == \"<NoValue>\")\r\n set_default = false;\r\n return this._send_cmd({\r\n cmd: \"set_io_value\",\r\n kwargs: { nid: nid, ioid: ioid, value: value, set_default: set_default },\r\n wait_for_response: true\r\n });\r\n };\r\n FuncNodesWorker.prototype.clear = function () {\r\n return this._send_cmd({ cmd: \"clear\" });\r\n };\r\n FuncNodesWorker.prototype.save = function () {\r\n return this._send_cmd({ cmd: \"save\", wait_for_response: true });\r\n };\r\n FuncNodesWorker.prototype.load = function (data) {\r\n var _this = this;\r\n return this._send_cmd({\r\n cmd: \"load_data\",\r\n kwargs: { data: data },\r\n wait_for_response: true\r\n }).then(function () {\r\n _this.fullsync();\r\n });\r\n };\r\n FuncNodesWorker.prototype.get_io_value = function (_a) {\r\n var nid = _a.nid, ioid = _a.ioid;\r\n return this._send_cmd({\r\n cmd: \"get_io_value\",\r\n kwargs: { nid: nid, ioid: ioid },\r\n wait_for_response: true\r\n });\r\n };\r\n FuncNodesWorker.prototype._send_cmd = function (_a) {\r\n var cmd = _a.cmd, kwargs = _a.kwargs, _b = _a.wait_for_response, wait_for_response = _b === void 0 ? true : _b, _c = _a.response_timeout, response_timeout = _c === void 0 ? 5000 : _c;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var msg, msid_1, promise;\r\n var _this = this;\r\n return __generator(this, function (_d) {\r\n switch (_d.label) {\r\n case 0:\r\n msg = {\r\n type: \"cmd\",\r\n cmd: cmd,\r\n kwargs: kwargs || {}\r\n };\r\n if (!wait_for_response) return [3 /*break*/, 2];\r\n msid_1 = msg.id || (0,uuid__WEBPACK_IMPORTED_MODULE_0__.v4)();\r\n msg.id = msid_1;\r\n promise = new Promise(function (resolve, reject) {\r\n var timeout = setTimeout(function () {\r\n reject(\"Timeout@wait_for_response\");\r\n }, response_timeout);\r\n _this.messagePromises.set(msid_1, {\r\n resolve: function (data) {\r\n clearTimeout(timeout);\r\n resolve(data);\r\n _this.messagePromises[\"delete\"](msid_1);\r\n },\r\n reject: function (err) {\r\n clearTimeout(timeout);\r\n reject(err);\r\n _this.messagePromises[\"delete\"](msid_1);\r\n }\r\n });\r\n });\r\n return [4 /*yield*/, this.send(msg)];\r\n case 1:\r\n _d.sent();\r\n return [2 /*return*/, promise];\r\n case 2: return [2 /*return*/, this.send(msg)];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.send = function (_data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n // this is the abstract method that should be implemented by subclasses\r\n throw new Error(\"Not implemented\");\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.recieve_nodespace_event = function (_a) {\r\n var event = _a.event, data = _a.data;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _b, _c;\r\n return __generator(this, function (_d) {\r\n switch (event) {\r\n case \"after_set_value\":\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n return [2 /*return*/, this._zustand.on_node_action({\r\n type: \"update\",\r\n node: {\r\n id: data.node,\r\n io: (_b = {},\r\n _b[data.io] = {\r\n value: data.result\r\n },\r\n _b)\r\n },\r\n id: data.node,\r\n from_remote: true\r\n })];\r\n case \"after_update_value_options\":\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n return [2 /*return*/, this._zustand.on_node_action({\r\n type: \"update\",\r\n node: {\r\n id: data.node,\r\n io: (_c = {},\r\n _c[data.io] = {\r\n value_options: data.result\r\n },\r\n _c)\r\n },\r\n id: data.node,\r\n from_remote: true\r\n })];\r\n case \"triggerstart\":\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n return [2 /*return*/, this._zustand.on_node_action({\r\n type: \"update\",\r\n node: {\r\n id: data.node,\r\n in_trigger: true\r\n },\r\n id: data.node,\r\n from_remote: true\r\n })];\r\n case \"triggerdone\":\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n return [2 /*return*/, this._zustand.on_node_action({\r\n type: \"update\",\r\n node: {\r\n id: data.node,\r\n in_trigger: false\r\n },\r\n id: data.node,\r\n from_remote: true\r\n })];\r\n case \"node_trigger_error\":\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n return [2 /*return*/, this._zustand.on_node_action({\r\n type: \"error\",\r\n errortype: \"trigger\",\r\n error: data.error,\r\n id: data.node,\r\n from_remote: true\r\n })];\r\n case \"node_removed\":\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n return [2 /*return*/, this._zustand.on_node_action({\r\n type: \"delete\",\r\n id: data.node,\r\n from_remote: true\r\n })];\r\n case \"node_added\":\r\n return [2 /*return*/, this._recieve_node_added(data.node)];\r\n case \"after_disconnect\":\r\n if (!data.result)\r\n return [2 /*return*/];\r\n if (!Array.isArray(data.result))\r\n return [2 /*return*/];\r\n if (data.result.length !== 4)\r\n return [2 /*return*/];\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n return [2 /*return*/, this._zustand.on_edge_action({\r\n type: \"delete\",\r\n from_remote: true,\r\n src_nid: data.result[0],\r\n src_ioid: data.result[1],\r\n trg_nid: data.result[2],\r\n trg_ioid: data.result[3]\r\n })];\r\n case \"after_connect\":\r\n if (!data.result)\r\n return [2 /*return*/];\r\n if (!Array.isArray(data.result))\r\n return [2 /*return*/];\r\n if (data.result.length !== 4)\r\n return [2 /*return*/];\r\n return [2 /*return*/, this._recieve_edge_added.apply(this, data.result)];\r\n case \"after_add_shelf\":\r\n if (!data.result)\r\n return [2 /*return*/];\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n return [2 /*return*/, this._zustand.lib.libstate.getState().set({\r\n lib: data.result\r\n })];\r\n default:\r\n console.warn(\"Unhandled nodepsace event\", event, data);\r\n break;\r\n }\r\n return [2 /*return*/];\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.add_lib = function (lib) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var ans;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this._send_cmd({\r\n cmd: \"add_shelf\",\r\n kwargs: { src: lib },\r\n wait_for_response: false\r\n })];\r\n case 1:\r\n ans = _a.sent();\r\n return [2 /*return*/, ans];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.add_worker_package = function (pkg) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var ans;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this._send_cmd({\r\n cmd: \"add_worker_package\",\r\n kwargs: { src: pkg },\r\n wait_for_response: false\r\n })];\r\n case 1:\r\n ans = _a.sent();\r\n return [2 /*return*/, ans];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.recieve = function (data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var promise, _a;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n _a = data.type;\r\n switch (_a) {\r\n case \"nsevent\": return [3 /*break*/, 1];\r\n case \"result\": return [3 /*break*/, 3];\r\n case \"error\": return [3 /*break*/, 4];\r\n case \"progress\": return [3 /*break*/, 5];\r\n }\r\n return [3 /*break*/, 6];\r\n case 1: return [4 /*yield*/, this.recieve_nodespace_event(data)];\r\n case 2: return [2 /*return*/, _b.sent()];\r\n case 3:\r\n promise = data.id && this.messagePromises.get(data.id);\r\n if (promise) {\r\n return [2 /*return*/, promise.resolve(data.result)];\r\n }\r\n return [3 /*break*/, 7];\r\n case 4:\r\n this.on_error(data.tb + \"\\n\" + data.error);\r\n promise = data.id && this.messagePromises.get(data.id);\r\n if (promise) {\r\n return [2 /*return*/, promise.reject(data.error)];\r\n }\r\n return [3 /*break*/, 7];\r\n case 5:\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n this._zustand.set_progress(data);\r\n return [3 /*break*/, 7];\r\n case 6:\r\n console.warn(\"Unhandled message\", data);\r\n return [3 /*break*/, 7];\r\n case 7: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.disconnect = function () { };\r\n FuncNodesWorker.prototype.onclose = function () {\r\n this.is_open = false;\r\n if (!this._zustand)\r\n return;\r\n this._zustand.auto_progress();\r\n };\r\n FuncNodesWorker.prototype.reconnect = function () {\r\n return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {\r\n return [2 /*return*/];\r\n }); });\r\n };\r\n FuncNodesWorker.prototype.stop = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var oldonclose;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this._send_cmd({ cmd: \"stop_worker\", wait_for_response: false })];\r\n case 1:\r\n _a.sent();\r\n oldonclose = this.onclose.bind(this);\r\n this.onclose = function () {\r\n oldonclose();\r\n if (!_this._zustand)\r\n return;\r\n if (_this._zustand.worker === _this) {\r\n _this._zustand.clear_all();\r\n }\r\n _this.onclose = oldonclose;\r\n };\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.get_io_full_value = function (_a) {\r\n var nid = _a.nid, ioid = _a.ioid;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var res;\r\n var _b;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0: return [4 /*yield*/, this._send_cmd({\r\n cmd: \"get_io_full_value\",\r\n kwargs: { nid: nid, ioid: ioid },\r\n wait_for_response: true\r\n })];\r\n case 1:\r\n res = _c.sent();\r\n //console.log(\"Full value\", res);\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n this._zustand.on_node_action({\r\n type: \"update\",\r\n node: {\r\n io: (_b = {},\r\n _b[ioid] = {\r\n fullvalue: res\r\n },\r\n _b)\r\n },\r\n id: nid,\r\n from_remote: true\r\n });\r\n return [2 /*return*/, res];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.get_node_status = function (nid) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var res;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this._send_cmd({\r\n cmd: \"get_node_state\",\r\n kwargs: { nid: nid },\r\n wait_for_response: true\r\n })];\r\n case 1:\r\n res = _a.sent();\r\n return [2 /*return*/, res];\r\n }\r\n });\r\n });\r\n };\r\n return FuncNodesWorker;\r\n}());\r\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FuncNodesWorker);\r\n\n\n//# sourceURL=webpack://ModuleName/./src/funcnodes/funcnodesworker.ts?");
|
|
379
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uuid */ \"uuid\");\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(uuid__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\nvar __assign = (undefined && undefined.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (undefined && undefined.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n 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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\n\r\n\r\nvar FuncNodesWorker = /** @class */ (function () {\r\n function FuncNodesWorker(data) {\r\n var _this = this;\r\n this.uuid = data.uuid;\r\n this.on_error = data.on_error || console.error;\r\n this.messagePromises = new Map();\r\n this._local_nodeupdates = new Map();\r\n this._nodeupdatetimer = setTimeout(function () {\r\n _this.sync_local_node_updates();\r\n }, 1000);\r\n this.is_open = true;\r\n if (data.zustand)\r\n this.set_zustand(data.zustand);\r\n }\r\n FuncNodesWorker.prototype.set_zustand = function (zustand) {\r\n this._zustand = zustand;\r\n this._zustand.auto_progress();\r\n this.stepwise_fullsync();\r\n };\r\n FuncNodesWorker.prototype.stepwise_fullsync = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n if (!this.is_open)\r\n return [2 /*return*/];\r\n return [4 /*yield*/, this.sync_lib()];\r\n case 1:\r\n _a.sent();\r\n return [4 /*yield*/, this.sync_external_worker()];\r\n case 2:\r\n _a.sent();\r\n return [4 /*yield*/, this.sync_funcnodes_plugins()];\r\n case 3:\r\n _a.sent();\r\n return [4 /*yield*/, this.sync_nodespace()];\r\n case 4:\r\n _a.sent();\r\n return [4 /*yield*/, this.sync_view_state()];\r\n case 5:\r\n _a.sent();\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.sync_lib = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var resp;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n if (!this.is_open)\r\n return [2 /*return*/];\r\n return [4 /*yield*/, this._send_cmd({\r\n cmd: \"get_library\",\r\n wait_for_response: true,\r\n retries: 2\r\n })];\r\n case 1:\r\n resp = _a.sent();\r\n this._zustand.lib.libstate.getState().set({\r\n lib: resp\r\n });\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.sync_external_worker = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var resp;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n if (!this.is_open)\r\n return [2 /*return*/];\r\n return [4 /*yield*/, this._send_cmd({\r\n cmd: \"get_worker_dependencies\",\r\n wait_for_response: true\r\n })];\r\n case 1:\r\n resp = _a.sent();\r\n this._zustand.lib.libstate.getState().set({\r\n external_worker: resp\r\n });\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.sync_funcnodes_plugins = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var resp, _i, resp_1, key, plugin, binaryString, binaryLen, bytes, i, blob, blobUrl, module_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n if (!this.is_open)\r\n return [2 /*return*/];\r\n return [4 /*yield*/, this._send_cmd({\r\n cmd: \"get_plugin_keys\",\r\n wait_for_response: true,\r\n kwargs: { type: \"react\" }\r\n })];\r\n case 1:\r\n resp = (_a.sent());\r\n _i = 0, resp_1 = resp;\r\n _a.label = 2;\r\n case 2:\r\n if (!(_i < resp_1.length)) return [3 /*break*/, 6];\r\n key = resp_1[_i];\r\n return [4 /*yield*/, this._send_cmd({\r\n cmd: \"get_plugin\",\r\n wait_for_response: true,\r\n kwargs: { key: key, type: \"react\" }\r\n })];\r\n case 3:\r\n plugin = _a.sent();\r\n if (!(plugin.js !== undefined)) return [3 /*break*/, 5];\r\n binaryString = atob(plugin.js);\r\n binaryLen = binaryString.length;\r\n bytes = new Uint8Array(binaryLen);\r\n for (i = 0; i < binaryLen; i++) {\r\n bytes[i] = binaryString.charCodeAt(i);\r\n }\r\n blob = new Blob([bytes], { type: \"application/javascript\" });\r\n blobUrl = URL.createObjectURL(blob);\r\n return [4 /*yield*/, import(/* webpackIgnore: true */ blobUrl)];\r\n case 4:\r\n module_1 = _a.sent();\r\n // gc the blob\r\n URL.revokeObjectURL(blobUrl);\r\n this._zustand.add_plugin(key, module_1[\"default\"]);\r\n _a.label = 5;\r\n case 5:\r\n _i++;\r\n return [3 /*break*/, 2];\r\n case 6: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.sync_view_state = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var resp, nodeview, nodeid, nodev;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n if (!this.is_open)\r\n return [2 /*return*/];\r\n return [4 /*yield*/, this._send_cmd({\r\n cmd: \"view_state\",\r\n wait_for_response: true\r\n })];\r\n case 1:\r\n resp = (_a.sent());\r\n if (resp.renderoptions)\r\n this._zustand.update_render_options(resp.renderoptions);\r\n nodeview = resp.nodes;\r\n if (nodeview) {\r\n for (nodeid in nodeview) {\r\n nodev = nodeview[nodeid];\r\n this._zustand.on_node_action({\r\n type: \"update\",\r\n node: {\r\n frontend: nodev\r\n },\r\n id: nodeid,\r\n from_remote: true\r\n });\r\n }\r\n }\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.sync_nodespace = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var resp, _i, resp_2, node, edges, _a, edges_1, edge;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n if (!this.is_open)\r\n return [2 /*return*/];\r\n return [4 /*yield*/, this._send_cmd({\r\n cmd: \"get_nodes\",\r\n kwargs: { with_frontend: true },\r\n wait_for_response: true\r\n })];\r\n case 1:\r\n resp = (_b.sent());\r\n for (_i = 0, resp_2 = resp; _i < resp_2.length; _i++) {\r\n node = resp_2[_i];\r\n this._recieve_node_added(node);\r\n }\r\n return [4 /*yield*/, this._send_cmd({\r\n cmd: \"get_edges\",\r\n wait_for_response: true\r\n })];\r\n case 2:\r\n edges = (_b.sent());\r\n for (_a = 0, edges_1 = edges; _a < edges_1.length; _a++) {\r\n edge = edges_1[_a];\r\n this._recieve_edge_added.apply(this, edge);\r\n }\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.fullsync = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var resp, e_1, nodeview, _i, _a, node, _b, _c, edge;\r\n return __generator(this, function (_d) {\r\n switch (_d.label) {\r\n case 0:\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n if (!this.is_open)\r\n return [2 /*return*/];\r\n _d.label = 1;\r\n case 1:\r\n if (false) {}\r\n _d.label = 2;\r\n case 2:\r\n _d.trys.push([2, 4, , 5]);\r\n return [4 /*yield*/, this._send_cmd({ cmd: \"full_state\" })];\r\n case 3:\r\n resp = (_d.sent());\r\n return [3 /*break*/, 6];\r\n case 4:\r\n e_1 = _d.sent();\r\n console.error(\"Error in fullsync\", e_1);\r\n return [3 /*break*/, 5];\r\n case 5: return [3 /*break*/, 1];\r\n case 6:\r\n console.log(\"Full state\", resp);\r\n this._zustand.lib.libstate.getState().set({\r\n lib: resp.backend.lib,\r\n external_worker: resp.worker_dependencies\r\n });\r\n if (resp.view.renderoptions)\r\n this._zustand.update_render_options(resp.view.renderoptions);\r\n nodeview = resp.view.nodes;\r\n for (_i = 0, _a = resp.backend.nodes; _i < _a.length; _i++) {\r\n node = _a[_i];\r\n if (nodeview[node.id] !== undefined) {\r\n node.frontend = nodeview[node.id];\r\n }\r\n this._recieve_node_added(node);\r\n }\r\n for (_b = 0, _c = resp.backend.edges; _b < _c.length; _b++) {\r\n edge = _c[_b];\r\n this._recieve_edge_added.apply(this, edge);\r\n }\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype._recieve_edge_added = function (src_nid, src_ioid, trg_nid, trg_ioid) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n this._zustand.on_edge_action(__assign({ type: \"add\", from_remote: true }, { src_nid: src_nid, src_ioid: src_ioid, trg_nid: trg_nid, trg_ioid: trg_ioid }));\r\n return [2 /*return*/];\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.trigger_node = function (node_id) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this._send_cmd({\r\n cmd: \"trigger_node\",\r\n kwargs: { nid: node_id },\r\n wait_for_response: false\r\n })];\r\n case 1:\r\n _a.sent();\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.add_node = function (node_id) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var resp;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this._send_cmd({\r\n cmd: \"add_node\",\r\n kwargs: { id: node_id }\r\n })];\r\n case 1:\r\n resp = _a.sent();\r\n this._recieve_node_added(resp);\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.remove_node = function (node_id) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this._send_cmd({\r\n cmd: \"remove_node\",\r\n kwargs: { id: node_id }\r\n })];\r\n case 1:\r\n _a.sent();\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype._recieve_node_added = function (data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n this._zustand.on_node_action({\r\n type: \"add\",\r\n node: data,\r\n id: data.id,\r\n from_remote: true\r\n });\r\n return [2 /*return*/];\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.add_edge = function (_a) {\r\n var src_nid = _a.src_nid, src_ioid = _a.src_ioid, trg_nid = _a.trg_nid, trg_ioid = _a.trg_ioid, _b = _a.replace, replace = _b === void 0 ? false : _b;\r\n return this._send_cmd({\r\n cmd: \"add_edge\",\r\n kwargs: { src_nid: src_nid, src_ioid: src_ioid, trg_nid: trg_nid, trg_ioid: trg_ioid, replace: replace }\r\n });\r\n };\r\n FuncNodesWorker.prototype.remove_edge = function (_a) {\r\n var src_nid = _a.src_nid, src_ioid = _a.src_ioid, trg_nid = _a.trg_nid, trg_ioid = _a.trg_ioid;\r\n return this._send_cmd({\r\n cmd: \"remove_edge\",\r\n kwargs: { src_nid: src_nid, src_ioid: src_ioid, trg_nid: trg_nid, trg_ioid: trg_ioid }\r\n });\r\n };\r\n FuncNodesWorker.prototype.add_external_worker = function (_a) {\r\n var module = _a.module, cls_module = _a.cls_module, cls_name = _a.cls_name;\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0: return [4 /*yield*/, this._send_cmd({\r\n cmd: \"add_external_worker\",\r\n kwargs: { module: module, cls_module: cls_module, cls_name: cls_name }\r\n })];\r\n case 1: return [2 /*return*/, _b.sent()];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.sync_local_node_updates = function () {\r\n var _this = this;\r\n clearTimeout(this._nodeupdatetimer);\r\n this._local_nodeupdates.forEach(function (node, id) { return __awaiter(_this, void 0, void 0, function () {\r\n var ans;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this._send_cmd({\r\n cmd: \"update_node\",\r\n kwargs: { nid: id, data: node },\r\n wait_for_response: true\r\n })];\r\n case 1:\r\n ans = _a.sent();\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n this._zustand.on_node_action({\r\n type: \"update\",\r\n node: ans,\r\n id: id,\r\n from_remote: true\r\n });\r\n return [2 /*return*/];\r\n }\r\n });\r\n }); });\r\n this._local_nodeupdates.clear();\r\n this._nodeupdatetimer = setTimeout(function () {\r\n _this.sync_local_node_updates();\r\n }, 200);\r\n };\r\n FuncNodesWorker.prototype.locally_update_node = function (action) {\r\n // Add the type to the parameter\r\n var currentstate = this._local_nodeupdates.get(action.id);\r\n if (currentstate) {\r\n var _a = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.deep_merge)(currentstate, action.node), new_obj = _a.new_obj, change = _a.change;\r\n if (change) {\r\n this._local_nodeupdates.set(action.id, new_obj);\r\n }\r\n }\r\n else {\r\n this._local_nodeupdates.set(action.id, action.node);\r\n }\r\n if (action.immediate) {\r\n this.sync_local_node_updates();\r\n }\r\n };\r\n FuncNodesWorker.prototype.get_remote_node_state = function (nid) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var ans;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this._send_cmd({\r\n cmd: \"get_node_state\",\r\n kwargs: { nid: nid },\r\n wait_for_response: true\r\n })];\r\n case 1:\r\n ans = _a.sent();\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n this._zustand.on_node_action({\r\n type: \"update\",\r\n node: ans,\r\n id: ans.id,\r\n from_remote: true\r\n });\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.set_io_value = function (_a) {\r\n var nid = _a.nid, ioid = _a.ioid, value = _a.value, _b = _a.set_default, set_default = _b === void 0 ? false : _b;\r\n if (set_default && value == \"<NoValue>\")\r\n set_default = false;\r\n return this._send_cmd({\r\n cmd: \"set_io_value\",\r\n kwargs: { nid: nid, ioid: ioid, value: value, set_default: set_default },\r\n wait_for_response: true\r\n });\r\n };\r\n FuncNodesWorker.prototype.clear = function () {\r\n return this._send_cmd({ cmd: \"clear\" });\r\n };\r\n FuncNodesWorker.prototype.save = function () {\r\n return this._send_cmd({ cmd: \"save\", wait_for_response: true });\r\n };\r\n FuncNodesWorker.prototype.load = function (data) {\r\n var _this = this;\r\n return this._send_cmd({\r\n cmd: \"load_data\",\r\n kwargs: { data: data },\r\n wait_for_response: true\r\n }).then(function () {\r\n _this.stepwise_fullsync();\r\n });\r\n };\r\n FuncNodesWorker.prototype.get_io_value = function (_a) {\r\n var nid = _a.nid, ioid = _a.ioid;\r\n return this._send_cmd({\r\n cmd: \"get_io_value\",\r\n kwargs: { nid: nid, ioid: ioid },\r\n wait_for_response: true\r\n });\r\n };\r\n FuncNodesWorker.prototype._send_cmd = function (_a) {\r\n var cmd = _a.cmd, kwargs = _a.kwargs, _b = _a.wait_for_response, wait_for_response = _b === void 0 ? true : _b, _c = _a.response_timeout, response_timeout = _c === void 0 ? 5000 : _c, _d = _a.retries, retries = _d === void 0 ? 2 : _d;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var msg, wait_for_response_callback;\r\n var _this = this;\r\n return __generator(this, function (_e) {\r\n msg = {\r\n type: \"cmd\",\r\n cmd: cmd,\r\n kwargs: kwargs || {}\r\n };\r\n if (wait_for_response) {\r\n if (retries < 0)\r\n retries = 0;\r\n wait_for_response_callback = function () { return __awaiter(_this, void 0, void 0, function () {\r\n var response, _loop_1, this_1, state_1;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n _loop_1 = function () {\r\n var msid, promise, e_2;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n msid = msg.id || (0,uuid__WEBPACK_IMPORTED_MODULE_0__.v4)();\r\n msg.id = msid;\r\n promise = new Promise(function (resolve, reject) {\r\n var timeout = setTimeout(function () {\r\n reject(\"Timeout@wait_for_response for \" + cmd);\r\n }, response_timeout);\r\n _this.messagePromises.set(msid, {\r\n resolve: function (data) {\r\n clearTimeout(timeout);\r\n resolve(data);\r\n _this.messagePromises[\"delete\"](msid);\r\n },\r\n reject: function (err) {\r\n clearTimeout(timeout);\r\n reject(err);\r\n _this.messagePromises[\"delete\"](msid);\r\n }\r\n });\r\n });\r\n return [4 /*yield*/, this_1.send(msg)];\r\n case 1:\r\n _b.sent();\r\n _b.label = 2;\r\n case 2:\r\n _b.trys.push([2, 4, , 5]);\r\n return [4 /*yield*/, promise];\r\n case 3:\r\n response = _b.sent();\r\n return [2 /*return*/, \"break\"];\r\n case 4:\r\n e_2 = _b.sent();\r\n if (retries === 0)\r\n throw e_2;\r\n retries -= 1;\r\n return [2 /*return*/, \"continue\"];\r\n case 5: return [2 /*return*/];\r\n }\r\n });\r\n };\r\n this_1 = this;\r\n _a.label = 1;\r\n case 1:\r\n if (!(retries >= 0)) return [3 /*break*/, 3];\r\n return [5 /*yield**/, _loop_1()];\r\n case 2:\r\n state_1 = _a.sent();\r\n if (state_1 === \"break\")\r\n return [3 /*break*/, 3];\r\n return [3 /*break*/, 1];\r\n case 3: return [2 /*return*/, response];\r\n }\r\n });\r\n }); };\r\n return [2 /*return*/, wait_for_response_callback()];\r\n }\r\n return [2 /*return*/, this.send(msg)];\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.send = function (_data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n // this is the abstract method that should be implemented by subclasses\r\n throw new Error(\"Not implemented\");\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.recieve_nodespace_event = function (_a) {\r\n var event = _a.event, data = _a.data;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _b, _c;\r\n return __generator(this, function (_d) {\r\n switch (event) {\r\n case \"after_set_value\":\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n return [2 /*return*/, this._zustand.on_node_action({\r\n type: \"update\",\r\n node: {\r\n id: data.node,\r\n io: (_b = {},\r\n _b[data.io] = {\r\n value: data.result\r\n },\r\n _b)\r\n },\r\n id: data.node,\r\n from_remote: true\r\n })];\r\n case \"after_update_value_options\":\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n return [2 /*return*/, this._zustand.on_node_action({\r\n type: \"update\",\r\n node: {\r\n id: data.node,\r\n io: (_c = {},\r\n _c[data.io] = {\r\n value_options: data.result\r\n },\r\n _c)\r\n },\r\n id: data.node,\r\n from_remote: true\r\n })];\r\n case \"triggerstart\":\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n return [2 /*return*/, this._zustand.on_node_action({\r\n type: \"update\",\r\n node: {\r\n id: data.node,\r\n in_trigger: true\r\n },\r\n id: data.node,\r\n from_remote: true\r\n })];\r\n case \"triggerdone\":\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n return [2 /*return*/, this._zustand.on_node_action({\r\n type: \"update\",\r\n node: {\r\n id: data.node,\r\n in_trigger: false\r\n },\r\n id: data.node,\r\n from_remote: true\r\n })];\r\n case \"node_trigger_error\":\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n return [2 /*return*/, this._zustand.on_node_action({\r\n type: \"error\",\r\n errortype: \"trigger\",\r\n error: data.error,\r\n id: data.node,\r\n from_remote: true\r\n })];\r\n case \"node_removed\":\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n return [2 /*return*/, this._zustand.on_node_action({\r\n type: \"delete\",\r\n id: data.node,\r\n from_remote: true\r\n })];\r\n case \"node_added\":\r\n return [2 /*return*/, this._recieve_node_added(data.node)];\r\n case \"after_disconnect\":\r\n if (!data.result)\r\n return [2 /*return*/];\r\n if (!Array.isArray(data.result))\r\n return [2 /*return*/];\r\n if (data.result.length !== 4)\r\n return [2 /*return*/];\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n return [2 /*return*/, this._zustand.on_edge_action({\r\n type: \"delete\",\r\n from_remote: true,\r\n src_nid: data.result[0],\r\n src_ioid: data.result[1],\r\n trg_nid: data.result[2],\r\n trg_ioid: data.result[3]\r\n })];\r\n case \"after_connect\":\r\n if (!data.result)\r\n return [2 /*return*/];\r\n if (!Array.isArray(data.result))\r\n return [2 /*return*/];\r\n if (data.result.length !== 4)\r\n return [2 /*return*/];\r\n return [2 /*return*/, this._recieve_edge_added.apply(this, data.result)];\r\n case \"after_add_shelf\":\r\n if (!data.result)\r\n return [2 /*return*/];\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n return [2 /*return*/, this._zustand.lib.libstate.getState().set({\r\n lib: data.result\r\n })];\r\n default:\r\n console.warn(\"Unhandled nodepsace event\", event, data);\r\n break;\r\n }\r\n return [2 /*return*/];\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.add_lib = function (lib) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var ans;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this._send_cmd({\r\n cmd: \"add_shelf\",\r\n kwargs: { src: lib },\r\n wait_for_response: false\r\n })];\r\n case 1:\r\n ans = _a.sent();\r\n return [2 /*return*/, ans];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.add_worker_package = function (pkg) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var ans;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this._send_cmd({\r\n cmd: \"add_worker_package\",\r\n kwargs: { src: pkg },\r\n wait_for_response: false\r\n })];\r\n case 1:\r\n ans = _a.sent();\r\n return [2 /*return*/, ans];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.recieve = function (data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var promise, _a;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n _a = data.type;\r\n switch (_a) {\r\n case \"nsevent\": return [3 /*break*/, 1];\r\n case \"result\": return [3 /*break*/, 3];\r\n case \"error\": return [3 /*break*/, 4];\r\n case \"progress\": return [3 /*break*/, 5];\r\n }\r\n return [3 /*break*/, 6];\r\n case 1: return [4 /*yield*/, this.recieve_nodespace_event(data)];\r\n case 2: return [2 /*return*/, _b.sent()];\r\n case 3:\r\n promise = data.id && this.messagePromises.get(data.id);\r\n if (promise) {\r\n return [2 /*return*/, promise.resolve(data.result)];\r\n }\r\n return [3 /*break*/, 7];\r\n case 4:\r\n this.on_error(data.tb + \"\\n\" + data.error);\r\n promise = data.id && this.messagePromises.get(data.id);\r\n if (promise) {\r\n return [2 /*return*/, promise.reject(data.error)];\r\n }\r\n return [3 /*break*/, 7];\r\n case 5:\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n this._zustand.set_progress(data);\r\n return [3 /*break*/, 7];\r\n case 6:\r\n console.warn(\"Unhandled message\", data);\r\n return [3 /*break*/, 7];\r\n case 7: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.disconnect = function () { };\r\n FuncNodesWorker.prototype.onclose = function () {\r\n this.is_open = false;\r\n if (!this._zustand)\r\n return;\r\n this._zustand.auto_progress();\r\n };\r\n FuncNodesWorker.prototype.reconnect = function () {\r\n return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {\r\n return [2 /*return*/];\r\n }); });\r\n };\r\n FuncNodesWorker.prototype.stop = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var oldonclose;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this._send_cmd({ cmd: \"stop_worker\", wait_for_response: false })];\r\n case 1:\r\n _a.sent();\r\n oldonclose = this.onclose.bind(this);\r\n this.onclose = function () {\r\n oldonclose();\r\n if (!_this._zustand)\r\n return;\r\n if (_this._zustand.worker === _this) {\r\n _this._zustand.clear_all();\r\n }\r\n _this.onclose = oldonclose;\r\n };\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.get_io_full_value = function (_a) {\r\n var nid = _a.nid, ioid = _a.ioid;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var res;\r\n var _b;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0: return [4 /*yield*/, this._send_cmd({\r\n cmd: \"get_io_full_value\",\r\n kwargs: { nid: nid, ioid: ioid },\r\n wait_for_response: true\r\n })];\r\n case 1:\r\n res = _c.sent();\r\n //console.log(\"Full value\", res);\r\n if (!this._zustand)\r\n return [2 /*return*/];\r\n this._zustand.on_node_action({\r\n type: \"update\",\r\n node: {\r\n io: (_b = {},\r\n _b[ioid] = {\r\n fullvalue: res\r\n },\r\n _b)\r\n },\r\n id: nid,\r\n from_remote: true\r\n });\r\n return [2 /*return*/, res];\r\n }\r\n });\r\n });\r\n };\r\n FuncNodesWorker.prototype.get_node_status = function (nid) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var res;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this._send_cmd({\r\n cmd: \"get_node_state\",\r\n kwargs: { nid: nid },\r\n wait_for_response: true\r\n })];\r\n case 1:\r\n res = _a.sent();\r\n return [2 /*return*/, res];\r\n }\r\n });\r\n });\r\n };\r\n return FuncNodesWorker;\r\n}());\r\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FuncNodesWorker);\r\n\n\n//# sourceURL=webpack://ModuleName/./src/funcnodes/funcnodesworker.ts?");
|
|
380
380
|
|
|
381
381
|
/***/ }),
|
|
382
382
|
|
|
@@ -396,7 +396,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
396
396
|
\******************************************/
|
|
397
397
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
398
398
|
|
|
399
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _funcnodesworker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./funcnodesworker */ \"./src/funcnodes/funcnodesworker.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (undefined && undefined.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n 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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\n\r\nvar WebSocketWorker = /** @class */ (function (_super) {\r\n __extends(WebSocketWorker, _super);\r\n function WebSocketWorker(data) {\r\n var _this = _super.call(this, data) || this;\r\n _this._websocket = null;\r\n _this.reconnectAttempts = 0;\r\n _this.maxReconnectAttempts = 999;\r\n _this.initialTimeout = 200; // Initial reconnect delay in ms\r\n _this.maxTimeout = 5000; // Maximum reconnect delay\r\n _this._reconnect = true;\r\n _this._url = data.url;\r\n _this.connect();\r\n if (_this._zustand)\r\n _this._zustand.auto_progress();\r\n return _this;\r\n }\r\n WebSocketWorker.prototype.connect = function () {\r\n var _this = this;\r\n console.log(\"Connecting to websocket\");\r\n this.is_open = false;\r\n this._websocket = new WebSocket(this._url);\r\n this._websocket.onopen = function () {\r\n _this.onopen();\r\n };\r\n this._websocket.onclose = function () {\r\n _this.onclose();\r\n };\r\n this._websocket.onerror = function () {\r\n _this.on_ws_error();\r\n };\r\n this._websocket.onmessage = function (event) {\r\n _this.onmessage(event.data);\r\n };\r\n };\r\n WebSocketWorker.prototype.calculateReconnectTimeout = function () {\r\n // Increase timeout exponentially, capped at maxTimeout\r\n var timeout = Math.min(this.initialTimeout * Math.pow(2, this.reconnectAttempts), this.maxTimeout);\r\n return timeout;\r\n };\r\n WebSocketWorker.prototype.auto_reconnect = function () {\r\n var _this = this;\r\n if (this.reconnectAttempts < this.maxReconnectAttempts) {\r\n var timeout = this.calculateReconnectTimeout();\r\n console.log(\"Attempting to reconnect in \".concat(timeout, \" ms\"));\r\n setTimeout(function () {\r\n if (_this._websocket) {\r\n if (_this._websocket.readyState === WebSocket.OPEN) {\r\n return;\r\n }\r\n }\r\n _this.reconnectAttempts++;\r\n _this.connect();\r\n }, timeout);\r\n }\r\n else {\r\n console.warn(\"Maximum reconnect attempts reached. Giving up.\");\r\n }\r\n };\r\n WebSocketWorker.prototype.onmessage = function (data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.recieve(JSON.parse(data))];\r\n case 1:\r\n _a.sent();\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n WebSocketWorker.prototype.onopen = function () {\r\n console.log(\"Websocket opened\");\r\n this.is_open = true;\r\n if (this._zustand)\r\n this._zustand.auto_progress();\r\n this.reconnectAttempts = 0;\r\n this.fullsync();\r\n };\r\n WebSocketWorker.prototype.onclose = function () {\r\n console.log(\"Websocket closed\", this);\r\n _super.prototype.onclose.call(this);\r\n if (this._reconnect) {\r\n console.log(\"Websocket closed,reconnecting\");\r\n this.auto_reconnect(); // Attempt to reconnect\r\n }\r\n };\r\n WebSocketWorker.prototype.on_ws_error = function () {\r\n console.warn(\"Websocket error\");\r\n if (this._websocket) {\r\n this._websocket.close(); // Ensure the connection is closed before attempting to reconnect\r\n }\r\n else {\r\n this.auto_reconnect();\r\n }\r\n };\r\n WebSocketWorker.prototype.send = function (data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n if (!this._websocket || this._websocket.readyState !== WebSocket.OPEN) {\r\n console.warn(\"Websocket not connected\");\r\n return [2 /*return*/];\r\n }\r\n this._websocket.send(JSON.stringify(data));\r\n return [2 /*return*/];\r\n });\r\n });\r\n };\r\n WebSocketWorker.prototype.stop = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, _super.prototype.stop.call(this)];\r\n case 1:\r\n _a.sent();\r\n this._reconnect = false;\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n WebSocketWorker.prototype.close = function () {\r\n if (this._websocket)\r\n this._websocket.close();\r\n };\r\n WebSocketWorker.prototype.disconnect = function () {\r\n _super.prototype.disconnect.call(this);\r\n this._reconnect = false;\r\n this.close();\r\n };\r\n WebSocketWorker.prototype.reconnect = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, _super.prototype.reconnect.call(this)];\r\n case 1:\r\n _a.sent();\r\n this._reconnect = true;\r\n if (!this._websocket) return [3 /*break*/, 4];\r\n console.log(\"Reconnecting\", this._websocket.readyState);\r\n if (!(this._websocket.readyState === WebSocket.OPEN ||\r\n this._websocket.readyState === WebSocket.CONNECTING)) return [3 /*break*/, 4];\r\n if (!(this._websocket.readyState === WebSocket.CONNECTING)) return [3 /*break*/, 3];\r\n //await to ensure the websocket is connected, with a timeout of 2 seconds\r\n return [4 /*yield*/, new Promise(function (resolve, reject) {\r\n if (_this._websocket === null)\r\n return;\r\n var timeout = setTimeout(function () {\r\n reject(\"Timeout@reconnect\");\r\n }, 2000);\r\n _this._websocket.addEventListener(\"open\", function () {\r\n clearTimeout(timeout);\r\n resolve(null);\r\n }, { once: true });\r\n if (_this._websocket.readyState === WebSocket.OPEN) {\r\n clearTimeout(timeout);\r\n resolve(null);\r\n }\r\n })];\r\n case 2:\r\n //await to ensure the websocket is connected, with a timeout of 2 seconds\r\n _a.sent();\r\n _a.label = 3;\r\n case 3:\r\n if (this._websocket.readyState === WebSocket.OPEN) {\r\n this.fullsync();\r\n return [2 /*return*/];\r\n }\r\n _a.label = 4;\r\n case 4:\r\n this.connect();\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n return WebSocketWorker;\r\n}(_funcnodesworker__WEBPACK_IMPORTED_MODULE_0__[\"default\"]));\r\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (WebSocketWorker);\r\n\n\n//# sourceURL=webpack://ModuleName/./src/funcnodes/websocketworker.ts?");
|
|
399
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _funcnodesworker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./funcnodesworker */ \"./src/funcnodes/funcnodesworker.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (undefined && undefined.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n 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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\n\r\nvar WebSocketWorker = /** @class */ (function (_super) {\r\n __extends(WebSocketWorker, _super);\r\n function WebSocketWorker(data) {\r\n var _this = _super.call(this, data) || this;\r\n _this._websocket = null;\r\n _this.reconnectAttempts = 0;\r\n _this.maxReconnectAttempts = 999;\r\n _this.initialTimeout = 200; // Initial reconnect delay in ms\r\n _this.maxTimeout = 5000; // Maximum reconnect delay\r\n _this._reconnect = true;\r\n _this._url = data.url;\r\n _this.connect();\r\n if (_this._zustand)\r\n _this._zustand.auto_progress();\r\n return _this;\r\n }\r\n WebSocketWorker.prototype.connect = function () {\r\n var _this = this;\r\n console.log(\"Connecting to websocket\");\r\n this.is_open = false;\r\n this._websocket = new WebSocket(this._url);\r\n this._websocket.onopen = function () {\r\n _this.onopen();\r\n };\r\n this._websocket.onclose = function () {\r\n _this.onclose();\r\n };\r\n this._websocket.onerror = function () {\r\n _this.on_ws_error();\r\n };\r\n this._websocket.onmessage = function (event) {\r\n _this.onmessage(event.data);\r\n };\r\n };\r\n WebSocketWorker.prototype.calculateReconnectTimeout = function () {\r\n // Increase timeout exponentially, capped at maxTimeout\r\n var timeout = Math.min(this.initialTimeout * Math.pow(2, this.reconnectAttempts), this.maxTimeout);\r\n return timeout;\r\n };\r\n WebSocketWorker.prototype.auto_reconnect = function () {\r\n var _this = this;\r\n if (this.reconnectAttempts < this.maxReconnectAttempts) {\r\n var timeout = this.calculateReconnectTimeout();\r\n console.log(\"Attempting to reconnect in \".concat(timeout, \" ms\"));\r\n setTimeout(function () {\r\n if (_this._websocket) {\r\n if (_this._websocket.readyState === WebSocket.OPEN) {\r\n return;\r\n }\r\n }\r\n _this.reconnectAttempts++;\r\n _this.connect();\r\n }, timeout);\r\n }\r\n else {\r\n console.warn(\"Maximum reconnect attempts reached. Giving up.\");\r\n }\r\n };\r\n WebSocketWorker.prototype.onmessage = function (data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.recieve(JSON.parse(data))];\r\n case 1:\r\n _a.sent();\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n WebSocketWorker.prototype.onopen = function () {\r\n console.log(\"Websocket opened\");\r\n this.is_open = true;\r\n if (this._zustand)\r\n this._zustand.auto_progress();\r\n this.reconnectAttempts = 0;\r\n this.stepwise_fullsync();\r\n };\r\n WebSocketWorker.prototype.onclose = function () {\r\n console.log(\"Websocket closed\", this);\r\n _super.prototype.onclose.call(this);\r\n if (this._reconnect) {\r\n console.log(\"Websocket closed,reconnecting\");\r\n this.auto_reconnect(); // Attempt to reconnect\r\n }\r\n };\r\n WebSocketWorker.prototype.on_ws_error = function () {\r\n console.warn(\"Websocket error\");\r\n if (this._websocket) {\r\n this._websocket.close(); // Ensure the connection is closed before attempting to reconnect\r\n }\r\n else {\r\n this.auto_reconnect();\r\n }\r\n };\r\n WebSocketWorker.prototype.send = function (data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n if (!this._websocket || this._websocket.readyState !== WebSocket.OPEN) {\r\n console.warn(\"Websocket not connected\");\r\n return [2 /*return*/];\r\n }\r\n this._websocket.send(JSON.stringify(data));\r\n return [2 /*return*/];\r\n });\r\n });\r\n };\r\n WebSocketWorker.prototype.stop = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, _super.prototype.stop.call(this)];\r\n case 1:\r\n _a.sent();\r\n this._reconnect = false;\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n WebSocketWorker.prototype.close = function () {\r\n if (this._websocket)\r\n this._websocket.close();\r\n };\r\n WebSocketWorker.prototype.disconnect = function () {\r\n _super.prototype.disconnect.call(this);\r\n this._reconnect = false;\r\n this.close();\r\n };\r\n WebSocketWorker.prototype.reconnect = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, _super.prototype.reconnect.call(this)];\r\n case 1:\r\n _a.sent();\r\n this._reconnect = true;\r\n if (!this._websocket) return [3 /*break*/, 4];\r\n console.log(\"Reconnecting\", this._websocket.readyState);\r\n if (!(this._websocket.readyState === WebSocket.OPEN ||\r\n this._websocket.readyState === WebSocket.CONNECTING)) return [3 /*break*/, 4];\r\n if (!(this._websocket.readyState === WebSocket.CONNECTING)) return [3 /*break*/, 3];\r\n //await to ensure the websocket is connected, with a timeout of 2 seconds\r\n return [4 /*yield*/, new Promise(function (resolve, reject) {\r\n if (_this._websocket === null)\r\n return;\r\n var timeout = setTimeout(function () {\r\n reject(\"Timeout@reconnect\");\r\n }, 2000);\r\n _this._websocket.addEventListener(\"open\", function () {\r\n clearTimeout(timeout);\r\n resolve(null);\r\n }, { once: true });\r\n if (_this._websocket.readyState === WebSocket.OPEN) {\r\n clearTimeout(timeout);\r\n resolve(null);\r\n }\r\n })];\r\n case 2:\r\n //await to ensure the websocket is connected, with a timeout of 2 seconds\r\n _a.sent();\r\n _a.label = 3;\r\n case 3:\r\n if (this._websocket.readyState === WebSocket.OPEN) {\r\n this.stepwise_fullsync();\r\n return [2 /*return*/];\r\n }\r\n _a.label = 4;\r\n case 4:\r\n this.connect();\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n return WebSocketWorker;\r\n}(_funcnodesworker__WEBPACK_IMPORTED_MODULE_0__[\"default\"]));\r\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (WebSocketWorker);\r\n\n\n//# sourceURL=webpack://ModuleName/./src/funcnodes/websocketworker.ts?");
|
|
400
400
|
|
|
401
401
|
/***/ }),
|
|
402
402
|
|
|
@@ -416,7 +416,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
416
416
|
\***********************/
|
|
417
417
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
418
418
|
|
|
419
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WebSocketWorker: () => (/* reexport safe */ _funcnodes_websocketworker__WEBPACK_IMPORTED_MODULE_1__[\"default\"]),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _frontend__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./frontend */ \"./src/frontend/index.tsx\");\n/* harmony import */ var _funcnodes_websocketworker__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./funcnodes/websocketworker */ \"./src/funcnodes/websocketworker.ts\");\n\r\n\r\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_frontend__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\r\n\r\n\n\n//# sourceURL=webpack://ModuleName/./src/index.tsx?");
|
|
419
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WebSocketWorker: () => (/* reexport safe */ _funcnodes_websocketworker__WEBPACK_IMPORTED_MODULE_1__[\"default\"]),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _frontend__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./frontend */ \"./src/frontend/index.tsx\");\n/* harmony import */ var _funcnodes_websocketworker__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./funcnodes/websocketworker */ \"./src/funcnodes/websocketworker.ts\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-dom */ \"react-dom\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_2__);\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (undefined && undefined.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n 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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\n\r\n\r\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_frontend__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\r\n\r\n(function () { return __awaiter(void 0, void 0, void 0, function () {\r\n var _a;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n // @ts-ignore\r\n _a = window;\r\n return [4 /*yield*/, Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! react */ \"react\", 23))];\r\n case 1:\r\n // @ts-ignore\r\n _a.React = _b.sent();\r\n return [2 /*return*/];\r\n }\r\n });\r\n}); })();\r\n// // @ts-ignore\r\n// window.React.default = React;\r\nwindow.ReactDOM = (react_dom__WEBPACK_IMPORTED_MODULE_2___default());\r\n\r\n\n\n//# sourceURL=webpack://ModuleName/./src/index.tsx?");
|
|
420
420
|
|
|
421
421
|
/***/ }),
|
|
422
422
|
|
|
@@ -436,7 +436,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
436
436
|
\*******************************/
|
|
437
437
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
438
438
|
|
|
439
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LibZustand: () => (/* reexport safe */ _lib__WEBPACK_IMPORTED_MODULE_0__[\"default\"]),\n/* harmony export */ NodeSpaceZustand: () => (/* reexport safe */ _nodespace__WEBPACK_IMPORTED_MODULE_1__[\"default\"]),\n/* harmony export */ assert_reactflow_node: () => (/* binding */ assert_reactflow_node),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _lib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib */ \"./src/states/lib.ts\");\n/* harmony import */ var _nodespace__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./nodespace */ \"./src/states/nodespace.ts\");\n/* harmony import */ var _node__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node */ \"./src/states/node.ts\");\n/* harmony import */ var _reactflow__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./reactflow */ \"./src/states/reactflow.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n/* harmony import */ var _edge__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./edge */ \"./src/states/edge.ts\");\n/* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! zustand */ \"zustand\");\n/* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(zustand__WEBPACK_IMPORTED_MODULE_6__);\nvar __assign = (undefined && undefined.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nvar __spreadArray = (undefined && undefined.__spreadArray) || function (to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar _fill_node_frontend = function (node, fnrf_instance) {\r\n var frontend = node.frontend || {};\r\n if (!frontend.pos) {\r\n if (!fnrf_instance ||\r\n !fnrf_instance.rf_instance ||\r\n fnrf_instance.reactflowRef === null) {\r\n frontend.pos = [0, 0];\r\n }\r\n else {\r\n var ref = fnrf_instance.reactflowRef;\r\n var rect = ref.getBoundingClientRect(); // Step 2: Get bounding rectangle\r\n var centerX = rect.left + rect.width / 2; // Calculate center X\r\n var centerY = rect.top + rect.height / 2; // Calculate center Y\r\n var calcpos = fnrf_instance.rf_instance.screenToFlowPosition({\r\n x: centerX,\r\n y: centerY\r\n });\r\n frontend.pos = [calcpos.x, calcpos.y];\r\n }\r\n }\r\n if (!frontend.size) {\r\n frontend.size = [200, 100];\r\n }\r\n if (!frontend.collapsed) {\r\n frontend.collapsed = false;\r\n }\r\n node.frontend = frontend;\r\n};\r\nvar assert_react_flow_io = function (io, fnrf_instance) {\r\n if (io.value === \"<NoValue>\") {\r\n io.value = undefined;\r\n }\r\n if (io.fullvalue === \"<NoValue>\") {\r\n io.fullvalue = undefined;\r\n }\r\n if (io.try_get_full_value === undefined) {\r\n io.try_get_full_value = function () {\r\n var _a;\r\n if (!fnrf_instance) {\r\n return;\r\n }\r\n if (io.node === undefined || io.id === undefined) {\r\n return;\r\n }\r\n (_a = fnrf_instance.worker) === null || _a === void 0 ? void 0 : _a.get_io_full_value({ nid: io.node, ioid: io.id });\r\n };\r\n }\r\n return io;\r\n};\r\nvar assert_reactflow_node = function (node, store, fnrf_instance) {\r\n _fill_node_frontend(node, fnrf_instance);\r\n if (node.id === undefined) {\r\n throw new Error(\"Node must have an id\");\r\n }\r\n for (var io in node.io) {\r\n node.io[io].node = node.id;\r\n assert_react_flow_io(node.io[io], fnrf_instance);\r\n }\r\n var extendedNode = __assign({ position: {\r\n x: node.frontend.pos[0],\r\n y: node.frontend.pos[1]\r\n }, data: {\r\n UseNodeStore: store\r\n }, type: \"default\" }, node);\r\n return extendedNode;\r\n};\r\nvar FuncNodesReactFlowZustand = function (_a) {\r\n /*\r\n function that should be called when the remote node, e.g. in the python worker is performing an action\r\n */\r\n var _b = _a.useWorkerManager, useWorkerManager = _b === void 0 ? true : _b, _c = _a.default_worker, default_worker = _c === void 0 ? undefined : _c;\r\n var options = {\r\n useWorkerManager: useWorkerManager,\r\n default_worker: default_worker\r\n };\r\n var on_node_action = function (action) {\r\n var _a, _b, _c;\r\n var rfstate = rfstore.getState();\r\n switch (action.type) {\r\n case \"add\":\r\n if (action.from_remote) {\r\n var store = ns.get_node(action.node.id, false);\r\n if (!store) {\r\n try {\r\n store = (0,_node__WEBPACK_IMPORTED_MODULE_2__.createNodeStore)(action.node);\r\n ns.nodesstates.set(action.node.id, store);\r\n }\r\n catch (e) {\r\n return;\r\n }\r\n }\r\n var new_ndoes = __spreadArray(__spreadArray([], rfstate.nodes, true), [\r\n assert_reactflow_node(action.node, store, iterf),\r\n ], false);\r\n rfstore.setState({ nodes: new_ndoes });\r\n }\r\n break;\r\n case \"update\":\r\n // some action reset the error, so far trigger does, so errors should remove the in_trigger flag\r\n if (action.node.in_trigger) {\r\n action.node.error = undefined;\r\n }\r\n if (action.from_remote) {\r\n var store = ns.get_node(action.id);\r\n (0,_node__WEBPACK_IMPORTED_MODULE_2__.normalize_node)(action.node);\r\n if (action.node.io) {\r\n for (var io in action.node.io) {\r\n var ioobj = action.node.io[io];\r\n // check if value in io, undefined is a valid value\r\n if (ioobj.hasOwnProperty(\"value\")) {\r\n if (ioobj.value === undefined) {\r\n ioobj.value = null;\r\n }\r\n else if (ioobj.value === \"<NoValue>\") {\r\n ioobj.value = undefined;\r\n }\r\n }\r\n }\r\n }\r\n var state = store.getState();\r\n var _d = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.deep_merge)(state, action.node), new_obj = _d.new_obj, change = _d.change;\r\n if (change) {\r\n if (action.node.io) {\r\n for (var io in action.node.io) {\r\n // if fullvalue is in the update data, set to fullvalue otherwise set to undefined\r\n new_obj.io[io].fullvalue = (_a = action.node.io[io]) === null || _a === void 0 ? void 0 : _a.fullvalue;\r\n }\r\n }\r\n assert_reactflow_node(new_obj, store, iterf);\r\n store.setState(new_obj);\r\n }\r\n }\r\n else {\r\n if (iterf.worker) {\r\n iterf.worker.locally_update_node(action);\r\n }\r\n }\r\n break;\r\n case \"delete\":\r\n if (action.from_remote) {\r\n rfstore.getState().onNodesChange([\r\n {\r\n type: \"remove\",\r\n id: action.id\r\n },\r\n ]);\r\n }\r\n else {\r\n (_b = iterf.worker) === null || _b === void 0 ? void 0 : _b.remove_node(action.id);\r\n }\r\n break;\r\n case \"error\":\r\n console.error(\"Error\", action);\r\n on_node_action({\r\n type: \"update\",\r\n id: action.id,\r\n node: {\r\n in_trigger: false,\r\n error: action.error\r\n },\r\n from_remote: true\r\n });\r\n break;\r\n case \"trigger\":\r\n if (action.from_remote) {\r\n on_node_action({\r\n type: \"update\",\r\n id: action.id,\r\n node: {\r\n in_trigger: true,\r\n error: undefined\r\n },\r\n from_remote: true\r\n });\r\n }\r\n else {\r\n (_c = iterf.worker) === null || _c === void 0 ? void 0 : _c.trigger_node(action.id);\r\n }\r\n break;\r\n default:\r\n console.error(\"Unknown node action\", action);\r\n }\r\n };\r\n var on_edge_action = function (action) {\r\n var _a, _b, _c, _d;\r\n var rfstate = rfstore.getState();\r\n switch (action.type) {\r\n case \"add\":\r\n if (action.from_remote) {\r\n var edges = rfstate.edges;\r\n var new_edge_id_1 = (0,_edge__WEBPACK_IMPORTED_MODULE_5__.generate_edge_id)(action);\r\n //cehck if edge already exists including reversed\r\n if (edges.some(function (e) { return e.id === new_edge_id_1; })) {\r\n return;\r\n }\r\n var new_edge = {\r\n id: new_edge_id_1,\r\n source: action.src_nid,\r\n target: action.trg_nid,\r\n sourceHandle: action.src_ioid,\r\n targetHandle: action.trg_ioid,\r\n className: \"funcnodes-edge animated\"\r\n };\r\n rfstore.setState({ edges: __spreadArray(__spreadArray([], edges, true), [new_edge], false) });\r\n (_a = iterf.worker) === null || _a === void 0 ? void 0 : _a.get_remote_node_state(action.src_nid);\r\n (_b = iterf.worker) === null || _b === void 0 ? void 0 : _b.get_remote_node_state(action.trg_nid);\r\n }\r\n else {\r\n }\r\n break;\r\n case \"delete\":\r\n if (action.from_remote) {\r\n var edges = rfstate.edges;\r\n var del_edge_id_1 = (0,_edge__WEBPACK_IMPORTED_MODULE_5__.generate_edge_id)(action);\r\n var new_edges = edges.filter(function (edge) { return edge.id !== del_edge_id_1; });\r\n rfstore.setState({ edges: new_edges });\r\n (_c = iterf.worker) === null || _c === void 0 ? void 0 : _c.get_remote_node_state(action.src_nid);\r\n (_d = iterf.worker) === null || _d === void 0 ? void 0 : _d.get_remote_node_state(action.trg_nid);\r\n }\r\n else {\r\n }\r\n break;\r\n default:\r\n console.error(\"Unknown edge action\", action);\r\n }\r\n };\r\n /*\r\n on_node_cahnge is called by react flow when a note change event is fired\r\n should update the local state if something changed\r\n */\r\n var on_node_change = function (nodechange) {\r\n for (var _i = 0, nodechange_1 = nodechange; _i < nodechange_1.length; _i++) {\r\n var change = nodechange_1[_i];\r\n switch (change.type) {\r\n case \"position\":\r\n if (change.position) {\r\n on_node_action({\r\n type: \"update\",\r\n id: change.id,\r\n node: {\r\n frontend: { pos: [change.position.x, change.position.y] }\r\n },\r\n from_remote: false\r\n });\r\n }\r\n break;\r\n case \"dimensions\":\r\n if (change.dimensions) {\r\n on_node_action({\r\n type: \"update\",\r\n id: change.id,\r\n node: {\r\n frontend: {\r\n size: [change.dimensions.width, change.dimensions.height]\r\n }\r\n },\r\n from_remote: false\r\n });\r\n }\r\n break;\r\n }\r\n }\r\n };\r\n var on_edge_change = function (_edgechange) { };\r\n var on_connect = function (connection) {\r\n if (connection.source === null ||\r\n connection.target === null ||\r\n connection.sourceHandle === null ||\r\n connection.targetHandle === null ||\r\n !iterf.worker) {\r\n return;\r\n }\r\n iterf.worker.add_edge({\r\n src_nid: connection.source,\r\n src_ioid: connection.sourceHandle,\r\n trg_nid: connection.target,\r\n trg_ioid: connection.targetHandle,\r\n replace: true\r\n });\r\n };\r\n var rfstore = (0,_reactflow__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\r\n on_node_change: on_node_change,\r\n on_edge_change: on_edge_change,\r\n on_connect: on_connect\r\n });\r\n var ns = (0,_nodespace__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({});\r\n var lib = (0,_lib__WEBPACK_IMPORTED_MODULE_0__[\"default\"])();\r\n var clear_all = function () {\r\n var _a, _b;\r\n (_a = iterf.worker) === null || _a === void 0 ? void 0 : _a.disconnect();\r\n iterf.worker = undefined;\r\n (_b = iterf.workermanager) === null || _b === void 0 ? void 0 : _b.setWorker(undefined);\r\n iterf.lib.libstate\r\n .getState()\r\n .set({ lib: { shelves: [] }, external_worker: [] });\r\n iterf.nodespace.nodesstates.clear();\r\n iterf.useReactFlowStore.setState({ nodes: [], edges: [] });\r\n iterf.auto_progress();\r\n };\r\n var iterf = {\r\n options: options,\r\n lib: lib,\r\n workermanager: undefined,\r\n workers: (0,zustand__WEBPACK_IMPORTED_MODULE_6__.create)(function (_set, _get) { return ({}); }),\r\n render_options: (0,zustand__WEBPACK_IMPORTED_MODULE_6__.create)(function (_set, _get) { return ({}); }),\r\n progress_state: (0,zustand__WEBPACK_IMPORTED_MODULE_6__.create)(function (_set, _get) { return ({\r\n message: \"please select worker\",\r\n status: \"info\",\r\n progress: 0,\r\n blocking: false\r\n }); }),\r\n update_render_options: function (options) {\r\n var current = iterf.render_options.getState();\r\n var _a = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.deep_merge)(current, options), new_obj = _a.new_obj, change = _a.change;\r\n if (change) {\r\n iterf.render_options.setState(new_obj);\r\n }\r\n },\r\n worker: undefined,\r\n nodespace: ns,\r\n useReactFlowStore: rfstore,\r\n on_node_action: on_node_action,\r\n on_edge_action: on_edge_action,\r\n reactflowRef: null,\r\n clear_all: clear_all,\r\n set_progress: function (progress) {\r\n if (progress.message === \"\") {\r\n return iterf.auto_progress();\r\n }\r\n var prev_state = iterf.progress_state.getState();\r\n var _a = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.deep_merge)(prev_state, progress), new_obj = _a.new_obj, change = _a.change;\r\n if (change) {\r\n iterf.progress_state.setState(new_obj);\r\n }\r\n },\r\n auto_progress: function () {\r\n if (iterf.worker === undefined) {\r\n return iterf.set_progress({\r\n progress: 0,\r\n message: \"please select worker\",\r\n status: \"error\",\r\n blocking: false\r\n });\r\n }\r\n if (!iterf.worker.is_open) {\r\n return iterf.set_progress({\r\n progress: 0,\r\n message: \"connecting to worker\",\r\n status: \"info\",\r\n blocking: true\r\n });\r\n }\r\n iterf.set_progress({\r\n progress: 1,\r\n message: \"running\",\r\n status: \"info\",\r\n blocking: false\r\n });\r\n }\r\n };\r\n return iterf;\r\n};\r\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FuncNodesReactFlowZustand);\r\n\r\n\n\n//# sourceURL=webpack://ModuleName/./src/states/fnrfzst.ts?");
|
|
439
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LibZustand: () => (/* reexport safe */ _lib__WEBPACK_IMPORTED_MODULE_0__[\"default\"]),\n/* harmony export */ NodeSpaceZustand: () => (/* reexport safe */ _nodespace__WEBPACK_IMPORTED_MODULE_1__[\"default\"]),\n/* harmony export */ assert_reactflow_node: () => (/* binding */ assert_reactflow_node),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _lib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib */ \"./src/states/lib.ts\");\n/* harmony import */ var _nodespace__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./nodespace */ \"./src/states/nodespace.ts\");\n/* harmony import */ var _node__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node */ \"./src/states/node.ts\");\n/* harmony import */ var _reactflow__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./reactflow */ \"./src/states/reactflow.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n/* harmony import */ var _edge__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./edge */ \"./src/states/edge.ts\");\n/* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! zustand */ \"zustand\");\n/* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(zustand__WEBPACK_IMPORTED_MODULE_6__);\nvar __assign = (undefined && undefined.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nvar __spreadArray = (undefined && undefined.__spreadArray) || function (to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar _fill_node_frontend = function (node, fnrf_instance) {\r\n var frontend = node.frontend || {};\r\n if (!frontend.pos) {\r\n if (!fnrf_instance ||\r\n !fnrf_instance.rf_instance ||\r\n fnrf_instance.reactflowRef === null) {\r\n frontend.pos = [0, 0];\r\n }\r\n else {\r\n var ref = fnrf_instance.reactflowRef;\r\n var rect = ref.getBoundingClientRect(); // Step 2: Get bounding rectangle\r\n var centerX = rect.left + rect.width / 2; // Calculate center X\r\n var centerY = rect.top + rect.height / 2; // Calculate center Y\r\n var calcpos = fnrf_instance.rf_instance.screenToFlowPosition({\r\n x: centerX,\r\n y: centerY\r\n });\r\n frontend.pos = [calcpos.x, calcpos.y];\r\n }\r\n }\r\n if (!frontend.size) {\r\n frontend.size = [200, 100];\r\n }\r\n if (!frontend.collapsed) {\r\n frontend.collapsed = false;\r\n }\r\n node.frontend = frontend;\r\n};\r\nvar assert_react_flow_io = function (io, fnrf_instance) {\r\n if (io.value === \"<NoValue>\") {\r\n io.value = undefined;\r\n }\r\n if (io.fullvalue === \"<NoValue>\") {\r\n io.fullvalue = undefined;\r\n }\r\n if (io.try_get_full_value === undefined) {\r\n io.try_get_full_value = function () {\r\n var _a;\r\n if (!fnrf_instance) {\r\n return;\r\n }\r\n if (io.node === undefined || io.id === undefined) {\r\n return;\r\n }\r\n (_a = fnrf_instance.worker) === null || _a === void 0 ? void 0 : _a.get_io_full_value({ nid: io.node, ioid: io.id });\r\n };\r\n }\r\n return io;\r\n};\r\nvar assert_reactflow_node = function (node, store, fnrf_instance) {\r\n _fill_node_frontend(node, fnrf_instance);\r\n if (node.id === undefined) {\r\n throw new Error(\"Node must have an id\");\r\n }\r\n for (var io in node.io) {\r\n node.io[io].node = node.id;\r\n assert_react_flow_io(node.io[io], fnrf_instance);\r\n }\r\n var extendedNode = __assign({ position: {\r\n x: node.frontend.pos[0],\r\n y: node.frontend.pos[1]\r\n }, data: {\r\n UseNodeStore: store\r\n }, type: \"default\" }, node);\r\n return extendedNode;\r\n};\r\nvar FuncNodesReactFlowZustand = function (_a) {\r\n /*\r\n function that should be called when the remote node, e.g. in the python worker is performing an action\r\n */\r\n var _b = _a.useWorkerManager, useWorkerManager = _b === void 0 ? true : _b, _c = _a.default_worker, default_worker = _c === void 0 ? undefined : _c;\r\n var options = {\r\n useWorkerManager: useWorkerManager,\r\n default_worker: default_worker\r\n };\r\n var on_node_action = function (action) {\r\n var _a, _b, _c;\r\n var rfstate = rfstore.getState();\r\n switch (action.type) {\r\n case \"add\":\r\n if (action.from_remote) {\r\n var store = ns.get_node(action.node.id, false);\r\n if (!store) {\r\n try {\r\n store = (0,_node__WEBPACK_IMPORTED_MODULE_2__.createNodeStore)(action.node);\r\n ns.nodesstates.set(action.node.id, store);\r\n }\r\n catch (e) {\r\n return;\r\n }\r\n }\r\n var new_ndoes = __spreadArray(__spreadArray([], rfstate.nodes, true), [\r\n assert_reactflow_node(action.node, store, iterf),\r\n ], false);\r\n rfstore.setState({ nodes: new_ndoes });\r\n }\r\n break;\r\n case \"update\":\r\n // some action reset the error, so far trigger does, so errors should remove the in_trigger flag\r\n if (action.node.in_trigger) {\r\n action.node.error = undefined;\r\n }\r\n if (action.from_remote) {\r\n var store = ns.get_node(action.id);\r\n (0,_node__WEBPACK_IMPORTED_MODULE_2__.normalize_node)(action.node);\r\n if (action.node.io) {\r\n for (var io in action.node.io) {\r\n var ioobj = action.node.io[io];\r\n // check if value in io, undefined is a valid value\r\n if (ioobj.hasOwnProperty(\"value\")) {\r\n if (ioobj.value === undefined) {\r\n ioobj.value = null;\r\n }\r\n else if (ioobj.value === \"<NoValue>\") {\r\n ioobj.value = undefined;\r\n }\r\n }\r\n }\r\n }\r\n var state = store.getState();\r\n var _d = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.deep_merge)(state, action.node), new_obj = _d.new_obj, change = _d.change;\r\n if (change) {\r\n if (action.node.io) {\r\n for (var io in action.node.io) {\r\n // if fullvalue is in the update data, set to fullvalue otherwise set to undefined\r\n new_obj.io[io].fullvalue = (_a = action.node.io[io]) === null || _a === void 0 ? void 0 : _a.fullvalue;\r\n }\r\n }\r\n assert_reactflow_node(new_obj, store, iterf);\r\n store.setState(new_obj);\r\n }\r\n }\r\n else {\r\n if (iterf.worker) {\r\n iterf.worker.locally_update_node(action);\r\n }\r\n }\r\n break;\r\n case \"delete\":\r\n if (action.from_remote) {\r\n rfstore.getState().onNodesChange([\r\n {\r\n type: \"remove\",\r\n id: action.id\r\n },\r\n ]);\r\n }\r\n else {\r\n (_b = iterf.worker) === null || _b === void 0 ? void 0 : _b.remove_node(action.id);\r\n }\r\n break;\r\n case \"error\":\r\n console.error(\"Error\", action);\r\n on_node_action({\r\n type: \"update\",\r\n id: action.id,\r\n node: {\r\n in_trigger: false,\r\n error: action.error\r\n },\r\n from_remote: true\r\n });\r\n break;\r\n case \"trigger\":\r\n if (action.from_remote) {\r\n on_node_action({\r\n type: \"update\",\r\n id: action.id,\r\n node: {\r\n in_trigger: true,\r\n error: undefined\r\n },\r\n from_remote: true\r\n });\r\n }\r\n else {\r\n (_c = iterf.worker) === null || _c === void 0 ? void 0 : _c.trigger_node(action.id);\r\n }\r\n break;\r\n default:\r\n console.error(\"Unknown node action\", action);\r\n }\r\n };\r\n var on_edge_action = function (action) {\r\n var _a, _b, _c, _d;\r\n var rfstate = rfstore.getState();\r\n switch (action.type) {\r\n case \"add\":\r\n if (action.from_remote) {\r\n var edges = rfstate.edges;\r\n var new_edge_id_1 = (0,_edge__WEBPACK_IMPORTED_MODULE_5__.generate_edge_id)(action);\r\n //cehck if edge already exists including reversed\r\n if (edges.some(function (e) { return e.id === new_edge_id_1; })) {\r\n return;\r\n }\r\n var new_edge = {\r\n id: new_edge_id_1,\r\n source: action.src_nid,\r\n target: action.trg_nid,\r\n sourceHandle: action.src_ioid,\r\n targetHandle: action.trg_ioid,\r\n className: \"funcnodes-edge animated\"\r\n };\r\n rfstore.setState({ edges: __spreadArray(__spreadArray([], edges, true), [new_edge], false) });\r\n (_a = iterf.worker) === null || _a === void 0 ? void 0 : _a.get_remote_node_state(action.src_nid);\r\n (_b = iterf.worker) === null || _b === void 0 ? void 0 : _b.get_remote_node_state(action.trg_nid);\r\n }\r\n else {\r\n }\r\n break;\r\n case \"delete\":\r\n if (action.from_remote) {\r\n var edges = rfstate.edges;\r\n var del_edge_id_1 = (0,_edge__WEBPACK_IMPORTED_MODULE_5__.generate_edge_id)(action);\r\n var new_edges = edges.filter(function (edge) { return edge.id !== del_edge_id_1; });\r\n rfstore.setState({ edges: new_edges });\r\n (_c = iterf.worker) === null || _c === void 0 ? void 0 : _c.get_remote_node_state(action.src_nid);\r\n (_d = iterf.worker) === null || _d === void 0 ? void 0 : _d.get_remote_node_state(action.trg_nid);\r\n }\r\n else {\r\n }\r\n break;\r\n default:\r\n console.error(\"Unknown edge action\", action);\r\n }\r\n };\r\n /*\r\n on_node_cahnge is called by react flow when a note change event is fired\r\n should update the local state if something changed\r\n */\r\n var on_node_change = function (nodechange) {\r\n for (var _i = 0, nodechange_1 = nodechange; _i < nodechange_1.length; _i++) {\r\n var change = nodechange_1[_i];\r\n switch (change.type) {\r\n case \"position\":\r\n if (change.position) {\r\n on_node_action({\r\n type: \"update\",\r\n id: change.id,\r\n node: {\r\n frontend: { pos: [change.position.x, change.position.y] }\r\n },\r\n from_remote: false\r\n });\r\n }\r\n break;\r\n case \"dimensions\":\r\n if (change.dimensions) {\r\n on_node_action({\r\n type: \"update\",\r\n id: change.id,\r\n node: {\r\n frontend: {\r\n size: [change.dimensions.width, change.dimensions.height]\r\n }\r\n },\r\n from_remote: false\r\n });\r\n }\r\n break;\r\n }\r\n }\r\n };\r\n var on_edge_change = function (_edgechange) { };\r\n var on_connect = function (connection) {\r\n if (connection.source === null ||\r\n connection.target === null ||\r\n connection.sourceHandle === null ||\r\n connection.targetHandle === null ||\r\n !iterf.worker) {\r\n return;\r\n }\r\n iterf.worker.add_edge({\r\n src_nid: connection.source,\r\n src_ioid: connection.sourceHandle,\r\n trg_nid: connection.target,\r\n trg_ioid: connection.targetHandle,\r\n replace: true\r\n });\r\n };\r\n var rfstore = (0,_reactflow__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\r\n on_node_change: on_node_change,\r\n on_edge_change: on_edge_change,\r\n on_connect: on_connect\r\n });\r\n var ns = (0,_nodespace__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({});\r\n var lib = (0,_lib__WEBPACK_IMPORTED_MODULE_0__[\"default\"])();\r\n var clear_all = function () {\r\n var _a, _b;\r\n (_a = iterf.worker) === null || _a === void 0 ? void 0 : _a.disconnect();\r\n iterf.worker = undefined;\r\n (_b = iterf.workermanager) === null || _b === void 0 ? void 0 : _b.setWorker(undefined);\r\n iterf.lib.libstate\r\n .getState()\r\n .set({ lib: { shelves: [] }, external_worker: [] });\r\n iterf.nodespace.nodesstates.clear();\r\n iterf.useReactFlowStore.setState({ nodes: [], edges: [] });\r\n iterf.auto_progress();\r\n };\r\n var iterf = {\r\n options: options,\r\n lib: lib,\r\n workermanager: undefined,\r\n workers: (0,zustand__WEBPACK_IMPORTED_MODULE_6__.create)(function (_set, _get) { return ({}); }),\r\n render_options: (0,zustand__WEBPACK_IMPORTED_MODULE_6__.create)(function (_set, _get) { return ({}); }),\r\n progress_state: (0,zustand__WEBPACK_IMPORTED_MODULE_6__.create)(function (_set, _get) { return ({\r\n message: \"please select worker\",\r\n status: \"info\",\r\n progress: 0,\r\n blocking: false\r\n }); }),\r\n update_render_options: function (options) {\r\n var current = iterf.render_options.getState();\r\n var _a = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.deep_merge)(current, options), new_obj = _a.new_obj, change = _a.change;\r\n if (change) {\r\n iterf.render_options.setState(new_obj);\r\n }\r\n },\r\n worker: undefined,\r\n nodespace: ns,\r\n useReactFlowStore: rfstore,\r\n on_node_action: on_node_action,\r\n on_edge_action: on_edge_action,\r\n reactflowRef: null,\r\n clear_all: clear_all,\r\n set_progress: function (progress) {\r\n if (progress.message === \"\") {\r\n return iterf.auto_progress();\r\n }\r\n var prev_state = iterf.progress_state.getState();\r\n var _a = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.deep_merge)(prev_state, progress), new_obj = _a.new_obj, change = _a.change;\r\n if (change) {\r\n iterf.progress_state.setState(new_obj);\r\n }\r\n },\r\n auto_progress: function () {\r\n if (iterf.worker === undefined) {\r\n return iterf.set_progress({\r\n progress: 0,\r\n message: \"please select worker\",\r\n status: \"error\",\r\n blocking: false\r\n });\r\n }\r\n if (!iterf.worker.is_open) {\r\n return iterf.set_progress({\r\n progress: 0,\r\n message: \"connecting to worker\",\r\n status: \"info\",\r\n blocking: true\r\n });\r\n }\r\n iterf.set_progress({\r\n progress: 1,\r\n message: \"running\",\r\n status: \"info\",\r\n blocking: false\r\n });\r\n },\r\n plugins: (0,zustand__WEBPACK_IMPORTED_MODULE_6__.create)(function (_set, _get) { return ({}); }),\r\n add_plugin: function (name, plugin) {\r\n if (plugin === undefined)\r\n return;\r\n iterf.plugins.setState(function (prev) {\r\n var _a;\r\n return __assign(__assign({}, prev), (_a = {}, _a[name] = plugin, _a));\r\n });\r\n }\r\n };\r\n return iterf;\r\n};\r\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FuncNodesReactFlowZustand);\r\n\r\n\n\n//# sourceURL=webpack://ModuleName/./src/states/fnrfzst.ts?");
|
|
440
440
|
|
|
441
441
|
/***/ }),
|
|
442
442
|
|
|
@@ -710,6 +710,16 @@ module.exports = require("react");
|
|
|
710
710
|
|
|
711
711
|
/***/ }),
|
|
712
712
|
|
|
713
|
+
/***/ "react-dom":
|
|
714
|
+
/*!****************************!*\
|
|
715
|
+
!*** external "react-dom" ***!
|
|
716
|
+
\****************************/
|
|
717
|
+
/***/ ((module) => {
|
|
718
|
+
|
|
719
|
+
module.exports = require("react-dom");
|
|
720
|
+
|
|
721
|
+
/***/ }),
|
|
722
|
+
|
|
713
723
|
/***/ "react-json-view-lite":
|
|
714
724
|
/*!***************************************!*\
|
|
715
725
|
!*** external "react-json-view-lite" ***!
|
|
@@ -829,6 +839,36 @@ module.exports = require("zustand/react/shallow");
|
|
|
829
839
|
/******/ };
|
|
830
840
|
/******/ })();
|
|
831
841
|
/******/
|
|
842
|
+
/******/ /* webpack/runtime/create fake namespace object */
|
|
843
|
+
/******/ (() => {
|
|
844
|
+
/******/ var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);
|
|
845
|
+
/******/ var leafPrototypes;
|
|
846
|
+
/******/ // create a fake namespace object
|
|
847
|
+
/******/ // mode & 1: value is a module id, require it
|
|
848
|
+
/******/ // mode & 2: merge all properties of value into the ns
|
|
849
|
+
/******/ // mode & 4: return value when already ns object
|
|
850
|
+
/******/ // mode & 16: return value when it's Promise-like
|
|
851
|
+
/******/ // mode & 8|1: behave like require
|
|
852
|
+
/******/ __webpack_require__.t = function(value, mode) {
|
|
853
|
+
/******/ if(mode & 1) value = this(value);
|
|
854
|
+
/******/ if(mode & 8) return value;
|
|
855
|
+
/******/ if(typeof value === 'object' && value) {
|
|
856
|
+
/******/ if((mode & 4) && value.__esModule) return value;
|
|
857
|
+
/******/ if((mode & 16) && typeof value.then === 'function') return value;
|
|
858
|
+
/******/ }
|
|
859
|
+
/******/ var ns = Object.create(null);
|
|
860
|
+
/******/ __webpack_require__.r(ns);
|
|
861
|
+
/******/ var def = {};
|
|
862
|
+
/******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];
|
|
863
|
+
/******/ for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {
|
|
864
|
+
/******/ Object.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));
|
|
865
|
+
/******/ }
|
|
866
|
+
/******/ def['default'] = () => (value);
|
|
867
|
+
/******/ __webpack_require__.d(ns, def);
|
|
868
|
+
/******/ return ns;
|
|
869
|
+
/******/ };
|
|
870
|
+
/******/ })();
|
|
871
|
+
/******/
|
|
832
872
|
/******/ /* webpack/runtime/define property getters */
|
|
833
873
|
/******/ (() => {
|
|
834
874
|
/******/ // define getter functions for harmony exports
|
|
@@ -6,6 +6,7 @@ import { NodeAction, NodeType } from "./node.t";
|
|
|
6
6
|
import { RFStore } from "./reactflow.t";
|
|
7
7
|
import { EdgeAction } from "./edge.t";
|
|
8
8
|
import { useReactFlow } from "reactflow";
|
|
9
|
+
import FuncNodesReactPlugin from "../plugin";
|
|
9
10
|
interface RenderOptions {
|
|
10
11
|
typemap?: {
|
|
11
12
|
[key: string]: string;
|
|
@@ -100,6 +101,10 @@ interface FuncNodesReactFlowZustandInterface {
|
|
|
100
101
|
on_edge_action: (edge: EdgeAction) => void;
|
|
101
102
|
set_progress: (progress: ProgressState) => void;
|
|
102
103
|
auto_progress: () => void;
|
|
104
|
+
plugins: UseBoundStore<StoreApi<{
|
|
105
|
+
[key: string]: FuncNodesReactPlugin;
|
|
106
|
+
}>>;
|
|
107
|
+
add_plugin: (name: string, plugin: FuncNodesReactPlugin) => void;
|
|
103
108
|
reactflowRef: HTMLDivElement | null;
|
|
104
109
|
clear_all: () => void;
|
|
105
110
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@linkdlab/funcnodes_react_flow",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"description": "This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -40,7 +40,6 @@
|
|
|
40
40
|
"@radix-ui/react-popover": "^1.0.7",
|
|
41
41
|
"@radix-ui/react-slider": "^1.1.2",
|
|
42
42
|
"@radix-ui/react-tooltip": "^1.0.7",
|
|
43
|
-
"@react-hook/resize-observer": "^1.2.6",
|
|
44
43
|
"@testing-library/jest-dom": "^5.14.1",
|
|
45
44
|
"@testing-library/react": "^13.0.0",
|
|
46
45
|
"@testing-library/user-event": "^13.2.1",
|
|
@@ -48,21 +47,15 @@
|
|
|
48
47
|
"@types/d3": "^7.4.3",
|
|
49
48
|
"@types/jest": "^27.0.1",
|
|
50
49
|
"@types/node": "^16.7.13",
|
|
51
|
-
"@types/plotly.js": "^2.29.4",
|
|
52
50
|
"@types/react": "^18.0.0",
|
|
53
51
|
"@types/react-dom": "^18.0.0",
|
|
54
|
-
"@types/react-plotly.js": "^2.6.3",
|
|
55
52
|
"@types/uuid": "^9.0.8",
|
|
56
53
|
"buffer": "^6.0.3",
|
|
57
54
|
"color-convert": "^2.0.1",
|
|
58
55
|
"d3": "^7.9.0",
|
|
59
|
-
"plotly.js": "^2.32.0",
|
|
60
|
-
"plotly.js-dist-min": "^2.32.0",
|
|
61
56
|
"react": "^18.2.0",
|
|
62
57
|
"react-dom": "^18.2.0",
|
|
63
58
|
"react-json-view-lite": "^1.3.0",
|
|
64
|
-
"react-paginate": "^8.2.0",
|
|
65
|
-
"react-plotly.js": "^2.6.0",
|
|
66
59
|
"react-scripts": "5.0.1",
|
|
67
60
|
"react-select": "^5.8.0",
|
|
68
61
|
"reactflow": "^11.10.3",
|
|
@@ -93,7 +86,6 @@
|
|
|
93
86
|
},
|
|
94
87
|
"devDependencies": {
|
|
95
88
|
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
96
|
-
"@types/plotly.js-dist-min": "^2.3.4",
|
|
97
89
|
"autoprefixer": "^10.4.19",
|
|
98
90
|
"babel-loader": "^9.1.3",
|
|
99
91
|
"css-loader": "^7.1.1",
|
|
@@ -103,7 +95,6 @@
|
|
|
103
95
|
"mini-css-extract-plugin": "^2.9.0",
|
|
104
96
|
"postcss": "^8.4.38",
|
|
105
97
|
"postcss-loader": "^8.1.1",
|
|
106
|
-
"prettier": "^3.2.5",
|
|
107
98
|
"purgecss-webpack-plugin": "^6.0.0",
|
|
108
99
|
"rollup": "^4.16.3",
|
|
109
100
|
"rollup-plugin-import-css": "^3.5.0",
|