pollination-react-io 1.24.1 → 1.24.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/CreateStudy/CreateStudy.types.d.ts +7 -3
- package/build/index.esm.js +83 -77
- package/build/index.esm.js.map +1 -1
- package/build/index.js +83 -77
- package/build/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import type { UserPrivate } from '@pollination-solutions/pollination-sdk';
|
|
1
|
+
import type { Project, RecipeInterface, UserPrivate } from '@pollination-solutions/pollination-sdk';
|
|
2
2
|
import { CSSProperties } from 'react';
|
|
3
3
|
import { APIClient } from '../hooks';
|
|
4
|
+
import { Account } from '../SelectAccount/SelectAccount.types';
|
|
4
5
|
export declare type CreateStudyProps = {
|
|
5
|
-
authUser?: UserPrivate;
|
|
6
|
-
client?: APIClient;
|
|
7
6
|
style?: CSSProperties;
|
|
8
7
|
controlledRecipeInputs?: {
|
|
9
8
|
[index: string]: {
|
|
@@ -11,5 +10,10 @@ export declare type CreateStudyProps = {
|
|
|
11
10
|
hidden?: boolean;
|
|
12
11
|
};
|
|
13
12
|
};
|
|
13
|
+
defaultAccount?: Account;
|
|
14
|
+
defaultProject?: Project;
|
|
15
|
+
defaultRecipe?: RecipeInterface;
|
|
14
16
|
createStudySuccess?: (accountName: string, projectName: string, studyId: string) => void;
|
|
17
|
+
authUser?: UserPrivate;
|
|
18
|
+
client?: APIClient;
|
|
15
19
|
};
|
package/build/index.esm.js
CHANGED
|
@@ -8702,6 +8702,8 @@ var ComboBox = React__default.forwardRef(function ComboBox(_a, ref) {
|
|
|
8702
8702
|
borderBottomLeftRadius: isOpen ? 0 : 4,
|
|
8703
8703
|
flex: 12,
|
|
8704
8704
|
lineHeight: '1.5rem',
|
|
8705
|
+
}, onReset: function () {
|
|
8706
|
+
selectItem(undefined);
|
|
8705
8707
|
} }, inputProps), { onFocus: function () {
|
|
8706
8708
|
openMenu();
|
|
8707
8709
|
}, type: hidden ? 'hidden' : undefined })))),
|
|
@@ -14380,7 +14382,7 @@ Dropzone.propTypes = {
|
|
|
14380
14382
|
* @property {Function} open Open the native file selection dialog
|
|
14381
14383
|
*/
|
|
14382
14384
|
|
|
14383
|
-
var initialState
|
|
14385
|
+
var initialState = {
|
|
14384
14386
|
isFocused: false,
|
|
14385
14387
|
isFileDialogActive: false,
|
|
14386
14388
|
isDragActive: false,
|
|
@@ -14515,7 +14517,7 @@ function useDropzone() {
|
|
|
14515
14517
|
var rootRef = useRef(null);
|
|
14516
14518
|
var inputRef = useRef(null);
|
|
14517
14519
|
|
|
14518
|
-
var _useReducer = useReducer(reducer, initialState
|
|
14520
|
+
var _useReducer = useReducer(reducer, initialState),
|
|
14519
14521
|
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
14520
14522
|
state = _useReducer2[0],
|
|
14521
14523
|
dispatch = _useReducer2[1];
|
|
@@ -14965,7 +14967,7 @@ function reducer(state, action) {
|
|
|
14965
14967
|
});
|
|
14966
14968
|
|
|
14967
14969
|
case "openDialog":
|
|
14968
|
-
return _objectSpread(_objectSpread({}, initialState
|
|
14970
|
+
return _objectSpread(_objectSpread({}, initialState), {}, {
|
|
14969
14971
|
isFileDialogActive: true
|
|
14970
14972
|
});
|
|
14971
14973
|
|
|
@@ -14988,7 +14990,7 @@ function reducer(state, action) {
|
|
|
14988
14990
|
});
|
|
14989
14991
|
|
|
14990
14992
|
case "reset":
|
|
14991
|
-
return _objectSpread({}, initialState
|
|
14993
|
+
return _objectSpread({}, initialState);
|
|
14992
14994
|
|
|
14993
14995
|
default:
|
|
14994
14996
|
return state;
|
|
@@ -37873,9 +37875,9 @@ function blobToBase64(blob) {
|
|
|
37873
37875
|
if (typeof reader.result !== 'string') {
|
|
37874
37876
|
return;
|
|
37875
37877
|
}
|
|
37876
|
-
resolve(
|
|
37878
|
+
resolve(reader.result.split(',')[1]);
|
|
37877
37879
|
};
|
|
37878
|
-
reader.
|
|
37880
|
+
reader.readAsDataURL(blob);
|
|
37879
37881
|
})];
|
|
37880
37882
|
});
|
|
37881
37883
|
});
|
|
@@ -38096,14 +38098,16 @@ var useCreateStudy = function (accountName, projectName, client) {
|
|
|
38096
38098
|
var input = recipe.inputs.find(function (i) { return i.name === d[0]; });
|
|
38097
38099
|
return processEntryLocal(d, input, cloudProjectName);
|
|
38098
38100
|
}))
|
|
38099
|
-
.then(function (jobArguments) {
|
|
38100
|
-
|
|
38101
|
-
|
|
38102
|
-
|
|
38103
|
-
|
|
38104
|
-
|
|
38105
|
-
|
|
38106
|
-
|
|
38101
|
+
.then(function (jobArguments) {
|
|
38102
|
+
return ({
|
|
38103
|
+
type: 'Job',
|
|
38104
|
+
api_version: 'v1beta1',
|
|
38105
|
+
name: name,
|
|
38106
|
+
description: description,
|
|
38107
|
+
source: recipe.source,
|
|
38108
|
+
arguments: [jobArguments]
|
|
38109
|
+
});
|
|
38110
|
+
}).catch(function (err) {
|
|
38107
38111
|
var data = err.response.data;
|
|
38108
38112
|
console.error(data.detail);
|
|
38109
38113
|
})];
|
|
@@ -38121,7 +38125,6 @@ var useCreateStudy = function (accountName, projectName, client) {
|
|
|
38121
38125
|
console.log(jobInfo);
|
|
38122
38126
|
response = window.parent.chrome.webview.hostObjects.study.RunSimulation(JSON.stringify(jobInfo))
|
|
38123
38127
|
.then(function (value) {
|
|
38124
|
-
console.log(value);
|
|
38125
38128
|
onSuccess && onSuccess(cloudProjectOwner, cloudProjectName, value);
|
|
38126
38129
|
}, function (reason) {
|
|
38127
38130
|
console.error(reason);
|
|
@@ -40658,7 +40661,8 @@ var SelectCloudArtifacts = function (_a) {
|
|
|
40658
40661
|
}, [selArtifact]);
|
|
40659
40662
|
useEffect(function () {
|
|
40660
40663
|
// nonmemoized value from react-hook-form or other parent causes infinite rerendering
|
|
40661
|
-
if (lodash_isequal(valueRef.current, selArtifact)
|
|
40664
|
+
if (lodash_isequal(valueRef.current, selArtifact) ||
|
|
40665
|
+
(!valueRef.current && !selArtifact)) {
|
|
40662
40666
|
return;
|
|
40663
40667
|
}
|
|
40664
40668
|
// if selection is a folder instead of an artifact
|
|
@@ -40788,7 +40792,7 @@ var SelectLocalArtifactNative = function (_a) {
|
|
|
40788
40792
|
}
|
|
40789
40793
|
catch (error) {
|
|
40790
40794
|
// common error is incorrect fileMatchPattern
|
|
40791
|
-
console.
|
|
40795
|
+
console.error(error);
|
|
40792
40796
|
}
|
|
40793
40797
|
if (res && typeof res.data === 'string') {
|
|
40794
40798
|
setSelPath(res.data);
|
|
@@ -44046,8 +44050,8 @@ var RecipeInputsForm = function (_a) {
|
|
|
44046
44050
|
var host = getHost();
|
|
44047
44051
|
var _f = useForm({
|
|
44048
44052
|
resolver: Oe(schema),
|
|
44049
|
-
mode: 'all'
|
|
44050
|
-
}), control = _f.control, register = _f.register, handleSubmit = _f.handleSubmit, reset = _f.reset, resetField = _f.resetField, _g = _f.formState, errors = _g.errors, isValid = _g.isValid
|
|
44053
|
+
mode: 'all',
|
|
44054
|
+
}), control = _f.control, register = _f.register, handleSubmit = _f.handleSubmit, reset = _f.reset, resetField = _f.resetField, _g = _f.formState, errors = _g.errors, isValid = _g.isValid, isSubmitSuccessful = _g.isSubmitSuccessful;
|
|
44051
44055
|
var _onSubmit = function (_data) {
|
|
44052
44056
|
var data = __assign({}, _data);
|
|
44053
44057
|
// strip study name
|
|
@@ -44069,6 +44073,14 @@ var RecipeInputsForm = function (_a) {
|
|
|
44069
44073
|
setLoading(true);
|
|
44070
44074
|
onSubmit(studyName, data, 'description', localConfig)
|
|
44071
44075
|
.finally(function () {
|
|
44076
|
+
// @ts-ignore
|
|
44077
|
+
var defaults = recipe.inputs.map(function (input) {
|
|
44078
|
+
var _a;
|
|
44079
|
+
var _b;
|
|
44080
|
+
return (_a = {}, _a[input.name] = (_b = input.default) !== null && _b !== void 0 ? _b : '', _a);
|
|
44081
|
+
});
|
|
44082
|
+
defaults.push({ 'study-name': '' });
|
|
44083
|
+
// console.log(defaults)
|
|
44072
44084
|
reset();
|
|
44073
44085
|
setLoading(false);
|
|
44074
44086
|
});
|
|
@@ -44089,7 +44101,7 @@ var RecipeInputsForm = function (_a) {
|
|
|
44089
44101
|
gap: 20
|
|
44090
44102
|
} },
|
|
44091
44103
|
React__default.createElement(FormInput, { name: 'study-name', description: 'Study name is a required field.', errorMessage: errors['study-name'] ? (_b = errors['study-name']) === null || _b === void 0 ? void 0 : _b.message : undefined },
|
|
44092
|
-
React__default.createElement(TextInput, { inputProps: __assign({ form: recipe.metadata.name }, register('study-name'))
|
|
44104
|
+
React__default.createElement(TextInput, { inputProps: __assign({ form: recipe.metadata.name }, register('study-name')) })),
|
|
44093
44105
|
host !== 'web' &&
|
|
44094
44106
|
React__default.createElement(ConfigureLocalRun, { onChange: function (localConfig) { return setLocalConfig(localConfig); }, defaultVal: localConfig }),
|
|
44095
44107
|
React__default.createElement(Tabs, { forceRenderTabPanel: true },
|
|
@@ -44131,7 +44143,7 @@ var RecipeInputsForm = function (_a) {
|
|
|
44131
44143
|
get_model: input.extensions.includes('hbjson') && host !== 'web',
|
|
44132
44144
|
get_local: host !== 'web',
|
|
44133
44145
|
get_file: host === 'web'
|
|
44134
|
-
}, value: value, onChange: onChange,
|
|
44146
|
+
}, value: value, onChange: onChange, inputProps: __assign(__assign({}, field), { accept: input.extensions.map(function (e) { return ".".concat(e); }).join(', ') }), hidden: hidden, client: client }));
|
|
44135
44147
|
} });
|
|
44136
44148
|
case 'DAGStringInput':
|
|
44137
44149
|
return typeof ((_a = input.spec) === null || _a === void 0 ? void 0 : _a.enum) !== 'undefined' ?
|
|
@@ -44163,7 +44175,7 @@ var RecipeInputsForm = function (_a) {
|
|
|
44163
44175
|
// @ts-ignore
|
|
44164
44176
|
React__default.createElement("li", { key: key, style: { color: 'red', fontSize: '0.8rem', listStyle: 'none' } }, "".concat(key, " ").concat(val.message, ".")));
|
|
44165
44177
|
}))) :
|
|
44166
|
-
'
|
|
44178
|
+
isSubmitSuccessful ? 'Study has been successfully submitted.' : 'Study input isn\'t valid.' },
|
|
44167
44179
|
React__default.createElement(Button, { type: 'submit', form: recipe.metadata.name, disabled: !isValid || loading, style: {
|
|
44168
44180
|
width: 'fit-content',
|
|
44169
44181
|
}, loading: loading }, "Create Study"))))));
|
|
@@ -44172,11 +44184,6 @@ var RecipeInputsForm = function (_a) {
|
|
|
44172
44184
|
var css_248z$3 = ".react-tabs {\n -webkit-tap-highlight-color: transparent;\n}\n\n.react-tabs__tab-list {\n border-bottom: 1px solid #aaa;\n margin: 0 0 10px;\n padding: 0;\n}\n\n.react-tabs__tab {\n display: inline-block;\n border: 1px solid transparent;\n border-bottom: none;\n bottom: -1px;\n position: relative;\n list-style: none;\n padding: 6px 12px;\n cursor: pointer;\n}\n\n.react-tabs__tab--selected {\n background: #fff;\n border-color: #aaa;\n color: black;\n border-radius: 5px 5px 0 0;\n}\n\n.react-tabs__tab--disabled {\n color: GrayText;\n cursor: default;\n}\n\n.react-tabs__tab:focus {\n outline: none;\n}\n\n.react-tabs__tab:focus:after {\n content: '';\n position: absolute;\n height: 5px;\n left: -4px;\n right: -4px;\n bottom: -5px;\n background: #fff;\n}\n\n.react-tabs__tab-panel {\n display: none;\n}\n\n.react-tabs__tab-panel--selected {\n display: block;\n}\n";
|
|
44173
44185
|
styleInject(css_248z$3);
|
|
44174
44186
|
|
|
44175
|
-
var initialState = {
|
|
44176
|
-
account: undefined,
|
|
44177
|
-
project: undefined,
|
|
44178
|
-
recipe: undefined,
|
|
44179
|
-
};
|
|
44180
44187
|
var defaultStyle = {
|
|
44181
44188
|
display: 'flex',
|
|
44182
44189
|
flexDirection: 'column',
|
|
@@ -44184,27 +44191,20 @@ var defaultStyle = {
|
|
|
44184
44191
|
};
|
|
44185
44192
|
var CreateStudy = function (_a) {
|
|
44186
44193
|
var _b;
|
|
44187
|
-
var
|
|
44194
|
+
var style = _a.style, controlledRecipeInputs = _a.controlledRecipeInputs, defaultAccount = _a.defaultAccount, defaultProject = _a.defaultProject, defaultRecipe = _a.defaultRecipe, createStudySuccess = _a.createStudySuccess, authUser = _a.authUser, client = _a.client;
|
|
44188
44195
|
var _c = useState(0), activeTabIndex = _c[0], setActiveTabIndex = _c[1];
|
|
44189
|
-
var _d = useState(
|
|
44190
|
-
var
|
|
44191
|
-
|
|
44192
|
-
}, []);
|
|
44193
|
-
var setSelProject = useCallback(function (project) {
|
|
44194
|
-
setState(function (state) { return (__assign(__assign({}, state), { project: project, recipe: undefined })); });
|
|
44195
|
-
}, []);
|
|
44196
|
-
var setSelRecipe = useCallback(function (recipe) {
|
|
44197
|
-
setState(function (state) { return (__assign(__assign({}, state), { recipe: recipe })); });
|
|
44198
|
-
}, []);
|
|
44196
|
+
var _d = useState(defaultAccount), selAccount = _d[0], setSelAccount = _d[1];
|
|
44197
|
+
var _e = useState(defaultProject), selProject = _e[0], setSelProject = _e[1];
|
|
44198
|
+
var _f = useState(defaultRecipe), selRecipe = _f[0], setSelRecipe = _f[1];
|
|
44199
44199
|
// @ts-ignore
|
|
44200
|
-
var projectOwner =
|
|
44201
|
-
var projectSlug =
|
|
44202
|
-
var
|
|
44200
|
+
var projectOwner = selAccount ? ((_b = selAccount.username) !== null && _b !== void 0 ? _b : selAccount.account_name) : undefined;
|
|
44201
|
+
var projectSlug = selProject ? selProject.slug.split('/')[1] : undefined;
|
|
44202
|
+
var _g = useCreateStudy(projectOwner, projectSlug, client), host = _g.host, createStudy = _g.createStudy, createLocalStudy = _g.createLocalStudy;
|
|
44203
44203
|
useEffect(function () {
|
|
44204
|
-
if (!
|
|
44204
|
+
if (!selRecipe)
|
|
44205
44205
|
return;
|
|
44206
44206
|
setActiveTabIndex(1);
|
|
44207
|
-
}, [
|
|
44207
|
+
}, [selRecipe]);
|
|
44208
44208
|
var basePath = useMemo(function () {
|
|
44209
44209
|
return client.config.basePath.replace('api', 'app');
|
|
44210
44210
|
}, [client]);
|
|
@@ -44216,19 +44216,19 @@ var CreateStudy = function (_a) {
|
|
|
44216
44216
|
window.open("".concat(basePath, "/").concat(accountName, "/projects/").concat(projectName, "/studies/").concat(studyId));
|
|
44217
44217
|
}, [basePath]);
|
|
44218
44218
|
var handleCreateStudy = useCallback(function (name, data, description, localConfig) {
|
|
44219
|
-
if (!
|
|
44219
|
+
if (!selRecipe) {
|
|
44220
44220
|
return new Promise(function (resolve, reject) { return resolve(); });
|
|
44221
44221
|
}
|
|
44222
44222
|
var handleSuccess = createStudySuccess !== null && createStudySuccess !== void 0 ? createStudySuccess : handleCreateStudySuccess;
|
|
44223
44223
|
// don't attempt navigation if the study is a local study
|
|
44224
44224
|
var handleWebSuccess = localConfig && localConfig.isLocalJob ? handleSuccess : undefined;
|
|
44225
44225
|
if (host !== 'web') {
|
|
44226
|
-
return createLocalStudy({ name: name, recipe:
|
|
44226
|
+
return createLocalStudy({ name: name, recipe: selRecipe, description: description }, data, localConfig, handleWebSuccess);
|
|
44227
44227
|
}
|
|
44228
44228
|
else {
|
|
44229
|
-
return createStudy({ name: name, recipe:
|
|
44229
|
+
return createStudy({ name: name, recipe: selRecipe, description: description }, data, handleWebSuccess);
|
|
44230
44230
|
}
|
|
44231
|
-
}, [
|
|
44231
|
+
}, [createLocalStudy, createStudy, createStudySuccess, handleCreateStudySuccess, host, selRecipe]);
|
|
44232
44232
|
return (React__default.createElement("div", { "data-testid": "CreateProject", style: __assign(__assign({}, defaultStyle), style) },
|
|
44233
44233
|
React__default.createElement(Tabs, { selectedIndex: activeTabIndex, onSelect: function (index) { return setActiveTabIndex(index); }, forceRenderTabPanel: true },
|
|
44234
44234
|
React__default.createElement("div", { style: {
|
|
@@ -44241,7 +44241,7 @@ var CreateStudy = function (_a) {
|
|
|
44241
44241
|
flex: 1
|
|
44242
44242
|
} },
|
|
44243
44243
|
React__default.createElement(Tab, null, "Select Recipe"),
|
|
44244
|
-
|
|
44244
|
+
selRecipe &&
|
|
44245
44245
|
React__default.createElement(Tab, null, "Recipe Inputs"))),
|
|
44246
44246
|
React__default.createElement(TabPanel, { style: {
|
|
44247
44247
|
padding: '8px 8px'
|
|
@@ -44251,14 +44251,14 @@ var CreateStudy = function (_a) {
|
|
|
44251
44251
|
flexDirection: 'column',
|
|
44252
44252
|
gap: 8
|
|
44253
44253
|
} },
|
|
44254
|
-
React__default.createElement(Label, { label:
|
|
44255
|
-
React__default.createElement(SelectAccount, { authUser: authUser, client: client, onChange: setSelAccount })),
|
|
44256
|
-
React__default.createElement(Label, { label:
|
|
44257
|
-
React__default.createElement(SelectProject, { authUser: authUser, client: client, onChange: setSelProject, projectOwner: projectOwner })),
|
|
44258
|
-
React__default.createElement(Label, { label:
|
|
44259
|
-
|
|
44260
|
-
React__default.createElement(SelectRecipe, { authUser: authUser, client: client, projectOwner: projectOwner, projectName:
|
|
44261
|
-
|
|
44254
|
+
React__default.createElement(Label, { label: selAccount ? selAccount.name : 'Account' },
|
|
44255
|
+
React__default.createElement(SelectAccount, { authUser: authUser, client: client, onChange: setSelAccount, value: selAccount })),
|
|
44256
|
+
React__default.createElement(Label, { label: selProject ? selProject.name : 'Project' },
|
|
44257
|
+
React__default.createElement(SelectProject, { authUser: authUser, client: client, onChange: setSelProject, projectOwner: projectOwner, value: selProject })),
|
|
44258
|
+
React__default.createElement(Label, { label: selRecipe && selRecipe.metadata ?
|
|
44259
|
+
selRecipe.metadata.name : 'Recipe' },
|
|
44260
|
+
React__default.createElement(SelectRecipe, { authUser: authUser, client: client, projectOwner: projectOwner, projectName: selProject ? selProject.name : undefined, onChange: setSelRecipe, value: selRecipe })))),
|
|
44261
|
+
selRecipe &&
|
|
44262
44262
|
React__default.createElement(React__default.Fragment, null,
|
|
44263
44263
|
React__default.createElement(TabPanel, { style: {
|
|
44264
44264
|
padding: 8
|
|
@@ -44268,14 +44268,14 @@ var CreateStudy = function (_a) {
|
|
|
44268
44268
|
flexDirection: 'column',
|
|
44269
44269
|
gap: 24
|
|
44270
44270
|
} },
|
|
44271
|
-
|
|
44271
|
+
selRecipe &&
|
|
44272
44272
|
React__default.createElement("h5", { style: {
|
|
44273
44273
|
marginBottom: 0
|
|
44274
|
-
} },
|
|
44274
|
+
} }, selRecipe.metadata.name
|
|
44275
44275
|
.split('-')
|
|
44276
44276
|
.map(function (v) { return v.charAt(0).toUpperCase() + v.slice(1); })
|
|
44277
44277
|
.join(' ')),
|
|
44278
|
-
React__default.createElement(RecipeInputsForm, { client: client, projectOwner: projectOwner, projectName: projectSlug, recipe:
|
|
44278
|
+
React__default.createElement(RecipeInputsForm, { client: client, projectOwner: projectOwner, projectName: projectSlug, recipe: selRecipe, onSubmit: handleCreateStudy, controlledValues: controlledRecipeInputs })))))));
|
|
44279
44279
|
};
|
|
44280
44280
|
|
|
44281
44281
|
// Generated with util/create-component.js
|
|
@@ -46238,6 +46238,9 @@ var SendGeometry = function (_a) {
|
|
|
46238
46238
|
var _c = useState(defaultAction !== null && defaultAction !== void 0 ? defaultAction : Action$2.preview), selOpt = _c[0], setSelOpt = _c[1];
|
|
46239
46239
|
var _d = useState(defaultKey !== null && defaultKey !== void 0 ? defaultKey : performance.now().toString()), key = _d[0], setKey = _d[1];
|
|
46240
46240
|
var sendMessage = useSendMessage().sendMessage;
|
|
46241
|
+
var disabled = useMemo(function () {
|
|
46242
|
+
return checkPollinationPanel();
|
|
46243
|
+
}, []);
|
|
46241
46244
|
useEffect(function () {
|
|
46242
46245
|
setSelOpt(defaultAction);
|
|
46243
46246
|
}, [defaultAction]);
|
|
@@ -46245,7 +46248,7 @@ var SendGeometry = function (_a) {
|
|
|
46245
46248
|
setKey(defaultKey);
|
|
46246
46249
|
}, [defaultKey]);
|
|
46247
46250
|
useEffect(function () {
|
|
46248
|
-
if (
|
|
46251
|
+
if (disabled || selOpt !== 'subscribe-preview')
|
|
46249
46252
|
return;
|
|
46250
46253
|
sendMessage('SubscribePreviewGeometry', {
|
|
46251
46254
|
data: geometry,
|
|
@@ -46259,9 +46262,9 @@ var SendGeometry = function (_a) {
|
|
|
46259
46262
|
options: geometryOptions
|
|
46260
46263
|
});
|
|
46261
46264
|
};
|
|
46262
|
-
}, [
|
|
46263
|
-
return (React__default.createElement(SettingsButton, { disabled:
|
|
46264
|
-
if (
|
|
46265
|
+
}, [disabled, geometry, geometryOptions, key, selOpt, sendMessage]);
|
|
46266
|
+
return (React__default.createElement(SettingsButton, { disabled: disabled, onClick: function () {
|
|
46267
|
+
if (disabled)
|
|
46265
46268
|
return;
|
|
46266
46269
|
sendMessage(getAction$2(selOpt), {
|
|
46267
46270
|
data: geometry,
|
|
@@ -46279,7 +46282,7 @@ var SendGeometry = function (_a) {
|
|
|
46279
46282
|
label: 'Preview',
|
|
46280
46283
|
checked: selOpt === Action$2.preview,
|
|
46281
46284
|
icon: React__default.createElement(Eyeglasses$1, { size: 16 }),
|
|
46282
|
-
disabled:
|
|
46285
|
+
disabled: disabled,
|
|
46283
46286
|
onSelect: function () {
|
|
46284
46287
|
setSelOpt(function (state) { return (state === Action$2.preview ? undefined : Action$2.preview); });
|
|
46285
46288
|
},
|
|
@@ -46290,7 +46293,7 @@ var SendGeometry = function (_a) {
|
|
|
46290
46293
|
label: 'Add',
|
|
46291
46294
|
checked: selOpt === Action$2.add,
|
|
46292
46295
|
icon: React__default.createElement(Building$1, { size: 16 }),
|
|
46293
|
-
disabled:
|
|
46296
|
+
disabled: disabled,
|
|
46294
46297
|
onSelect: function () {
|
|
46295
46298
|
setSelOpt(function (state) { return (state === Action$2.add ? undefined : Action$2.add); });
|
|
46296
46299
|
},
|
|
@@ -46301,7 +46304,7 @@ var SendGeometry = function (_a) {
|
|
|
46301
46304
|
label: 'Delete',
|
|
46302
46305
|
checked: selOpt === Action$2.delete,
|
|
46303
46306
|
icon: React__default.createElement(Trash$1, { size: 16 }),
|
|
46304
|
-
disabled:
|
|
46307
|
+
disabled: disabled,
|
|
46305
46308
|
onSelect: function () {
|
|
46306
46309
|
setSelOpt(function (state) { return (state === Action$2.delete ? undefined : Action$2.delete); });
|
|
46307
46310
|
},
|
|
@@ -46312,7 +46315,7 @@ var SendGeometry = function (_a) {
|
|
|
46312
46315
|
label: 'Clear',
|
|
46313
46316
|
checked: selOpt === Action$2.clear,
|
|
46314
46317
|
icon: React__default.createElement(Recycle$1, { size: 16 }),
|
|
46315
|
-
disabled:
|
|
46318
|
+
disabled: disabled,
|
|
46316
46319
|
onSelect: function () {
|
|
46317
46320
|
setSelOpt(function (state) { return (state === Action$2.clear ? undefined : Action$2.clear); });
|
|
46318
46321
|
},
|
|
@@ -46323,7 +46326,7 @@ var SendGeometry = function (_a) {
|
|
|
46323
46326
|
label: 'Subscribe Preview',
|
|
46324
46327
|
checked: selOpt === Action$2.subscribePreview,
|
|
46325
46328
|
icon: React__default.createElement(ArrowRepeat$1, { size: 16 }),
|
|
46326
|
-
disabled:
|
|
46329
|
+
disabled: disabled,
|
|
46327
46330
|
onSelect: function () {
|
|
46328
46331
|
setSelOpt(function (state) { return (state === Action$2.subscribePreview ? undefined : Action$2.subscribePreview); });
|
|
46329
46332
|
},
|
|
@@ -46486,6 +46489,9 @@ var SendResults = function (_a) {
|
|
|
46486
46489
|
var _c = useState(defaultAction !== null && defaultAction !== void 0 ? defaultAction : Action.preview), selOpt = _c[0], setSelOpt = _c[1];
|
|
46487
46490
|
var _d = useState(defaultKey !== null && defaultKey !== void 0 ? defaultKey : performance.now().toString()), key = _d[0], setKey = _d[1];
|
|
46488
46491
|
var sendMessage = useSendMessage().sendMessage;
|
|
46492
|
+
var disabled = useMemo(function () {
|
|
46493
|
+
return checkPollinationPanel();
|
|
46494
|
+
}, []);
|
|
46489
46495
|
useEffect(function () {
|
|
46490
46496
|
setSelOpt(defaultAction);
|
|
46491
46497
|
}, [defaultAction]);
|
|
@@ -46493,7 +46499,7 @@ var SendResults = function (_a) {
|
|
|
46493
46499
|
setKey(defaultKey);
|
|
46494
46500
|
}, [defaultKey]);
|
|
46495
46501
|
useEffect(function () {
|
|
46496
|
-
if (
|
|
46502
|
+
if (disabled || selOpt !== Action.subscribePreview)
|
|
46497
46503
|
return;
|
|
46498
46504
|
sendMessage('SubscribePreviewResults', {
|
|
46499
46505
|
data: results,
|
|
@@ -46507,9 +46513,9 @@ var SendResults = function (_a) {
|
|
|
46507
46513
|
options: geometryOptions,
|
|
46508
46514
|
});
|
|
46509
46515
|
};
|
|
46510
|
-
}, [geometryOptions, key, results, selOpt, sendMessage]);
|
|
46511
|
-
return (React__default.createElement(SettingsButton, { disabled:
|
|
46512
|
-
if (
|
|
46516
|
+
}, [disabled, geometryOptions, key, results, selOpt, sendMessage]);
|
|
46517
|
+
return (React__default.createElement(SettingsButton, { disabled: disabled, onClick: function () {
|
|
46518
|
+
if (disabled)
|
|
46513
46519
|
return;
|
|
46514
46520
|
sendMessage(getAction(selOpt), {
|
|
46515
46521
|
data: results,
|
|
@@ -46527,7 +46533,7 @@ var SendResults = function (_a) {
|
|
|
46527
46533
|
label: 'Preview',
|
|
46528
46534
|
checked: selOpt === Action.preview,
|
|
46529
46535
|
icon: React__default.createElement(Eyeglasses$1, { size: 16 }),
|
|
46530
|
-
disabled:
|
|
46536
|
+
disabled: disabled,
|
|
46531
46537
|
onSelect: function () {
|
|
46532
46538
|
setSelOpt(function (state) { return (state === Action.preview ? undefined : Action.preview); });
|
|
46533
46539
|
},
|
|
@@ -46538,7 +46544,7 @@ var SendResults = function (_a) {
|
|
|
46538
46544
|
label: 'Add',
|
|
46539
46545
|
checked: selOpt === Action.add,
|
|
46540
46546
|
icon: React__default.createElement(Building$1, { size: 16 }),
|
|
46541
|
-
disabled:
|
|
46547
|
+
disabled: disabled,
|
|
46542
46548
|
onSelect: function () {
|
|
46543
46549
|
setSelOpt(function (state) { return (state === Action.add ? undefined : Action.add); });
|
|
46544
46550
|
},
|
|
@@ -46549,7 +46555,7 @@ var SendResults = function (_a) {
|
|
|
46549
46555
|
label: 'Delete',
|
|
46550
46556
|
checked: selOpt === Action.delete,
|
|
46551
46557
|
icon: React__default.createElement(Trash$1, { size: 16 }),
|
|
46552
|
-
disabled:
|
|
46558
|
+
disabled: disabled,
|
|
46553
46559
|
onSelect: function () {
|
|
46554
46560
|
setSelOpt(function (state) { return (state === Action.delete ? undefined : Action.delete); });
|
|
46555
46561
|
},
|
|
@@ -46560,7 +46566,7 @@ var SendResults = function (_a) {
|
|
|
46560
46566
|
label: 'Clear',
|
|
46561
46567
|
checked: selOpt === Action.clear,
|
|
46562
46568
|
icon: React__default.createElement(Recycle$1, { size: 16 }),
|
|
46563
|
-
disabled:
|
|
46569
|
+
disabled: disabled,
|
|
46564
46570
|
onSelect: function () {
|
|
46565
46571
|
setSelOpt(function (state) { return (state === Action.clear ? undefined : Action.clear); });
|
|
46566
46572
|
},
|
|
@@ -46571,7 +46577,7 @@ var SendResults = function (_a) {
|
|
|
46571
46577
|
label: 'Subscribe Preview',
|
|
46572
46578
|
checked: selOpt === Action.subscribePreview,
|
|
46573
46579
|
icon: React__default.createElement(ArrowRepeat$1, { size: 16 }),
|
|
46574
|
-
disabled:
|
|
46580
|
+
disabled: disabled,
|
|
46575
46581
|
onSelect: function () {
|
|
46576
46582
|
setSelOpt(function (state) { return (state === Action.subscribePreview ? undefined : Action.subscribePreview); });
|
|
46577
46583
|
},
|