{"version":3,"sources":["utils/index.js","components/Toolbox/AssistingBlocks/RestCore.js","components/SaveModal/Steps/NameBlock.js","components/SaveModal/Steps/DefineArguments.js","containers/Workspace.jsx","components/Toolbox/AssistingBlocks/RestParams.js","components/SaveModal/assets/number_text_input.PNG","components/SaveModal/assets/boolean_input.PNG","components/SaveModal/assets/text_label.PNG","components/DeleteLibraryDialog/index.js","components/SaveBlockTypeErrorDialog/index.js","components/SaveBlockTypeErrorDialog/assets/blocks.png","components/SaveRESTBlockErrorDialog/index.js","components/CustomJSModal/CustomJSModal.js","components/AppTour/index.js","components/Toolbox/AssistingBlocks/DropdownOptions.jsx","components/Toolbox/AssistingBlocks/Checkbox.jsx","components/Toolbox/AssistingBlocks/RequestResponseParameter.js","components/Toolbox/AssistingBlocks/TryCatchException.js","components/Toolbox/AssistingBlocks/NumberText.js","components/Toolbox/AssistingBlocks/Boolean.js","components/Toolbox/AssistingBlocks/Label.js","components/Toolbox/AssistingBlocks/CustomJSBlock.js","components/Toolbox/AssistingBlocks/BlankBlock.js","components/Toolbox/AssistingBlocks/RequestErrorResponse.js","components/Toolbox/AssistingBlocks/ConfirmDialogue.js","components/Toolbox/AssistingBlocks/CoreResponse.js","components/Toolbox/AssistingBlocks/TextResponse.js","components/Toolbox/AssistingBlocks/BooleanResponse.js","components/Toolbox/AssistingBlocks/index.js","components/Toolbox/Dates/GetDaysApart.js","components/Toolbox/Dates/index.js","components/Toolbox/WidgetValues/index.js","components/Toolbox/AppActions/index.jsx","components/Toolbox/Variables/index.jsx","components/Toolbox/XSightTopics/index.jsx","components/Toolbox/Logic/index.jsx","components/Toolbox/Loops/index.jsx","components/Toolbox/Math/MathToNumber.jsx","components/Toolbox/Math/RoundToDecimal.jsx","components/Toolbox/Math/index.jsx","components/Toolbox/Text/index.jsx","components/Toolbox/Lists/index.jsx","components/Toolbox/Colour/index.jsx","components/Toolbox/Debug/index.js","utils/es5Utils.js","components/Toolbox/Connections/SimpleRestService.js","components/Toolbox/Connections/RestService.js","components/Toolbox/Legacy/index.jsx","components/Toolbox/MyBlocks/MyBlockSearch.js","components/Toolbox/Search/index.js","components/Toolbox/Search/SearchBar.js","components/Toolbox/WidgetValues/Timer/index.jsx","components/Toolbox/WidgetValues/Barcode/index.jsx","components/Toolbox/WidgetValues/Button/index.jsx","components/Toolbox/WidgetValues/CheckboxList/index.jsx","components/Toolbox/WidgetValues/DatePicker/index.js","components/Toolbox/WidgetValues/Dropdown/index.jsx","components/Toolbox/WidgetValues/Image/index.jsx","components/Toolbox/WidgetValues/FileUpload/index.jsx","components/Toolbox/WidgetValues/FlipSwitch/index.jsx","components/Toolbox/WidgetValues/Layout/index.jsx","components/Toolbox/WidgetValues/Map/index.jsx","components/Toolbox/WidgetValues/Rating/index.jsx","components/Toolbox/WidgetValues/RadiobuttonList/index.jsx","components/Toolbox/WidgetValues/Section/index.jsx","components/Toolbox/WidgetValues/Textbox/index.jsx","components/Toolbox/WidgetValues/Hamburger/index.jsx","components/Toolbox/WidgetValues/ExternalData/index.jsx","components/Toolbox/WidgetValues/UserList/index.jsx","components/Toolbox/WidgetValues/GroupList/index.jsx","components/Toolbox/WidgetValues/Barcode/GetScannedValues.jsx","components/Toolbox/WidgetValues/Button/SetButtonDisplayText.jsx","components/Toolbox/WidgetValues/CheckboxList/SetCheckboxlistOption.jsx","components/Toolbox/WidgetValues/CheckboxList/InCheckboxlistCheckboxIsChecked.jsx","components/Toolbox/WidgetValues/CheckboxList/GetCheckboxlistSelectedCheckboxes.jsx","components/Toolbox/WidgetValues/DatePicker/GetDateValue.js","components/Toolbox/WidgetValues/DatePicker/SetDateValue.jsx","components/Toolbox/WidgetValues/DatePicker/SetDatePlaceholderText.jsx","components/Toolbox/WidgetValues/Dropdown/SetDropdown.jsx","components/Toolbox/WidgetValues/Dropdown/AddDropdownOption.jsx","components/Toolbox/WidgetValues/Dropdown/GetSelectedValueOfDropdown.jsx","components/Toolbox/WidgetValues/Dropdown/DropdownIsSetTo.jsx","components/Toolbox/WidgetValues/Layout/SetLayoutBackgroundColour.jsx","components/Toolbox/WidgetValues/Map/AddMarker.jsx","components/Toolbox/WidgetValues/Map/RemoveMarker.jsx","components/Toolbox/WidgetValues/Map/SetMapZoom.jsx","components/Toolbox/WidgetValues/Rating/SetRating.jsx","components/Toolbox/WidgetValues/Rating/GetRating.jsx","components/Toolbox/WidgetValues/RadiobuttonList/SetRadiobuttonList.jsx","components/Toolbox/WidgetValues/RadiobuttonList/GetValueOfSelectedRadiobutton.jsx","components/Toolbox/WidgetValues/RadiobuttonList/RadiobuttonListIsSetTo.jsx","components/Toolbox/WidgetValues/Section/SetSectionBackgroundColour.jsx","components/Toolbox/WidgetValues/Image/GetImageSource.jsx","components/Toolbox/WidgetValues/Image/SetImageSource.jsx","components/Toolbox/WidgetValues/FileUpload/ClearFileUpload.jsx","components/Toolbox/WidgetValues/FileUpload/GetUploadedValue.jsx","components/Toolbox/WidgetValues/FileUpload/GetUploadedValues.jsx","components/Toolbox/WidgetValues/Textbox/GetTextboxValue.jsx","components/Toolbox/WidgetValues/Textbox/SetTextboxValue.jsx","components/Toolbox/WidgetValues/Textbox/SetTextboxColour.jsx","components/Toolbox/WidgetValues/Textbox/SetTextboxPlaceholderText.jsx","components/Toolbox/WidgetValues/FlipSwitch/GetFlipSwitchValue.jsx","components/Toolbox/WidgetValues/FlipSwitch/SetFlipSwitchValue.jsx","components/Toolbox/WidgetValues/Hamburger/GetHamburgerName.jsx","components/Toolbox/WidgetValues/Hamburger/SetHamburgerName.jsx","components/Toolbox/WidgetValues/Hamburger/GetHamburgerImage.jsx","components/Toolbox/WidgetValues/Hamburger/SetHamburgerImage.jsx","components/Toolbox/WidgetValues/User/index.jsx","components/Toolbox/WidgetValues/User/GetUserLoggedIn.jsx","components/Toolbox/WidgetValues/User/GetUserField.jsx","components/Toolbox/WidgetValues/User/GetUserId.jsx","components/Toolbox/WidgetValues/User/GetUserFirstName.jsx","components/Toolbox/WidgetValues/User/GetUserLastName.jsx","components/Toolbox/WidgetValues/User/GetUserFullName.jsx","components/Toolbox/WidgetValues/User/GetUserEmail.jsx","components/Toolbox/WidgetValues/User/GetUserSystemId.jsx","components/Toolbox/WidgetValues/UserList/GetUserList.js","components/Toolbox/WidgetValues/GroupList/GetGroupList.js","components/Toolbox/helpers/index.js","components/Toolbox/AppActions/SnapActionNavigate.jsx","components/Toolbox/AppActions/NavigateBack.jsx","components/Toolbox/AppActions/ResetPage.jsx","components/Toolbox/AppActions/Submit.jsx","components/Toolbox/AppActions/Sync.jsx","components/Toolbox/AppActions/ValidatePage.jsx","components/Toolbox/AppActions/SetFocus.jsx","components/Toolbox/AppActions/ReloadCurrentPage.jsx","components/Toolbox/AppActions/ReloadPage.jsx","components/Toolbox/AppActions/OpenApp.jsx","components/Toolbox/AppActions/OpenSnapApp.jsx","components/Toolbox/Debug/Log.js","components/Toolbox/Debug/LogInfo.js","components/Toolbox/Debug/LogError.js","components/Toolbox/Debug/TryCatch.js","components/Toolbox/Dates/DateBlock.jsx","components/Toolbox/Dates/Today.jsx","components/Toolbox/Dates/GetDayFromDate.js","components/Toolbox/Dates/AddToDate.js","components/Toolbox/Dates/DatePickerNumber.js","components/Toolbox/Dates/DateIsBefore.jsx","components/Toolbox/Colour/ColourRGB.jsx","components/Toolbox/Colour/ColourPicker.jsx","components/Toolbox/Lists/BlocklyBlocks.jsx","components/Toolbox/Lists/ListsSetIndex2.jsx","components/Toolbox/Lists/MakeJSONWith.jsx","components/Toolbox/Lists/GetFromJSON.jsx","components/Toolbox/Lists/UpdateJSON.jsx","components/Toolbox/Text/BlocklyBlocks.js","components/Toolbox/Logic/ControlsIf.js","components/Toolbox/Logic/LogicBoolean.js","components/Toolbox/Logic/LogicCompareNew.js","components/Toolbox/Logic/LogicNegate.js","components/Toolbox/Logic/LogicNull.js","components/Toolbox/Logic/LogicOperation.js","components/Toolbox/Logic/SnapWait.js","components/Toolbox/Loops/ControlsFlowStatements.js","components/Toolbox/Loops/ControlsRepeat.js","components/Toolbox/Loops/ControlsWhileUntil.js","components/Toolbox/Loops/CountWith.js","components/Toolbox/Loops/ForEachItemInList.jsx","components/Toolbox/Math/MathBlocks.js","components/Toolbox/WidgetValues/Label/index.jsx","components/Toolbox/WidgetValues/Label/SetLabelText.jsx","components/Toolbox/WidgetValues/Label/GetLabelText.jsx","components/Toolbox/WidgetValues/Paragraph/index.jsx","components/Toolbox/WidgetValues/Paragraph/SetParagraphText.jsx","components/Toolbox/WidgetValues/Paragraph/GetParagraphText.jsx","components/Toolbox/WidgetValues/Paragraph/SetParagraphColour.jsx","components/Toolbox/WidgetValues/ExternalData/GetExternalDataColumn.js","components/Toolbox/Text/SotiSnackbar.js","components/Toolbox/Variables/GetEnvironmentVariable.jsx","components/Toolbox/Variables/SetEnvironmentVariable.jsx","components/Toolbox/XSightTopics/GetXSightTopic.jsx","components/Toolbox/XSightTopics/SetXSightTopic.jsx","components/Toolbox/Text/ShowMessage.js","components/Toolbox/Text/ShowPrompt.js","components/Toolbox/Text/Confirm.js","components/Toolbox/Text/TextRegex.js","components/Toolbox/TableView/LoadTableDataRest.js","components/Toolbox/TableView/AddRow.js","components/Toolbox/TableView/UpdateRow.js","components/Toolbox/TableView/SetColumnName.jsx","components/Toolbox/TableView/GetColumn.js","components/Toolbox/TableView/SelectedRow.js","components/Toolbox/TableView/DeleteRow.js","components/Toolbox/TableView/RefreshTable.jsx","components/Toolbox/TableView/RunEditRecords.jsx","components/Toolbox/TableView/CancelEditRecords.jsx","components/Toolbox/AppActions/OpenBrowser.jsx","components/Toolbox/TableView/ShowHideRow.js","components/Toolbox/MobiControl/MobiControlCore.js","components/Toolbox/MobiControl/GetIpAddress.jsx","components/Toolbox/MobiControl/GetSerialNumber.jsx","components/Toolbox/MobiControl/GetMacAddress.jsx","components/Toolbox/MobiControl/GetDeviceId.jsx","components/Toolbox/MobiControl/GetIsEnrolled.jsx","components/Toolbox/MobiControl/GetAndroidDeviceDetails.jsx","components/Toolbox/MobiControl/GetIosDeviceDetails.jsx","components/Toolbox/MobiControl/GetCustomAttribute.jsx","components/Toolbox/Sound/PlayNote.jsx","components/Toolbox/Sound/defaultSound.jsx","components/Toolbox/Sound/PlayBeeps.jsx","components/Toolbox/WidgetValues/Chart/RefreshChart.jsx","components/Toolbox/WidgetValues/Timer/startTimer.jsx","components/Toolbox/WidgetValues/Timer/stopTimer.jsx","components/Toolbox/WidgetValues/Timer/resetTimer.jsx","components/Toolbox/WidgetValues/Timer/getTimer.jsx","components/Toolbox/Repeater/RepeaterNavigateFirst.jsx","components/Toolbox/Repeater/RepeaterNavigateBack.jsx","components/Toolbox/Repeater/RepeaterNavigateNext.jsx","components/Toolbox/Repeater/RepeaterNavigateLast.jsx","components/Toolbox/Repeater/RepeaterNavigateTo.jsx","components/Toolbox/Repeater/RepeaterEntryNew.jsx","components/Toolbox/Repeater/RepeaterEntryDelete.jsx","components/Toolbox/Repeater/RepeaterEntrySave.jsx","components/Toolbox/Repeater/RepeaterEntriesAmount.jsx","components/Toolbox/Repeater/RepeaterEntryIndex.jsx","components/Toolbox/Repeater/RepeaterEntryValue.jsx","components/Toolbox/Repeater/RepeaterEntryIndexValue.jsx","components/Toolbox/WidgetValues/BusinessCard/index.jsx","components/Toolbox/WidgetValues/BusinessCard/GetBusinessCardValue.jsx","components/Toolbox/WidgetValues/BusinessCard/SetBusinessCardValue.jsx","components/Toolbox/WidgetValues/DatePicker/ClearDateValue.jsx","components/Toolbox/WidgetValues/Chart/index.jsx","components/Toolbox/ToolboxList.js","components/Toolbox/MyBlocks/index.js","components/Toolbox/JSBlocks/CustomJS.jsx","components/Toolbox/JSBlocks/index.js","components/Toolbox/Connections/index.jsx","components/Toolbox/MobiControl/index.jsx","components/Toolbox/Repeater/index.jsx","components/Toolbox/TableView/index.jsx","components/Toolbox/Sound/index.jsx","components/Toolbox/Toolbox.js","components/Workspace/KeyBindings.js","components/ErrorMessage/ErrorMessage.js","components/DeleteBlockDialog/index.js","components/ActionButtons/index.js","components/Workspace/index.js","blockly/fields/field_dropdown.js","blockly/fields/field_widgets_dropdown.js","blockly/fields/field_dropdown_search.js","blockly/fields/field_dropdown_search_categories.js","blockly/index.js","components/SaveModal/Steps/AssignArguments.js","components/SaveModal/index.js","components/SaveModal/Steps/AssignScript.js","components/SaveModal/CreateJSBlock.js","components/Documentation/index.js","routes.js","reducers/app.js","reducers/block.js","reducers/index.js","sagas/network.js","dummyState.js","sagas/app.js","sagas/block.js","sagas/index.js","serviceWorker.js","index.js","App.js","store.js","components/ModalButtons/index.js","actions.js"],"names":["__webpack_require__","d","__webpack_exports__","WORKFLOW_APP_TYPE_ID","upperSnakeCase","camelCase","doDomNodesIntersect","blockToXmlSanitized","BRIDGE","API","blocklyPrefix","blocklyPostfix","post_robot__WEBPACK_IMPORTED_MODULE_0__","post_robot__WEBPACK_IMPORTED_MODULE_0___default","n","serverURL","process","string","split","join","toUpperCase","toLowerCase","reduce","word","next","slice","logFactory","severity","arguments","length","undefined","_console","timestamp","Date","toISOString","_len2","messages","Array","_key2","console","apply","concat","parseToJsonPromise","data","Promise","res","json","then","object","response","successful","includes","status","code","catch","error","networkAdapter","generator","POST","url","payload","type","PUT","DELETE","GET","token","domA","domB","rectA","getBoundingClientRect","rectB","maxLeft","left","minRight","right","maxTop","top","minBottom","bottom","block","getElementsByTagName","i","children","child","item","tagName","removeChild","variable","parentNode","uri","postRobot","send","window","parent","_ref","e","timeout","method","io","socket","request","headers","sails","resData","jwRes","statusCode","localStorage","getItem","Accept","Authorization","JSON","stringify","log","fetch","body","funcs","toNumber","a","defaultVal","r","parseFloat","isNaN","meanOfNumbers","list","filter","x","y","medianOfNumbers","localList","sort","b","getDateField","field","date","getMonth","getDate","getFullYear","getTimeField","time","getHours","hour","Math","floor","minute","second","setHours","getMinutes","getSeconds","convertTimeToString","datetime","setFullYear","toString","convertStringToTime","sec","parseInt","numberPad","width","z","createDateAsUTC","UTC","isJSON","str","parse","BlocklyTmps","BlocklyPromises","Object","keys","stringifiedFuncs","funcName","blocklyPrefixFunctions","executeBlocklyPromises","ExecutionRuntimeModule","Execute","postFuncs","blocklyPostfixFunctions","nacl","require","util","RestCore","prop","runTimeBlockList","unsupportedList","thickAdd","thickRemove","collapseImage","expandImage","promisesExecutionString","check_encryption","text","cipher_text","one_time_code","encrypting","plain_text","server_publicKey","Uint8Array","agent_secretKey","shared_key","box","before","randomBytes","after","decodeUTF8","getResponseSuccessStr","id","evalStr","getResponseErrorStr","getNativeOnSuccessStr","getNativeOnErrorStr","proxyToggle","username_encrypted","password_encrypted","username_value","password_value","tab","visible","showOnError","responseJsonStructure","bodyContentType","coreColor","toggleOn","toggleOff","tabCol","primary","secondary","tertiary","testButton","disabledCol","initToggleButton","this","appendDummyInput","setOnNewRow","appendField","Blockly","FieldImage","switchVisibility","bind","initRestUrl","onlyReadVerbs","verbs","push","FieldDropdown","appendValueInput","setCheck","urlField","getInput","urlBlock","workspace","newBlock","setDisplayWidth","setShadow","connection","connect","outputConnection","initHeaderTabs","FieldButton","setTab","setVisible","updateCredential","setAlign","ALIGN_LEFT","changeDataFormat","initRestResults","switchDirectCall","ALIGN_RIGHT","readOnly","appendStatementInput","addElse","removeElse","setVisibleBetween","errParam","isConnected","targetBlock","setParentId","createErrorResponseBlock","plusButton","minusButton","errStatement","dispose","changeHandlerCore","event","firstInit","setMovable","getSvgRoot","style","display","setBodyByMethod","initSvg","render","inputList","fieldRow","value_","getElementsByClassName","contentVisibility","buildPasswordIcon","removePasswordIcon","successParam","newJsonStructure","jsonStructure","createSuccessResponseBlock","queryString","getField","getFieldValue","setColour","username","password","setVisibleForCredential","setInputVisibility","removeInput","image","moveInputBefore","switchVisibilityOuter","removeSelect","first","last","_this","toHide","startHiding","name","forEach","input","_this2","usernameInput","passwordInput","setText","addCancelUpdateButton","cancelUpdateCredential","dataFormat","toggle","domToMutationCore","xml","getAttribute","eval","directAPICall","showCancelUpdateButton","mutationToDomCore","lastElementChild","newElement1","document","createElementNS","setAttribute","stroke","fillRule","fill","fillOpacity","transform","appendChild","newElement2","newElement3","newElement4","newElement5","validateBlock","_this3","l","isValid","setWarningText","blockOnchange","onchange","setOnChange","blockId","element","getChildren","acc","cv","validateBlockForTest","_this4","validateInputFieldsSyntax","JavaScript","valueToCode","ORDER_NONE","setWarningSignForBlock","getTestDom","requestSpec","callback","defaultMessage","_this5","$","remove","holder","restOutputContainer","responseArea","find","done","querylButton","restCopyButton","responseData","title","Util","resizeTestDom","scale","on","addClass","copyToClipboard","val","result","err","setTimeout","removeClass","schema","restDoneButton","trim","removeAttr","css","attr","requestUrl","success","xhrErr","statusErr","errorMessage","errStr","ajax","click","_callbackFunction","_fallback","textArea","createElement","value","focus","select","execCommand","navigator","clipboard","writeText","openTestPageCore","context","successHandler","WidgetDiv","hide","show","validateResult","validateRequestSpec","spec","successParamInput","domMessage","ws","jsonBlock","setLabel","setJsonStructure","rendered","message","setRestErrorMessage","errMsg","setRestBlockError","isValidJSON","parsed","isArray","init","mainWorkspace","headersValidated","queryValidated","dataValidated","urlValidated","passwordValidated","usernameValidated","rawRequestDateValidated","headersValidatedForTest","queryValidatedForTest","dataValidatedForTest","urlValidatedForTest","passwordValidatedForTest","usernameValidatedForTest","rawRequestDateValidatedForTest","readyForTest","inputSyntaxErrorFree","getRequestSpec","getRawTypeData","rawTypeData","targetBlockType","queryStrings","requestData","encodeURI","text_username","parseString","text_password","rawTypeRequestData","accessToken","proxyUrl","inputType","parsedHeaders","parsedQueryStrings","parsedRequestData","key","k","requestBody","async","crossDomain","dataType","contentType","getJavascriptCore","successCallbackCode","errorCallbackCode","useBlocklyModule","props","propsStr","apiArgsStr","dataString","authString","successAsStr","errorAsStr","nativeSuccessAsStr","nativeErrorAsStr","NameBlock","_ref$values","values","defaultValues","handleNext","_ref$libraries","libraries","JSFlag","_useState","useState","_useState2","C_j_workspace_Snap_Blockly_develop_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__","setValues","_useState3","_useState4","validated","setValidated","form","useRef","libraryNames","label","handleChange","useCallback","newValue","C_j_workspace_Snap_Blockly_develop_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__","_handleNext","current","checkValidity","library","checkNameAlreadyExists","exists","blocks","react__WEBPACK_IMPORTED_MODULE_2___default","className","react_bootstrap_Form__WEBPACK_IMPORTED_MODULE_5__","noValidate","onSubmit","ref","react_bootstrap_Container__WEBPACK_IMPORTED_MODULE_10__","react_bootstrap_Row__WEBPACK_IMPORTED_MODULE_11__","Group","react_bootstrap_Col__WEBPACK_IMPORTED_MODULE_12__","xs","color","Control","maxLength","required","autoComplete","isInvalid","onChange","target","Feedback","react_select_creatable__WEBPACK_IMPORTED_MODULE_7__","defaultValue","placeholder","isClearable","valObj","options","components","Input","react_select__WEBPACK_IMPORTED_MODULE_8__","assign","maxMenuHeight","classNamePrefix","tabSelectsValue","noOptionsMessage","react_tagsinput__WEBPACK_IMPORTED_MODULE_3___default","keywords","onlyUnique","addKeys","_","uniq","iteratee","inputProps","as","description","_ModalButtons__WEBPACK_IMPORTED_MODULE_9__","step","back","DefineArguments","C_j_workspace_Snap_Blockly_develop_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_2__","C_j_workspace_Snap_Blockly_develop_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__","C_j_workspace_Snap_Blockly_develop_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__","call","mountDiv","React","createRef","_addInputBoolean","C_j_workspace_Snap_Blockly_develop_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6__","_addInputValue","_addTextLabel","_addInput","_props$values","state","blockToSave","blockHeight","args","argId","screenWidth","innerWidth","screenHeight","innerHeight","inject","toolbox","react__WEBPACK_IMPORTED_MODULE_8___default","media","grid","spacing","colour","snap","zoom","controls","startScale","maxScale","minScale","scaleSpeed","wheel","trashcan","sounds","scrollbars","isCreateBlockWorkspace","setTheme","Themes","SOTI","getElementById","actionButtonsBackground","_this$props$values","blockName","isEmpty","_setArgs","updateShapeMyBlock","Xml","textToDom","innerBlock","domToBlock","lastChild","previousConnection","scrollCenter","setState","that","_this$state","inputArg","_setArgId","inputName","inputDom","dom","class","data-input-id","autofocus","autocomplete","onkeypress","charCode","which","keyCode","charStr","String","fromCharCode","test","getSelection","removeIconDom","inputContainerDom","inputField","FieldHTML","height","backgroundColor","getColour","allValues","map","arg","repeatIndex","replace","inputBlock","C_j_workspace_Snap_Blockly_develop_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_1__","C_j_workspace_Snap_Blockly_develop_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__","argInputBox","querySelector","_createWorkspace","_renderBlockToSave","getDescendants","descendant","addChangeListener","blocklyEvent","setSelectedBlock","clickedBlock","getBlockById","parentBlock_","nextConnection","inputSlot","getInputWithBlock","_this5$state$args","MAX_UNDO","setTooltip","onresize","modalWorkspace","injectionDiv","_this6","_this$props","handleBack","_this$state2","saveBlockParams","onClick","src","NumberTextInput","BooleanInput","TextLabel","saveBlockWorkspace","_ModalButtons__WEBPACK_IMPORTED_MODULE_13__","workspaceToDom","Component","WorkspaceContainer","C_j_workspace_Snap_Blockly_develop_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__","C_j_workspace_Snap_Blockly_develop_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__","C_j_workspace_Snap_Blockly_develop_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__","mountRef","toolboxRef","msg","dismissErr","currentLibrary","isInitialized","restBlockError","customJSBlockId","customJSBlockCode","customJSBlockCodeCallback","_attachListeners","debug","location","search","app","isMockData","_validateOutput","_setWorkspaceValidateListener","_getBlocklyCode","addEventListener","saveMyBlock","detail","_attachIframeListeners","_attachWorkspaceListeners","_validateWidgetSelect","doSendValidatedToParent","removeChangeListener","nextProps","_initializeBlockly","_isAuthorized","_mountBlockly","_this$props$app$conte","_this$props$app$conte2","tenantId","_this$props$app$conte3","userId","setItem","getLibraries","js","workspaceToCode","XMLSerializer","serializeToString","comment","tags","tag","line","BlocklyDebuggers","highlightBlock","debuggr","previousBlock","highlighted","setHighlightBlock","_setAllHighlighted","setEnabled","_disableDownStreamBlocks","_this7","getAllBlocks","isShadow","f","getRootBlock","getTopBlocks","_containsEnabled","isEnabled","oneBlockError","_validateOneBlock","validWidgetsError","validRestBlockError","getRestBlockError","disabled","flatten","getInternalDescendants","ddField","hasBeenSet","setWarning","closure","_this8","topBlocks","cleanUp","zoomToFit","moveBy","dismissError","blocking","buttons","_selectEnableBlock","errMessage","_this9","doSendCodeToParent","parsedXml","parser","_getXmlTagContent","_this10","initBlocklyOverrides","move","renderer","configureContextMenu","splice","undo","Msg","icon","iconHover","redo","addComment","cleanup","deleteAll","enabled","t","position","getFlyout","svgGroup_","_getCodeFromParent","startBlocks","domToWorkspace","allBlocks","isDisabled","setDisabled","_validateBlocks","markFocused","setScale","zoomOptions","registerButtonCallback","_createCustomJSBlock","_showDeleteLibraryDialog","actionName","topBlocks_","defaultRestBlock","initTableViewAction","ids","pages","widgets","onLoad","FieldWidgetsDropdown","getValue","setToSelectOption","v","initializeApp","getInitInfo","_initializeBlocklyConfig","containsRestBlock","_checkForRestBlock","history","blockDom","blockToDom","blockText","domToText","childBlocks_","blockCallback","fireChangeListener","info","libraryName","parentElement","textContent","HSV_SATURATION","HSV_VALUE","WIDGET_VALUES_HUE","APP_ACTIONS_HUE","CONNECTIONS_HUE","ENV_VARIABLES_HUE","XSIGHT_TOPICS_HUE","LOGIC_HUE","LOOPS_HUE","MATH_HUE","TEXTS_HUE","LISTS_HUE","VARIABLES_HUE","PROCEDURES_HUE","VARIABLES_DYNAMIC_HUE","COLOUR_HUE","DATES_HUE","MYBLOCKS_HUE","DEBUG_HUE","MOBICONTROL_HUE","defaultBlockStyles","widget_values_blocks","colourPrimary","app_action_blocks","connections_blocks","logic_blocks","loop_blocks","math_blocks","text_blocks","list_blocks","variable_blocks","variable_dynamic_blocks","procedure_blocks","colour_blocks","field_blocks","Colours","textField","colourSecondary","colourTertiary","hat_blocks","hat","categoryStyles","widget_values_category","app_action_category","connections_category","logic_category","loop_category","math_category","text_category","list_category","variable_category","variable_dynamic_category","procedure_category","colour_category","field_category","Theme","pathname","isSavingJsBlock","_this$props$app$conte4","_this$props$app$conte5","_this$props$app$conte6","react__WEBPACK_IMPORTED_MODULE_5___default","_components_SaveModal__WEBPACK_IMPORTED_MODULE_15__","saveLibrary","doSaveLibrary","doSaveMyBlock","sendValidatedToParent","_components_SaveModal_CreateJSBlock__WEBPACK_IMPORTED_MODULE_16__","isSaving","saveBlock","doSaveJsBlock","_components_DeleteLibraryDialog__WEBPACK_IMPORTED_MODULE_17__","deleteLibrary","doDeleteLibrary","_components_SaveBlockTypeErrorDialog__WEBPACK_IMPORTED_MODULE_18__","_components_SaveRESTBlockErrorDialog__WEBPACK_IMPORTED_MODULE_19__","_components_CustomJSModal_CustomJSModal__WEBPACK_IMPORTED_MODULE_20__","customJSBlockCodeChange","updateBlockCode","_this$props$block","myBlocks","jsBlocks","blockLibrary","getDeepComponent","_components_Workspace__WEBPACK_IMPORTED_MODULE_13__","sendCodeToParent","_sendCodeToParent","evalCode","_evalCode","logCode","_logCode","stepExecution","_stepExecution","continueExecution","_continueExecution","childComponent","deleteBlock","doDeleteBlock","openJSEditor","_openJSEditor","Actions","plusImage","minusImage","RestParams","notifyRestParamsError","getParent","generateKeys","targetKeyBlock","targetKeyType","generateValues","targetValueBlock","targetValueType","Blocks","buttonCol","addKeyValuePair","setOutput","setHelpUrl","BASE_HELP_URL","index","keyInput","removeKeyValuePair","valueInput","keyBlock","valueBlock","getInputTargetBlock","indexes","button","newIndex","clickHandler_","mutationToDom","background","domToMutation","validateBlocksForTest","keyValid","valueValid","getTestJson","_stringifyTryCatch","s","module","exports","p","DeleteLibraryDialog","libraryId","react_router_dom__WEBPACK_IMPORTED_MODULE_6__","to","_deleteLibrary","SaveBlockTypeErrorDialog","alt","SaveRESTBlockErrorDialog","withRouter","initVal","setValue","editor","setEditor","_useState5","_useState6","expanded","setExpanded","_useState7","_useState8","completionProvider","setCompletionProvider","useEffect","getModels","model","_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_7__","faCompressAlt","faExpandAlt","_monaco_editor_react__WEBPACK_IMPORTED_MODULE_5__","language","filteredTypes","interface","beforeMount","monaco","languages","registerCompletionItemProvider","provideCompletionItems","suggestions","C_j_workspace_Snap_Blockly_develop_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__","kind","CompletionItemKind","Variable","insertText","Method","theme","_ModalButtons__WEBPACK_IMPORTED_MODULE_6__","AppTour","classCallCheck","possibleConstructorReturn","getPrototypeOf","overrideOnboardingCheck","isOnboarded","startTime","ifBlock","printBlock","conditionalBlock","steps","content","placement","disableBeacon","spotlightPadding","stage","warn","self","timer","setInterval","clearInterval","selectedToolboxCategory","getToolbox","tree_","children_","element_","innerText","flyoutOpened","lifecycle","setFieldValue","action","react_default","es","styles","buttonClose","disableOverlayClose","disableCloseOnEsc","locale","close","skip","run","_handleCallback","continuous","showSkipButton","spotlightClicks","DropdownOptions","customColor","menuGen","setPreviousStatement","setNextStatement","setOutputShape","OUTPUT_SHAPE_ROUND","getFieldDropdown","setFieldDropdown","opts","validator","ddSelectOption","removeField","dd","setDDList","generators","Checkbox","FieldCheckbox","OUTPUT_SHAPE_HEXAGONAL","ORDER_ATOMIC","RequestResponseParameter","addKey","deleteKey","col","path","parent_id","parentBlock","xmlToBlock","createResponseDropdown","ddOptions","currentVal","fieldList","update","_ddOptions","_currentVal","_dd","getResult","changeHandler","level","OUTPUT_SHAPE_SQUARE","depth","specToBlock","moveAdd","moveDelete","removes","structure","TryCatchException","property","NumberText","parent_name","setParentName","getLabel","Label","CustomJSBlock","dirty","createInputBlock","shape","argumentType","sortArgs","Number","setCode","argName","indexOf","all","targetConnection","getShadowDom","firstChild","getCode","tooltip","updateDisabled","inputCode","blockToCode","vars","BlankBlock","statementInput","_hideInternalBlock","checkInputNames","mutation","renderList","outlinePath","unhideAll","hideAll","innerLogic","RequestErrorResponse","prototype","ConfirmDialogue","addInput","headerInput","messageInput","headerBlock","messageBlock","CoreResponse","TextResponse","blockInstance","BooleanResponse","defineFunctions","AssistingBlocks","GetDaysApart","fromDateInput","fromDateBlock","toDateInput","toDateBlock","provideFunction_","FUNCTION_NAME_PLACEHOLDER_","fromDate","toDate","DatesCategory","iconclass","Block","component","Dates_GetDaysApart","WidgetValues","WidgetBlocks","sorted","widgetType","childComponents","AppActions","Variables","environmentVariables","xSightTopicIcon","XSightTopics","Logic","Loops","MathToNumber","outputType","decimalsVisible","decimals","decimalsNumberField","RoundToDecimal","multiplier","category","Math_MathToNumber","Math_RoundToDecimal","Text","Lists","Colour","Debug","array","widgetsOfType","allWidgets","page","widget","formName","substring","pageName","halfLen","defineBlock","openTestPage","readyState","responseText","statusText","testField","viewportBBox","utils","getViewportBBox","anchorBBox","getScaledBBox_","dimensions","positionWithAnchor","DIV","container","explanation","txt","readonly","cancel","innerHTML","removeAttribute","offsetWidth","offsetHeight","padding","SimpleRestService","statementToCode","getErrorStr","RestService","urlTextBlock","urlIdBlock","usernameBlock","passwordBlock","headersBlock","queryStringsBlock","dataBlock","rawBlock","mutationObj","openHelpPage","Legacy","widgetNames","MyBlockSearch","libraryObj","libraryKey","parsedBlocks","parsedBlock","xmlText","blockXml","Fragment","newXml","edsplit","removeSelfClosingTags","_filterBlocks","searchQuery","blockObj","blockKey","_filteredBlocks","searchTags","isMatched","queryPartial","objectSpread","defineProperty","Search","filteredToolboxList","filteredToolbox","filteredComponents","chain","MyBlocks_MyBlockSearch","renderComponents","web-class","toConsumableArray","renderedComponent","compact","sq","searchLabel","SearchBar","collapsed","onSearch","onFocus","onSearchFocus","onBlur","onSearchBlur","expandButtonHandler","collapseButtonHandler","timerIcon","Timer","newProps","barcodeScannerIcon","Barcode","defaultWidget","properties","buttonIcon","Button","checkBoxListIcon","CheckboxList","checkboxes","datesIcon","Dates","dropdownIcon","Dropdown","imageIcon","Image","fileuploadIcon","FileUpload","flipSwitchIcon","FlipSwitch","layoutIcon","Layout","mapIcon","Map","ratingIcon","Rating","radioButtonListIcon","RadioButtonList","sectionIcon","Section","textBoxIcon","Textbox","hamburgerIcon","Hamburger","hamburgers","externalDataIcon","ExternalData","userListIcon","UserList","groupListIcon","GroupList","GetScannedValues","imageElement_","SetButtonDisplayText","SetCheckboxlistOption","checkboxlists","checkboxOpts","cb","widgetDD","textValueDD","updateByWidget","updateByType","by","opt","valuesDDBlock","existingBlock","checkboxValue","checkboxValueInput","checkboxValueTargetBlock","isShadow_","optionText","optionValue","defineGenerators","InCheckboxlistCheckboxIsChecked","ddOpts","cbl","newField","insertFieldAt","GetCheckboxlistSelectedCheckboxes","changeValueType","changeOutputType","asValue","setValidator","changeAs","valueType","GetDateValue","SetDateValue","SetDatePlaceholderText","SetDropdown","dropdowns","dropdownOpts","ddText","sourceBlock_","AddDropdownOption","isExpanded","removeID_","addID_","idField","uniqueID","GetSelectedValueOfDropdown","valueOrText","ddChange","valOrText","vort","DropdownIsSetTo","_ddChanged","fieldDropDown","dds","SetLayoutBackgroundColour","AddMarker","selectMapDropdown","mapId","latitude","ORDER_FUNCTION_CALL","longitude","RemoveMarker","SetMapZoom","SetRating","GetRating","SetRadiobuttonList","radiobuttonLists","radiobuttonOpts","rb","rbText","rbValue","GetValueOfSelectedRadiobutton","RadiobuttonListIsSetTo","rbs","SetSectionBackgroundColour","GetImageSource","FieldDropdownSearch","methodSelector","SetImageSource","ClearFileUpload","allFirst","GetUploadedValue","GetUploadedValues","GetTextboxValue","SetTextboxValue","SetTextboxColour","SetTextboxPlaceholderText","GetFlipSwitchValue","selectFlipSwitchDropdown","SetFlipSwitchValue","GetHamburgerName","SetHamburgerName","GetHamburgerImage","SetHamburgerImage","userIcon","User","appTypeId","GetUserLoggedIn","FieldVariable","variableDB_","getName","getText","NAME_TYPE","GetUserField","variableName","GetUserId","setOpacity","GetUserFirstName","GetUserLastName","GetUserFullName","GetUserEmail","GetUserSystemId","GetUserList","selectUserListDropdown","userListDropdownId","GetGroupList","selectGroupListDropdown","groupListDropdownId","_getWidgetItem","getAllTypeWidgetsFromContext","getTypeWidgetsInPageObject","len","getPagesFromContext","formId","aName","bName","workflowItems","displayName","getFormsFromContext","SnapActionNavigate","webPages","formPages","toPage","SnapActionNavigateBack","ResetPage","forms","formsIdList","formFields","pageId","Submit","Sync","Validate","SetFocus","selectWidgetDropdown","updatePageId","widgetId","ReloadCurrentPage","ReloadPage","pageDataGenyId","updateErrorVisibility","innerInput","successCode","errorCode","Log","LogInfo","LogError","DateBlock","dateStr","FieldDate","moment","format","Today","GetDayFromDate","disconnect","selected_field","AddToDate","isAdd","DatePickerNumber","DateIsBefore","ColourRGB","defineBlocksWithJsonArray","message0","args0","check","align","output","outputShape","helpUrl","red","ORDER_COMMA","green","blue","ColourPicker","ListsCreateWith","ListsRepeat","ListsLength","ListsIsEmpty","ListsIndexOf","ListsGetIndex","ListsGetSublist","ListsSplit","ListsSort","ListsSetIndex2","MODE","WHERE_OPTIONS","setStyle","setInputsInline","updateAt_","thisBlock","mode","where","oneBasedIndex","isAt","INPUT_VALUE","xmlElement","menu","newAt","getSourceBlock","ORDER_ASSIGNMENT","cacheList","match","listVar","getDistinctName","at","getAdjusted","ORDER_SUBTRACTION","xVar","Error","MakeJSONWith","setBtnVisible","visibility","GetFromJSON","UpdateSON","obj","TextJoin","TextAppend","TextLength","TextIsEmpty","TextIndexOf","TextCharAt","TextGetSubstring","TextChangeCase","TextTrim","ControlsIf","LogicBoolean","LogicCompareNew","value1Input","value2Input","EQUAL","NOT EQUAL","LESS THAN","LESS OR EQUAL","GREATER THAN","GREATER OR EQUAL","value1Block","value2Block","value1","value2","LogicNegate","LogicNull","LogicOperation","SnapWait","FieldNumber","duration","ControlsFlowStatements","ControlsRepeat","ControlsWhileUntil","CountWith","ForEachItemInList","varName","MathNumber","MathArithmetic","MathSingle","MathTrig","MathConstant","MathNumberProperty","MathRound","MathOnList","MathModulo","MathConstrain","MathRandomInt","MathRandomFloat","labelIcon","SetLabelText","GetLabelText","paragraphIcon","Paragraph","SetParagraphText","GetParagraphText","SetParagraphColour","GetExternalDataColumn","columnNames","selectExternalDataDropdown","updateColumns","selectedExternalDataDropdownId","externalDataDropdown","columns","some","column","snackbarFunc","SotiSnackbar","displayMessage","animation","globalIcon","GetEnvironmentVariable","environmentVariable","checkExisted","SetEnvironmentVariable","GetXSightTopic","xSightTopicNames","xSightTopics","SetXSightTopic","ShowMessage","firstCollapse","ShowPrompt","header","Confirm","elseBlock","TextRegex","regex","LoadDataTableRest","jsonOptionsList","jsonRelativePaths","structureLoaded","updateShape_","generatePreviewStringForPath","parents","updatedParents","parentsDisplayPath","updatedParentsPreview","generateJsCodeForPath","parentsPath","innerChecks","generateMenuOptions","allFullPaths","processProperty","fullPath","previewString","jsCode","processStructureNode","node","isInnerArray","fullPaths","innerArrayIterator","getOwnPropertyNames","propertyValue","propertyPath","innerParents","initialColumnsRendered","columnBlock","fieldSelector","optionsListRaw","responseJsonStructureRaw","optionsList","optionslist","responsejsonstructure","updateJsonStructure","responseDataStructure","successParamRelativePath","endStructure","successParamRelativePaths","failed","parameterPath","targetJsonBlock","tableRowFillCode","columnValueNode","columnValueOption","columnValue","tableAddCode","fullSuccessCode","AddRow","setShadowColour","updateColumn","smartList","getTab","UpdateRow","conditionsNumber","expandableAfterNumber","compareOperators","logicalOperators","selectTableDropdown","updateWidget_","toggleConditionsVisibility","removeCondition","addCondition","hideExpandCollapseButtons","conditionsNum","updateTableColumns","selectedTableId","tableId","table","toggleExpandCollapseButtonsVisibility","toggleButtonIndex","findIndex","condition","compares","inputs","conditions","columnsList","comparesList","inputsList","conditionsList","columnId","SetColumnName","listviews","lv","colID","widgetID","cols","columnIndex","GetColumn","ColName","oldValue","ID","updateText","found","oldColumns","j","SelectedRow","columnOptions","DeleteRow","toggleConditionsVisibility_","removeCondition_","addCondition_","hideExpandCollapseButtons_","getTableColumns_","toggleExpandCollapseButtonsVisibility_","RefreshTable","tableViewId","RunEditRecords","CancelEditRecords","SnapActionOpenBrowser","valuesAmount","removeValue","addValue","browserType","urlBlocks","ShowHideRow","isHide","MobiControlCore","addFields","responseBlockType","tooltipText","customChangeHandler","MobiControlGetIpAddress","coreResponseCode","MobiControlGetSerialNumber","MobiControlGetMacAddress","MobiControlGetDeviceId","MobiControlGetIsEnrolled","MobiControlGetAndroidDeviceDetails","initialized","currentCategory","displayedKeysPerCategory","isMoving","categories","device_info","memory_info","hardware_info","support_information","telephony_info","network_info","categoryInput","categoryTargetBlock","ddCategoryBlock","onCategoryChanged","Events","MOVE","childBlock","unselect","END_DRAG","updateCategory","keyTargetBlock","ddKeyBlock","categoryBlock","MobiControlGetIosDeviceDetails","MobiControlGetCustomAttribute","PlayNote","_testSound","note","beats","timing","AudioContext","gainNode","createGain","oscillator","createOscillator","gain","frequency","destination","start","stop","defaultSound","PlayBeep","sound","firstSound","snd","Audio","volume","play","RefreshChart","selectChartDropdown","StartTimer","selectTimerDropdown","StopTimer","ResetTimer","GetTimerValue","RepeaterNavigateFirst","selectRepeaterDropdown","repeaterId","RepeaterNavigateBack","RepeaterNavigateNext","RepeaterNavigateLast","RepeaterNavigateTo","RepeaterNewEntry","RepeaterEntryDelete","confirm","RepeaterNewSave","RepeaterGetEntriesAmount","RepeaterEntryIndex","RepeaterEntryValue","innerWidgets","selectInnerWidgetDropdown","getInnerWidgets","updateInnerWidgets","parentWidgetId","innerWidgetId","RepeaterEntryIndexValue","entryIndex","businessCardIcon","BusinessCard","GetBusinessCardValue","SetBusinesCardValue","ClearDateValue","Charts","ToolboxList","_getToolboxList","widgetsArr","reject","isString","_getSearchFields","_getPageItem","getAllPagesFromContext","barcodeWidgets","buttonWidgets","checkboxWidgets","checkboxListWidgets","timerWidgets","dateWidgets","dropdownWidgets","labelWidgets","layoutWidgets","paragraphWidgets","ratingWidgets","radioListWidgets","radioWidgets","sectionWidgets","imageWidgets","fileUploadWidgets","textboxWidgets","flipSwitchWidgets","mapWidgets","userListWidgets","businessCardWidgets","groupListWidgets","envVariables","_getVariable","getAllVariablesFromContext","topic","_getXSightTopic","getAllXSightTopicsFromContext","Widget Values","barcode","chart","checkboxlist","dropdown","grouplist","layout","paragraph","rating","radiobuttonlist","section","fileupload","textbox","switch","hamburger","dynamicdropdown","user","userlist","businesscard","searchTag","App Actions","SnapActionResetPage","SnapActionSubmit","SnapActionSync","SnapActionValidate","OpenApp","OpenSnapApp","Connections","Global Variables","XSight Topics","Repeater","RepeaterEntryNew","RepeaterEntrySave","RepeaterEntriesAmount","Table","LoadTableDataRest","Sound","MobiControl","SOTISnackbar","UpdateJSON","Debug Tools","My Libraries","allLibraries","_getLibraryBlocks","MyBlocks","sanitizedBlock","expandedclass","callbackKey","CustomJS","setBlockCode","uniqueId","params","JSBlocks","JSBlocks_CustomJS","hidden","TableView","SnapBlocks","toolboxList","snapBlocks","Toolbox_Legacy","Toolbox_WidgetValues","Toolbox_AppActions","Toolbox_Connections","Toolbox_Variables","Toolbox_XSightTopics","custom","isRendered","Toolbox","collapseToolbox","toolboxDiv","toolboxRows","querySelectorAll","selectedRows","flyout","row","classList","scrollbar","collapseChildren","recordDeleteAreas","expandToolbox","marginTop","add","refreshSelection","setSelectedItem","pinned","isSearchExpanded","_updateToolbox","UI","CREATE","scroller","Scrollbar","plugins","disableScroll","direction","toolbox_","HtmlDiv","_isHandlerAttached","labelContainer","workspaceDiv","Tooltips","didOpen","appendTooltip","pos","removeTooltip","clearTimeout","tt","Workspace","getAll","hideChaff","updateToolbox","ensureIconPathsExist","addExpandedClass","_attachHandlers","_initToolboxTooltips","_updateHiddenCategories","_openSearch","_initializeScroller","_updateScrollerGeometry","Search_SearchBar","Toolbox_Search","Toolbox_SnapBlocks","Toolbox_Logic","Toolbox_Loops","Toolbox_Math","Toolbox_Text","Toolbox_Lists","Toolbox_Colour","Toolbox_Dates","Toolbox_Repeater","Toolbox_TableView","Toolbox_MobiControl","Toolbox_Debug","Toolbox_MyBlocks","handlers","KeyF","preventDefault","KeyBindings","ctrlKey","metaKey","ErrorMessage","CSSTransition","in","DeleteBlockDialog","react_router_dom","_deleteBlock","ActionButtons","slicedToArray","hoveredUndo","setHoveredUndo","toggleHoverUndo","undoEnabled","setUndoEnabled","hoveredRedo","setHoveredRedo","toggleHoverRedo","redoEnabled","setRedoEnabled","saveRef","_useState9","_useState10","isSaveHovered","setIsSaveHovered","_useState11","_useState12","saveEnabled","setSaveEnabled","_useState13","_useState14","hoveredComment","setHoveredComment","_useState15","_useState16","hoveredResetZoom","setHoveredResetZoom","toggleHoverResetZoom","_useState17","_useState18","hoveredZoomIn","setHoveredZoomIn","toggleHoverZoomIn","_useState19","_useState20","zoomInEnabled","setZoomInEnabled","_useState21","_useState22","hoveredZoomOut","setHoveredZoomOut","toggleHoverZoomOut","_useState23","_useState24","zoomOutEnabled","setZoomOutEnabled","_useState25","_useState26","hoveredHelp","setHoveredHelp","toggleHoverHelp","Tooltip","currentlyDragging","BlockDragSurfaceSvg","translateSurface","selected","BLOCK_MOVE","opacity","undoStack_","redoStack_","classNames","snap-icon-undo","snap-icon-undo_dual","onMouseEnter","onMouseLeave","snap-icon-redo","snap-icon-redo_dual","snap-icon-save","snap-icon-save_dual","OverlayTrigger","overlay","onEntered","onExited","snap-icon-SMS","snap-icon-SMS_dual","commentVisible","entries","blockDB_","isVisible","commentDB_","isMinimized_","setMinimized","snap-icon-target","snap-icon-target_dual","Touch","clearTouchIdentifier","stopPropagation","snap-icon-zoom_in","snap-icon-zoom_in_dual","zoomCenter","snap-icon-Zoom_out","snap-icon-Zoom_out_dual","snap-icon-help","snap-icon-help_dual","open","prevProps","mouseX","mouseY","removeDeleteIcon","generateSnapReturns","blockType","blockScript","ast","Parser","simple","ExpressionStatement","expression","createVariable","clientX","clientY","rect","checkDeleteIcon","flyoutScrollbars","toolboxWidth","flyoutBoundingRectRight","flyoutDOM","flyoutWidth","flyoutScrollbar","flyoutScrollbarTransform","flyoutScrollbarTransformX","newFlyoutScrollbarTransformX","draggables","draggablesArray","contains","_loop","deleteIconContainer","paddingLeft","paddingTop","zIndex","deleteIcon","savedLibraries","src_components_DeleteBlockDialog","actions","debugCode","Workspace_KeyBindings","components_AppTour","ErrorMessage_ErrorMessage","Toolbox_Toolbox","version","xmlns","patternUnits","href","src_components_ActionButtons","fieldDropdown","menuGenerator","opt_validator","opt_show_select","opt_on_change","selectOption_","menuGenerator_","trimOptions_","getOptions","validateOptions_","firstTuple","initialValue","superClass_","constructor","addArgType","goog","inherits","Field","fromJson","EDITABLE","SERIALIZABLE","CHECKMARK_OVERHANG","MAX_MENU_HEIGHT_VH","IMAGE_Y_OFFSET","CURSOR","selectedItem","imageJson_","DROPDOWN_SVG_DATAURI","onItemSelected","menuItem","dropDownOpen_","callValidator","fire","Ui","warning_","updateOverlayColour","enabled_","isEditable","getClickTarget_","mouseOverWrapper_","bindEvent_","onMouseOver_","mouseOutWrapper_","onMouseOut_","showEditor_","__proto__","unbindEvent_","render_","visible_","textElement_","getDisplayText_","updateSize_","leftMargin","leftMargin_","centerTextX","size_","arrowWidth_","RTL","positionArrow","minOffset","BlockSvg","FIELD_WIDTH","minCenter","min","max","box_","overlay_","overlayCol","getOverlayColour","styleStr","fieldGroup_","text_","initView","arrowSize_","arrowX_","arrowY_","placeImageInline","userAgent","IE","IOS","arrowElement","arrowHref","arrow_","createSvgElement","setAttributeNS","className_","shouldShowRect_","rx","CORNER_RADIUS","ry","getColourTertiary","fill-opacity","insertBefore","stroke-opacity","stroke-width","nextSibling","isInFlyout","gesture","getGesture","isDragging","svgPath_","DropDownDiv","hideWithoutAnimation","clearContent","contentDiv","getContentDiv","thisField","ui","Menu","setRightToLeft","MenuSeparator","addChild","getElement","borderColor","MenuItem","setCheckable","checked","setChecked","events","listen","EventType","ACTION","setGroup","menuDom","uiMenu","getSize","scrollHeight","primaryColour","getCategory","setCategory","showPositionedByField","onHide","setAllowAutoFocus","disableColourChange_","clearShadowColour","newOpts","replaceMessageReferences","menuGenerator__","isOptionListDynamic","generatedOptions","doClassValidation_","isValueValid","doValueUpdate_","option","updateColour","getColourShadow","updateTextNode_","bumpNeighbours_","addedWidth","DROPDOWN_ARROW_PADDING","BOX_FIELD_PADDING","hideIfOwner","TypeError","foundError","tuple","fromXml","fieldElement","toXml","register","fieldWidgetsDropdown","opt_widgetTypes","parentFormId","w","pageA","displayPageName","pageB","trimmedPageName","warnNoWidgets","finalOpts","resizeEditor_","initialWidth","div","getTotalFields_","getHeightWidth","FIELD_TEXTINPUT_EXPAND_PAST_TRUNCATION","textWidth","pxtBlocklyUtils","measureText","FieldTextInput","htmlInput_","fontSize","fontFamily","fontWeight","TEXT_MEASURE_PADDING_MAGIC","FIELD_WIDTH_MIN_EDIT","FIELD_WIDTH_MAX_EDIT","inputHeight","FIELD_HEIGHT_MAX_EDIT","marginLeft","borderRadius","getBorderRadius","strokeColour","xy","getAbsoluteXY_","GECKO","WEBKIT","getOutputShape","NUMBER_FIELD_CORNER_RADIUS","TEXT_FIELD_CORNER_RADIUS","createTextInput_","htmlInput","FIELD_TEXTINPUT_FONTSIZE_FINAL","filtered","menu_","MenuHeader","fullContent_","startsWith","cleanUpEditor","filteredItems","removeClassName","addClassName","remainingCategories","getContent","notFoundItem","textInput_","attach","trimmedContent","fieldDropdownSearch","content_","fieldDropdownSearchCategories","FieldDropdownSearchCategories","sortOptions","cat","options_","AssignArguments","inputParameters","undoStack","redoStack","eventList","restoreUndo","assertThisInitialized","restoreRedo","blockToRender","_convertShadowToRegular","blocklyArea","blocklyDiv","removeProperty","offsetLeft","offsetTop","offsetParent","svgResize","lockInputs","check_","parentName","_createInputBlock","_updateInputParaList","nextInputName","inputText","idToRemove","isRemove","recordEvent","draggedInput","shadowDom_","childNodes","record","lastUiIndex","lastEndDragIndex","firstMoveIndex","lastMoveIndex","oldInputName","newInputName","oldParentId","newParentId","draggedBlock","lockArgumentBlock","recordUndo","descendants","getMainWorkspace","blockDOM","domText","mostRecentState","pop","lastState","updateParametersNewBlock","expandBlock","lockArgumentBlocksType","zoomControlsRect","undoRedo","_resizeWorkSpace","_addInputBlockDragListener","setDescendantsToImmovable","positionUndoRedo","keydown","ModalButtons","index_es","faUndoAlt","faRedoAlt","SaveModal","blockToSaveXml","refresh","initialState","blockInfo","createNewLibrary","_createNewLibrary","_incrementStep","blockArgs","dependentLibrary","xml_text","handleCancel","_handleNameBlockNext","_decrementStep","_handleDefineArgumentsNext","Steps_AssignArguments","_handleAssignBlocksNext","AssignScript","argString","CreateJSBlock","toastVisible","Steps_AssignScript","_handleAssignScriptBack","_handleAssignScriptNext","Toast","onClose","margin","Header","Body","Documentation","routes","react_router","exact","defaultState","inTraffic","combineReducers","ActionTypes","INITIALIZE_APP","LOADED_INIT_INFO","FAILED_INIT_INFO","LOADED_NEW_VARIABLE","ON_SEARCH","INITIALIZE_BLOCK","LOADED_JS_BLOCKS","LOADED_LIBRARIES","FAILED_MY_BLOCKS","DONE_SAVE_MY_BLOCK","DOING_SAVE_JS_BLOCK","DONE_SAVE_JS_BLOCK","DONE_SAVE_LIBRARY","DONE_DELETE_LIBRARY","el","DONE_DELETE_BLOCK","loadInitInfo","closeBlockly","getNewVariable","saveJsBlock","loadJsBlocks","appId","loadLibraries","_ref2","dummyState","size","persistValue","isNameNotUnique","$$hashKey","expectsRunningApp","topicCalculationCode","topicInputArgumentValues","createNewVariable","doClose","sagas_app","GET_INIT_INFO","DO_SEND_CODE_TO_PARENT","DO_CLOSE","DO_SEND_VALIDATED_TO_PARENT","GET_NEW_VARIABLE","regenerator_default","wrap","_context","prev","put","loadingInitInfo","sent","failedInitInfo","loadedInitInfo","_marked","_context2","loadingNewVariable","failedNewVariable","loadedNewVariable","_marked2","_context3","doingSendCodeToParent","delay","doneSendCodeToParent","_marked3","_context4","doingSendValidatedToParent","doneSendValidatedToParent","_marked4","_context5","doingClose","doneClose","_marked5","getJsBlocks","sagas_block","DO_SAVE_MY_BLOCK","DO_SAVE_JS_BLOCK","GET_JS_BLOCKS","DO_SAVE_LIBRARY","GET_LIBRARIES","DO_DELETE_LIBRARY","DO_DELETE_BLOCK","doingSaveMyBlock","doneSaveMyBlock","block_marked","doingSaveJsBlock","doneSaveJsBlock","block_marked2","_ref3","loadingJsBlocks","loadedJsBlocks","block_marked3","_ref4","doingSaveLibrary","doneSaveLibrary","block_marked4","_ref5","doingDeleteLibrary","loadedLibraries","block_marked5","_ref6","_context6","doneDeleteLibrary","_marked6","_ref7","_context7","doingDeleteBlock","doneDeleteBlock","_marked7","sagaMiddleware","createSagaMiddleware","sagas","appSagas","myBlockSagas","actionSagaPair","mark","_callee","delegateYield","takeEvery","Boolean","hostname","Sentry","dsn","environment","autoSessionTracking","integrations","Integrations","BrowserTracing","tracesSampleRate","ReactDOM","store","applyMiddleware","logger","createStore","createStoreWithMiddleware","allReducers","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","Symbol","iterator","saga","return","configureStore","serviceWorker","ready","registration","unregister","react__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_0___default","react_router_dom__WEBPACK_IMPORTED_MODULE_2__","actionNames","_len3","names","_key3","_len","_key","load","loadAll","doit","doAll","resourceName","actionTypes","createAction"],"mappings":"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","file":"static/js/main.48f27292.chunk.js","sourcesContent":["/*eslint no-mixed-operators: \"off\"*/\r\n/*global io, ExecutionRuntimeModule, BlocklyPromises*/\r\nimport postRobot from 'post-robot';\r\n\r\n// Generic utility functions\r\nimport { assign, clone } from 'lodash';\r\n\r\nconst serverURL = process.env.REACT_APP_DASHBOARD_API_ROOT;\r\n\r\nexport const WORKFLOW_APP_TYPE_ID = 2;\r\n\r\n// Is a value string or null?\r\nexport function isStringOrNull (value) {\r\n return !value || typeof value === 'string';\r\n}\r\n\r\n// If the value has an id property return its id, else return the value\r\nexport function getId (value) {\r\n return value && value.id || value;\r\n}\r\n\r\n// Sort objects by id property of\r\nexport function sortById (a = {}, b = {}) {\r\n return a.id > b.id ? 1 : a.id < b.id ? -1 : 0;\r\n}\r\n\r\n// Sort objects by name property\r\nexport function sortByName (a = {}, b = {}) {\r\n a = a.name && a.name.toUpperCase();\r\n b = b.name && b.name.toUpperCase();\r\n\r\n return (a > b) ? 1 : (a < b) ? -1 : 0;\r\n}\r\n\r\n// Return a new clone of the object with args assigned to it\r\nexport function compose (obj, ...args) {\r\n return assign(clone(obj), ...args);\r\n}\r\n\r\n// Convert a space seperated string to an upper snake cased string\r\n// e.g. \"cat and dog\" -> \"CAT_AND_DOG\"\r\nexport function upperSnakeCase (string) {\r\n return string.split(' ').join('_').toUpperCase();\r\n}\r\n\r\n// Convert an underscore or space sepertated sting to a camel-cased string\r\n// e.g. \"eat RHUBARB_pie\" -> \"eatRhubarbPie\"\r\nexport function camelCase (string) {\r\n let words = string.toLowerCase().split(/_| /);\r\n return words.reduce((word, next) =>\r\n word + next[0].toUpperCase() + next.slice(1));\r\n}\r\n\r\n// Log message with a timestamp.\r\nexport const log = logFactory();\r\n\r\n// Log error with a timestamp.\r\nexport const logError = logFactory('error');\r\n\r\n// Create new loggers with the specified severity\r\nexport function logFactory (severity = 'log') {\r\n return (...messages) => {\r\n let timestamp = new Date().toISOString();\r\n console[severity](timestamp, ...messages);\r\n };\r\n}\r\n\r\nexport function dom(type, properties,children){\r\n let r = document.createElement(type);\r\n for (let i in properties){\r\n r.setAttribute(i,properties[i])\r\n r[i] = properties[i]\r\n }\r\n if(children){\r\n children = Array.isArray(children)?children:[children]\r\n for (let i in children){\r\n r.appendChild(children[i])\r\n }\r\n }\r\n return r\r\n}\r\n\r\nexport function parseString(str){\r\n\r\n if((str[0]===\"'\" && str[str.length-1]===\"'\") || (str[0] === '\"' && str[str.length-1] === '\"') ){\r\n str = str.substring(1)\r\n str = str.substring(0,str.length-1)\r\n }\r\n return str\r\n}\r\n\r\nexport function stringifyJSON(json){\r\n if(!Object.keys(json).length){\r\n return \"{}\"\r\n }\r\n let str = \"{\\n\"\r\n for (let i in json){\r\n str += \"\\t \"+i+\": \"+json[i]+\",\\n\"\r\n }\r\n str = str.substring(0,str.length-2)+\"\\n\\t}\"\r\n return str\r\n}\r\n\r\n// remove values from json, leave just the structure w/ primitive values\r\n// arrays get [], functions are removed entirely\r\nexport function pruneJSON (obj){\r\n let json;\r\n if(typeof(obj)===\"object\" && !Array.isArray(obj) && obj != null && Object.keys(obj).length){\r\n json = {}\r\n let keys = Object.keys(obj)\r\n for (let i in keys){\r\n let key = keys[i]\r\n\r\n json[key] = pruneJSON(obj[key])\r\n if(json[key]===undefined){\r\n delete json[key]\r\n }\r\n }\r\n } else if (typeof(obj) ===\"function\") {\r\n json = undefined\r\n } else if (Array.isArray(obj)){\r\n json = []\r\n } else {\r\n json = obj\r\n }\r\n return json\r\n}\r\n\r\n\r\n\r\n\r\n/**\r\n * parseToJsonPromise\r\n * Returns JSON result for the fetch response\r\n * e.g. parseToJsonPromise(data) => { ...values }\r\n *\r\n **/\r\n\r\nfunction parseToJsonPromise (data) {\r\n return new Promise(res => {\r\n data.json().then(object => {\r\n let response = {\r\n successful: [200, 201].includes(data.status),\r\n data: object,\r\n code: data.status\r\n };\r\n\r\n return res(response);\r\n }).catch(function(error) {\r\n console.error(\"Error while reading response JSON\", error, data);\r\n })\r\n });\r\n}\r\n\r\nconst apiGenerator = (uri, method, payload, type) => {\r\n const token = localStorage.getItem(\"auth_token\");\r\n\r\n let headers = {\r\n 'Accept': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n };\r\n\r\n if (type !== \"file\") {\r\n headers[\"Content-Type\"] = \"application/json\";\r\n payload = JSON.stringify(payload);\r\n }\r\n console.log(serverURL)\r\n return fetch(`${serverURL}${uri}`, {\r\n method,\r\n body: payload,\r\n headers\r\n }).then(parseToJsonPromise).catch(error => { throw error });\r\n};\r\n\r\nconst socketGenerator = (url, method, payload) => {\r\n return new Promise((res) => {\r\n io.socket.request({\r\n url: url,\r\n method: method,\r\n headers: io.sails.headers,\r\n data: payload\r\n }, (resData, jwRes) => {\r\n const successful = jwRes.statusCode === 200;\r\n res({ data: resData, successful });\r\n })\r\n })\r\n};\r\n\r\nconst networkAdapter = (generator) => {\r\n return {\r\n POST: (url, payload, type) => generator(url, 'POST', payload, type),\r\n PUT: (url, payload) => generator(url, 'PUT', payload),\r\n DELETE: (url, payload) => generator(url, 'DELETE', payload),\r\n GET: (url, token, payload) => generator(url, 'GET', payload)\r\n }\r\n};\r\n\r\nconst bridgeAdapter = (generator) => {\r\n return {\r\n send: (type, payload, timeout) => generator(type, payload, timeout),\r\n }\r\n};\r\n\r\nconst bridgeGenerator = (uri, payload) => {\r\n return new Promise((res) => {\r\n try {\r\n postRobot.send(window.parent, uri, payload)\r\n .then(({ data }) => {\r\n res({ successful: true, data })\r\n }).catch(e => {\r\n res({ successful: false, error: e })\r\n })\r\n } catch (e) {\r\n res({ successful: false, error: e })\r\n }\r\n });\r\n};\r\n\r\nconst blocklyPrefixFunctions = function () {\r\n const funcs = {\r\n toNumber: function (a, defaultVal){\r\n let r;\r\n if (typeof(a)=='number'){\r\n r = a\r\n } else if (typeof(a)=='string'){\r\n r = parseFloat(a);\r\n if (isNaN(r)){r = defaultVal}\r\n } else{\r\n r = defaultVal\r\n }\r\n return r\r\n },\r\n meanOfNumbers: function (list) {\r\n list = list.filter(function(x){return typeof(x)=='number'});\r\n return list.reduce(function(x,y){return x+y}) / list.length;\r\n },\r\n medianOfNumbers: function (list) {\r\n let localList = list.filter(function(x){return typeof x == 'number'});\r\n\r\n if (!localList.length) return null;\r\n localList.sort(function(a, b) {return b - a;});\r\n\r\n if (localList.length % 2 === 0) {\r\n return (localList[localList.length / 2 - 1] + localList[localList.length / 2]) / 2;\r\n } else {\r\n return localList[(localList.length - 1) / 2];\r\n }\r\n },\r\n getDateField: function (field, date) {\r\n let timestamp = new Date();\r\n if (date) { timestamp = date && date.getMonth ? date : new Date(date); }\r\n // var monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n\r\n switch (field) {\r\n case 'date':\r\n return timestamp.getDate();\r\n case 'month':\r\n return timestamp.getMonth()+1;\r\n case 'year':\r\n return timestamp.getFullYear();\r\n }\r\n },\r\n getTimeField: function (field, time) {\r\n let timestamp = new Date();\r\n if (time) {\r\n if (time.getHours) {\r\n timestamp = time;\r\n } else {\r\n let hour = Math.floor(time / 3600);\r\n let minute = Math.floor((time - hour * 3600) / 60);\r\n let second = time - hour * 3600 - minute * 60;\r\n timestamp.setHours(hour, minute, second);\r\n }\r\n }\r\n\r\n switch (field) {\r\n case 'hour':\r\n return timestamp.getHours();\r\n case 'minute':\r\n return timestamp.getMinutes();\r\n case 'second':\r\n return timestamp.getSeconds();\r\n }\r\n },\r\n convertTimeToString: function (datetime) {\r\n datetime.setFullYear(2020,1,1);\r\n let hour = datetime.getHours();\r\n let minute = datetime.getMinutes();\r\n let second = datetime.getSeconds();\r\n\r\n let tosec = ((hour * 60) + minute) * 60 + second;\r\n return tosec.toString();\r\n },\r\n convertStringToTime: function () {\r\n let sec = parseInt();\r\n let hour = Math.floor(sec / 3600);\r\n let minute = Math.floor((sec - hour * 3600) / 60);\r\n let second = sec - hour * 3600 - minute * 60;\r\n\r\n let d = new Date();\r\n d.setHours(hour, minute, second);\r\n\r\n d.setFullYear(2020,1,1);\r\n return d\r\n },\r\n numberPad: function (n, width, z) {\r\n z = z || '0';\r\n n = n + '';\r\n return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;\r\n },\r\n createDateAsUTC: function (date) {\r\n if (typeof date === \"string\") {\r\n date = new Date(date);\r\n }\r\n return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0));\r\n },\r\n isJSON: function (str) {\r\n try {\r\n JSON.parse(str);\r\n } catch (e) {\r\n return false;\r\n }\r\n return true;\r\n },\r\n BlocklyTmps:'{}', // For intermediate variables, so blockly vars don't conflict. eg: BlocklTmps[] = some intermediate calculation\r\n BlocklyPromises: '[]'\r\n };\r\n\r\n return Object.keys(funcs).reduce((stringifiedFuncs, funcName) => {\r\n return `${stringifiedFuncs}\\nvar ${funcName} = ${funcs[funcName].toString()};`;\r\n }, \"\");\r\n};\r\n\r\nconst blocklyPostfixFunctions = function () {\r\n const funcs = {\r\n executeBlocklyPromises: function () {\r\n BlocklyPromises.length && ExecutionRuntimeModule.Execute(BlocklyPromises)\r\n }\r\n };\r\n\r\n var postFuncs = Object.keys(funcs).reduce((stringifiedFuncs, funcName) => {\r\n return `${stringifiedFuncs}\\nvar ${funcName} = ${funcs[funcName].toString()};`;\r\n }, \"\");\r\n\r\n postFuncs += \"\\nexecuteBlocklyPromises()\";\r\n return postFuncs;\r\n};\r\n\r\n\r\n// returns true if bounding boxes rectA and rectB intersect\r\nexport function doDomNodesIntersect(domA, domB) {\r\n const rectA = domA.getBoundingClientRect();\r\n const rectB = domB.getBoundingClientRect();\r\n const maxLeft = rectA.left > rectB.left ? rectA.left : rectB.left;\r\n const minRight = rectA.right < rectB.right ? rectA.right : rectB.right;\r\n const maxTop = rectA.top > rectB.top ? rectA.top : rectB.top;\r\n const minBottom = rectA.bottom < rectB.bottom ? rectA.bottom : rectB.bottom;\r\n return (maxLeft < minRight && maxTop < minBottom);\r\n}\r\n\r\nexport function blockToXmlSanitized (block) {\r\n if (block.getElementsByTagName(\"block\").length > 0) {\r\n for (let i = block.getElementsByTagName(\"block\")[0].children.length - 1; i >= 0; i--) {\r\n let child = block.getElementsByTagName(\"block\")[0].children.item(i);\r\n if (child.tagName === \"value\") {\r\n block.getElementsByTagName(\"block\")[0].removeChild(child);\r\n }\r\n }\r\n }\r\n for (let i = block.getElementsByTagName(\"variables\").length - 1; i >= 0; i--) {\r\n let variable = block.getElementsByTagName(\"variables\")[i];\r\n variable.parentNode.removeChild(variable);\r\n }\r\n return block;\r\n}\r\n\r\nexport function encodeHTML (html) {\r\n return html.replace(/[\\u00A0-\\u9999<>&]/gim, i => `&#${i.charCodeAt(0)};`);\r\n}\r\n\r\nexport const BRIDGE = bridgeAdapter(bridgeGenerator);\r\nexport const SOCKETS = networkAdapter(socketGenerator);\r\nexport const API = networkAdapter(apiGenerator);\r\nexport const blocklyPrefix = blocklyPrefixFunctions();\r\nexport const blocklyPostfix = blocklyPostfixFunctions();\r\n","/* global Blockly */\r\n/* global $ */\r\n/* global Util */\r\nconst nacl = require('tweetnacl');\r\nnacl.util = require('tweetnacl-util');\r\n\r\n// contains all common functionality for REST-like blocks\r\nconst RestCore = function (prop) {\r\n const serverURL = process.env.REACT_APP_DASHBOARD_API_ROOT;\r\n const runTimeBlockList = ['variables_get', 'getter', 'snap_get_textbox_value', 'request_response_parameter',\r\n 'snap_get_label_text', 'snap_get_paragraph_text', 'snap_get_scanned_values_of_barcode_widget',\r\n 'snap_get_checkboxlist_selected_checkboxes', 'snap_get_date_value', 'snap_get_selected_value_of_dropdown',\r\n 'snap_get_value_of_selected_radiobutton', 'snap_get_rating_value', 'snap_get_environment_variable',\r\n 'snap_get_flipswitch_value', 'get_value_of_selected_externaldata_option', 'snap_get_uploaded_value',\r\n 'snap_get_uploaded_values', 'snap_get_image_source'];\r\n const unsupportedList = [/*'math_arithmetic','math_single', 'math_trig', 'math_constant', 'math_number_property',\r\n 'math_round', 'math_on_list', 'math_modulo', 'math_constrain', 'math_random_int',\r\n 'math_random_float', 'math_round_to_decimal', */\r\n /*'text_append',\r\n 'text_length', 'soti_snackbar', 'text_isEmpty', 'text_indexOf', 'text_charAt',\r\n 'text_getSubstring', 'text_changeCase', 'text_trim', */\r\n /*'lists_create_with',\r\n 'lists_repeat', 'lists_length', 'lists_isEmpty', 'lists_indexOf',\r\n 'lists_getIndex', 'lists_setIndex_2', 'lists_getSublist', 'lists_split',\r\n 'lists_sort', 'make_json_with', 'get_from_json', */\r\n 'colour_picker',\r\n 'colour_rgb', 'date', 'date_today', /*'get_day_from_date'*/, 'date_adder',\r\n 'snap_date_picker_number', 'date_is_before', 'logic_compare_new',\r\n 'tableview_selected_row',\r\n 'logic_negate', 'logic_operation'];\r\n const thickAdd = \"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='28px' height='28px' viewBox='0 0 28 28' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3Eicon-add-SNAP%3C/title%3E%3Cg id='icon-add-SNAP' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Ccircle id='Oval' stroke='%23E4E7E9' cx='14' cy='14' r='11.5'%3E%3C/circle%3E%3Cpath d='M14,3 C20.0751322,3 25,7.92486775 25,14 C25,20.0751322 20.0751322,25 14,25 C7.92486775,25 3,20.0751322 3,14 C3,7.92486775 7.92486775,3 14,3 Z M14.25,8 L13.75,8 C13.3357864,8 13,8.33578644 13,8.75 L13,8.75 L13,13 L8.75,13 C8.37030423,13 8.05650904,13.2821539 8.00684662,13.6482294 L8,13.75 L8,14.25 C8,14.6642136 8.33578644,15 8.75,15 L8.75,15 L13,15 L13,19.25 C13,19.6296958 13.2821539,19.943491 13.6482294,19.9931534 L13.75,20 L14.25,20 C14.6642136,20 15,19.6642136 15,19.25 L15,19.25 L15,15 L19.25,15 C19.6296958,15 19.943491,14.7178461 19.9931534,14.3517706 L20,14.25 L20,13.75 C20,13.3357864 19.6642136,13 19.25,13 L19.25,13 L15,13 L15,8.75 C15,8.37030423 14.7178461,8.05650904 14.3517706,8.00684662 L14.25,8 Z' id='Combined-Shape' fill='%23FFFFFF'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\";\r\n const thickRemove = \"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='28px' height='28px' viewBox='0 0 28 28' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3Eicon-remove-SNAP%3C/title%3E%3Cg id='icon-remove-SNAP' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Ccircle id='Oval' stroke='%23E4E7E9' cx='14' cy='14' r='11.5'%3E%3C/circle%3E%3Cpath d='M14,3 C20.0751322,3 25,7.92486775 25,14 C25,20.0751322 20.0751322,25 14,25 C7.92486775,25 3,20.0751322 3,14 C3,7.92486775 7.92486775,3 14,3 Z M18.75,12.5 L9.25,12.5 C8.55964406,12.5 8,13.0596441 8,13.75 L8,13.75 L8,14.25 C8,14.9403559 8.55964406,15.5 9.25,15.5 L9.25,15.5 L18.75,15.5 C19.4403559,15.5 20,14.9403559 20,14.25 L20,14.25 L20,13.75 C20,13.0596441 19.4403559,12.5 18.75,12.5 L18.75,12.5 Z' id='Combined-Shape' fill='%23FFFFFF'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\";\r\n const collapseImage = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjhweCIgaGVpZ2h0PSIyOHB4IiB2aWV3Qm94PSIwIDAgMjggMjgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+aWNvbi1kcm9wZG93bi1TTkFQPC90aXRsZT4KICAgIDxnIGlkPSJpY29uLWRyb3Bkb3duLVNOQVAiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwiIHN0cm9rZT0iI0U0RTdFOSIgY3g9IjE0IiBjeT0iMTQiIHI9IjExLjUiPjwvY2lyY2xlPgogICAgICAgIDxwYXRoIGQ9Ik0xNCwzIEMyMC4wNzUxMzIyLDMgMjUsNy45MjQ4Njc3NSAyNSwxNCBDMjUsMjAuMDc1MTMyMiAyMC4wNzUxMzIyLDI1IDE0LDI1IEM3LjkyNDg2Nzc1LDI1IDMsMjAuMDc1MTMyMiAzLDE0IEMzLDcuOTI0ODY3NzUgNy45MjQ4Njc3NSwzIDE0LDMgWiBNOS42MzYzNjM2NCwxMS4yODg3NzAxIEM5LjI1MTMzNjksMTAuOTAzNzQzMyA4LjYwOTYyNTY3LDEwLjkwMzc0MzMgOC4yODg3NzAwNSwxMS4yODg3NzAxIEw4LjI4ODc3MDA1LDExLjI4ODc3MDEgTDguMjA2NzUyNTIsMTEuMzgwODY0NSBDNy45MDYwMjE1OCwxMS43NjE1MSA3LjkzMzM2MDc2LDEyLjI4MDk1NDMgOC4yODg3NzAwNSwxMi42MzYzNjM2IEw4LjI4ODc3MDA1LDEyLjYzNjM2MzYgTDEzLjEwMTYwNDMsMTcuNDQ5MTk3OSBDMTMuNjE0OTczMywxNy45NjI1NjY4IDE0LjM4NTAyNjcsMTcuOTYyNTY2OCAxNC44OTgzOTU3LDE3LjQ0OTE5NzkgTDE0Ljg5ODM5NTcsMTcuNDQ5MTk3OSBMMTkuNzExMjI5OSwxMi42MzYzNjM2IEMyMC4wOTYyNTY3LDEyLjI1MTMzNjkgMjAuMDk2MjU2NywxMS42NzM3OTY4IDE5LjcxMTIyOTksMTEuMjg4NzcwMSBMMTkuNzExMjI5OSwxMS4yODg3NzAxIEwxOS42MTkxMzU1LDExLjIwNjc1MjUgQzE5LjIzODQ5LDEwLjkwNjAyMTYgMTguNzE5MDQ1NywxMC45MzMzNjA4IDE4LjM2MzYzNjQsMTEuMjg4NzcwMSBMMTguMzYzNjM2NCwxMS4yODg3NzAxIEwxNC40NDkxOTc5LDE1LjIwMzIwODYgQzE0LjE5MjUxMzQsMTUuNDU5ODkzIDEzLjgwNzQ4NjYsMTUuNDU5ODkzIDEzLjU1MDgwMjEsMTUuMjAzMjA4NiBMMTMuNTUwODAyMSwxNS4yMDMyMDg2IFoiIGlkPSJDb21iaW5lZC1TaGFwZSIgZmlsbD0iI0ZGRkZGRiI+PC9wYXRoPgogICAgPC9nPgo8L3N2Zz4=\";\r\n const expandImage = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjhweCIgaGVpZ2h0PSIyOHB4IiB2aWV3Qm94PSIwIDAgMjggMjgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+aWNvbi1kcm9wZG93bi1TTkFQLTAyPC90aXRsZT4KICAgIDxnIGlkPSJpY29uLWRyb3Bkb3duLVNOQVAtMDIiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwiIHN0cm9rZT0iI0U0RTdFOSIgY3g9IjE0IiBjeT0iMTQiIHI9IjExLjUiPjwvY2lyY2xlPgogICAgICAgIDxwYXRoIGQ9Ik0xNCwzIEMyMC4wNzUxMzIyLDMgMjUsNy45MjQ4Njc3NSAyNSwxNCBDMjUsMjAuMDc1MTMyMiAyMC4wNzUxMzIyLDI1IDE0LDI1IEM3LjkyNDg2Nzc1LDI1IDMsMjAuMDc1MTMyMiAzLDE0IEMzLDcuOTI0ODY3NzUgNy45MjQ4Njc3NSwzIDE0LDMgWiBNOS42MzYzNjM2NCwxMS4yODg3NzAxIEM5LjI1MTMzNjksMTAuOTAzNzQzMyA4LjYwOTYyNTY3LDEwLjkwMzc0MzMgOC4yODg3NzAwNSwxMS4yODg3NzAxIEw4LjI4ODc3MDA1LDExLjI4ODc3MDEgTDguMjA2NzUyNTIsMTEuMzgwODY0NSBDNy45MDYwMjE1OCwxMS43NjE1MSA3LjkzMzM2MDc2LDEyLjI4MDk1NDMgOC4yODg3NzAwNSwxMi42MzYzNjM2IEw4LjI4ODc3MDA1LDEyLjYzNjM2MzYgTDEzLjEwMTYwNDMsMTcuNDQ5MTk3OSBDMTMuNjE0OTczMywxNy45NjI1NjY4IDE0LjM4NTAyNjcsMTcuOTYyNTY2OCAxNC44OTgzOTU3LDE3LjQ0OTE5NzkgTDE0Ljg5ODM5NTcsMTcuNDQ5MTk3OSBMMTkuNzExMjI5OSwxMi42MzYzNjM2IEMyMC4wOTYyNTY3LDEyLjI1MTMzNjkgMjAuMDk2MjU2NywxMS42NzM3OTY4IDE5LjcxMTIyOTksMTEuMjg4NzcwMSBMMTkuNzExMjI5OSwxMS4yODg3NzAxIEwxOS42MTkxMzU1LDExLjIwNjc1MjUgQzE5LjIzODQ5LDEwLjkwNjAyMTYgMTguNzE5MDQ1NywxMC45MzMzNjA4IDE4LjM2MzYzNjQsMTEuMjg4NzcwMSBMMTguMzYzNjM2NCwxMS4yODg3NzAxIEwxNC40NDkxOTc5LDE1LjIwMzIwODYgQzE0LjE5MjUxMzQsMTUuNDU5ODkzIDEzLjgwNzQ4NjYsMTUuNDU5ODkzIDEzLjU1MDgwMjEsMTUuMjAzMjA4NiBMMTMuNTUwODAyMSwxNS4yMDMyMDg2IFoiIGlkPSJDb21iaW5lZC1TaGFwZSIgZmlsbD0iI0ZGRkZGRiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMDAwMDAwLCAxNC4wMDAwMDApIHJvdGF0ZSgtOTAuMDAwMDAwKSB0cmFuc2xhdGUoLTE0LjAwMDAwMCwgLTE0LjAwMDAwMCkgIj48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg==\";\r\n const promisesExecutionString = \"BlocklyPromises.length && ExecutionRuntimeModule.Execute(BlocklyPromises);\"\r\n\r\n // checks that the value is an encrypted value\r\n function check_encryption(text) {\r\n try {\r\n if (JSON.parse(text).cipher_text && JSON.parse(text).one_time_code) {\r\n return true;\r\n }\r\n } catch (e) {\r\n //unencrypted\r\n return false;\r\n }\r\n }\r\n\r\n // ecrypt message\r\n function encrypting(plain_text) {\r\n var server_publicKey = new Uint8Array([209, 206, 136, 17, 228, 200, 186, 71, 49, 238, 139, 246, 105, 224, 146, 212, 166, 177, 235, 170, 85, 190, 146, 177, 66, 176, 76, 128, 116, 223, 233, 118]);\r\n var agent_secretKey = new Uint8Array([25, 214, 24, 123, 105, 253, 185, 215, 197, 97, 150, 227, 23, 90, 53, 27, 149, 169, 246, 158, 186, 147, 85, 77, 184, 76, 113, 210, 2, 128, 180, 244]);\r\n const shared_key = nacl.box.before(server_publicKey, agent_secretKey);\r\n const one_time_code = nacl.randomBytes(24);\r\n\r\n //Getting the cipher text\r\n const cipher_text = nacl.box.after(\r\n nacl.util.decodeUTF8(plain_text),\r\n one_time_code,\r\n shared_key\r\n );\r\n\r\n //message to be transited.\r\n const message_encrypted = {cipher_text,one_time_code};\r\n return message_encrypted;\r\n }\r\n\r\n // builds javascript rest response function\r\n function getResponseSuccessStr(id, evalStr) {\r\n return `\r\n function(data, status, xhr) {\r\n var ResponseScope = ResponseScope || {};\r\n ResponseScope['${id}'] = data;\r\n ${evalStr}\r\n ${promisesExecutionString}\r\n }`;\r\n }\r\n\r\n function getResponseErrorStr(id, evalStr) {\r\n return `\r\n function(data, status, xhr) {\r\n var ResponseScope = ResponseScope || {};\r\n ResponseScope['${id}'] = {\r\n message: data.statusText,\r\n statusCode: data.status,\r\n };\r\n ${evalStr}\r\n ${promisesExecutionString}\r\n }`;\r\n }\r\n\r\n function getNativeOnSuccessStr(id, evalStr) {\r\n return `\r\n function(data, statusCode) {\r\n if (isJSON(data)) {data = JSON.parse(data);}\r\n var ResponseScope = ResponseScope || {};\r\n ResponseScope['${id}'] = data;\r\n ${evalStr}\r\n ${promisesExecutionString}\r\n }`;\r\n }\r\n\r\n function getNativeOnErrorStr(id, evalStr) {\r\n return `\r\n function(statusCode, textStatus, errorThrown) {\r\n var ResponseScope = ResponseScope || {};\r\n ResponseScope['${id}'] = {\r\n message: textStatus,\r\n statusCode: statusCode,\r\n };\r\n ${evalStr}\r\n ${promisesExecutionString}\r\n }`;\r\n }\r\n\r\n return {\r\n proxyToggle: true,\r\n username_encrypted: false,\r\n password_encrypted: false,\r\n username_value : '',\r\n password_value : '',\r\n tab: 'authentication',\r\n visible: true, // is current block expanded\r\n showOnError: false, // is \"onError\" block expanded\r\n responseJsonStructure: null, // last saved json structure obtained from \"test\" response and selected in \"on response\" block\r\n bodyContentType: \"application/json\",\r\n\r\n // customization\r\n coreColor: \"#000000\", \r\n toggleOn: \"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='28px' height='28px' viewBox='0 0 28 28' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3Eicon-toggle on-SNAP%3C/title%3E%3Cg id='icon-toggle-on-SNAP' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Crect id='Rectangle' fill='%238A1C57' x='2' y='8' width='24' height='12' rx='6'%3E%3C/rect%3E%3Ccircle id='Oval' fill='%23FFFFFF' cx='20' cy='14' r='4'%3E%3C/circle%3E%3C/g%3E%3C/svg%3E\",\r\n toggleOff: \"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='28px' height='28px' viewBox='0 0 28 28' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3Eicon-toggle off-SNAP%3C/title%3E%3Cg id='icon-toggle-off-SNAP' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Crect id='Rectangle' fill-opacity='0.7' fill='%23FFFFFF' x='2' y='8' width='24' height='12' rx='6'%3E%3C/rect%3E%3Ccircle id='Oval' fill='%23B64D8B' cx='8' cy='14' r='4'%3E%3C/circle%3E%3C/g%3E%3C/svg%3E\",\r\n tabCol: { primary:'#b10069', secondary:'#000000', tertiary:'#FFFFFF', text:'#FFFFFF'},\r\n testButton: {primary:'#ffffff', secondary:'#000000', tertiary:'#C1C1C1', text:'#b10069'},\r\n disabledCol: {primary:'#ffffff', secondary:'#000000', tertiary:'#C1C1C1', text:'#b10069'},\r\n\r\n // init expand/collapse button\r\n initToggleButton: function() {\r\n this.appendDummyInput(\"TOGGLE_BTN\")\r\n .setOnNewRow(true)\r\n .appendField(new Blockly.FieldImage(expandImage, 30, 30, \"settings\", function() {\r\n this.switchVisibility(!this.visible);\r\n }.bind(this)));\r\n this.appendDummyInput('TOGGLE_BTN_PLACEHOLDER')\r\n },\r\n\r\n // init REST verb selector and url\r\n initRestUrl: function(onlyReadVerbs, setOnNewRow) {\r\n // create verb selector\r\n let verbs = [['GET','GET'], ['POST','POST']];\r\n if (!onlyReadVerbs) {\r\n verbs.push(['PUT','PUT']);\r\n verbs.push(['DELETE','DELETE']);\r\n }\r\n this.appendDummyInput('REST')\r\n .appendField('REST')\r\n .appendField(new Blockly.FieldDropdown(verbs), 'METHOD')\r\n .setOnNewRow(setOnNewRow);\r\n\r\n // create url text input\r\n this.appendValueInput('URL')\r\n .setOnNewRow(false)\r\n .setCheck(\"String\");\r\n var urlField = this.getInput(\"URL\");\r\n var urlBlock = this.workspace.newBlock(\"rest_url\")\r\n urlBlock.setDisplayWidth(39);\r\n urlBlock.setShadow(true);\r\n urlField.connection.connect(urlBlock.outputConnection);\r\n },\r\n\r\n // init REST header tabs and their inner fields\r\n initHeaderTabs: function() {\r\n // block body: tabs selector\r\n this.appendDummyInput('TABS')\r\n .setOnNewRow(true)\r\n .appendField(new Blockly.FieldButton('Authentication',this.disabledCol,function(){this.setTab('authentication')}.bind(this)),'authentication')\r\n .appendField(new Blockly.FieldButton('Headers',this.disabledCol,function(){this.setTab('headers')}.bind(this)),'headers')\r\n .appendField(new Blockly.FieldButton('QueryString',this.disabledCol,function(){this.setTab('query strings')}.bind(this)),'query strings')\r\n .appendField(new Blockly.FieldButton('Data',this.disabledCol,function(){this.setTab('data')}.bind(this)),'data');\r\n\r\n // block body: authentication tab\r\n this.appendValueInput('USERNAME')\r\n .appendField('username ')\r\n .setOnNewRow(true)\r\n .setCheck(\"String\")\r\n .setVisible(true);\r\n this.appendValueInput('PASSWORD')\r\n .appendField('password ')\r\n .setOnNewRow(true)\r\n .setCheck(\"String\")\r\n .setVisible(true);\r\n\r\n // init \"Update Credentials\" button\r\n this.appendDummyInput('UPDATE')\r\n .appendField(new Blockly.FieldButton( 'Update Credentials', this.disabledCol, function(){\r\n this.updateCredential();\r\n }.bind(this)),'UPDATE')\r\n .setOnNewRow(true)\r\n .setVisible(false);\r\n\r\n // block body: headers tab\r\n this.appendValueInput('HEADERS')\r\n .setAlign(Blockly.ALIGN_LEFT)\r\n .setOnNewRow(true)\r\n .setCheck(\"object\")\r\n .setVisible(false);\r\n\r\n // block body: query string tab\r\n this.appendValueInput('QUERY_STRINGS')\r\n .setAlign(Blockly.ALIGN_LEFT)\r\n .setOnNewRow(true)\r\n .setCheck(\"object\")\r\n .setVisible(false);\r\n\r\n // block body: data tab\r\n this.appendValueInput('DATA')\r\n .setAlign(Blockly.ALIGN_LEFT)\r\n .setOnNewRow(true)\r\n .setCheck(\"object\")\r\n .setVisible(false);\r\n this.appendValueInput('RAWDATA')\r\n .setAlign(Blockly.ALIGN_LEFT)\r\n .setCheck(\"String\")\r\n .setOnNewRow(true)\r\n .setVisible(false);\r\n this.appendDummyInput('DATA_FORMAT')\r\n .appendField(new Blockly.FieldDropdown([['JSON','JSON'],['form-data','form-data'],['x-www-form-urlencoded','x-www-form-urlencoded'],['RAW','RAW']],this.changeDataFormat.bind(this)),'DATA_FORMAT')\r\n .setVisible(false);\r\n },\r\n\r\n // init success/error blocks\r\n initRestResults: function() {\r\n // block body: proxy toggle\r\n this.appendDummyInput(\"TOGGLE_CALL\")\r\n .appendField('Use Proxy ')\r\n .appendField(new Blockly.FieldImage(this.toggleOff, 55, 55, \"toggleOff\", function(){\r\n this.switchDirectCall(!this.proxyToggle);\r\n }.bind(this)))\r\n .setAlign(Blockly.ALIGN_RIGHT);\r\n\r\n // on success parameter, table columns and test output\r\n this.appendValueInput('SUCCESS_PARAM')\r\n .appendField('on success ')\r\n .setOnNewRow(true);\r\n var successParam = this.getInput(\"SUCCESS_PARAM\");\r\n successParam.connection.readOnly = \"request_response_parameter\";\r\n\r\n // on success block\r\n this.appendStatementInput('SUCCESS');\r\n this.appendDummyInput(\"ADD\")\r\n .appendField(new Blockly.FieldImage(thickAdd, 24, 24, \"*\", function(){\r\n this.addElse(!this.showOnError);\r\n }.bind(this)))\r\n .setVisible(false);\r\n\r\n // on error block\r\n this.appendValueInput('ERROR_PARAM')\r\n .appendField('on error ');\r\n var errorParam = this.getInput(\"ERROR_PARAM\");\r\n errorParam.connection.readOnly = \"request_error_response\";\r\n this.appendDummyInput(\"MINUS\")\r\n .appendField(new Blockly.FieldImage(thickRemove, 24, 24, \"*\", function(){\r\n this.removeElse(!this.showOnError);\r\n }.bind(this)))\r\n .setAlign(Blockly.ALIGN_RIGHT);\r\n this.appendStatementInput('ERROR');\r\n },\r\n \r\n // adds/shows \"onError\" block\r\n addElse: function(showOnError) {\r\n this.showOnError = showOnError;\r\n this.setVisibleBetween(showOnError, 'SUCCESS', 'null');\r\n let errParam = this.getInput('ERROR_PARAM');\r\n if (!errParam.connection.isConnected()) {\r\n let block = this.createErrorResponseBlock(this.workspace);\r\n errParam.connection.connect(block.outputConnection)\r\n } else {\r\n errParam.connection.targetBlock().setParentId(this.id);\r\n }\r\n let plusButton = this.getInput('ADD');\r\n let minusButton = this.getInput('MINUS');\r\n plusButton.setVisible(!this.showOnError);\r\n minusButton.setVisible(this.showOnError);\r\n },\r\n\r\n // hides/removes \"onError\" block\r\n removeElse: function(showOnError) {\r\n this.showOnError = showOnError;\r\n let plusButton = this.getInput('ADD');\r\n let minusButton = this.getInput('MINUS');\r\n let errParam = this.getInput('ERROR_PARAM');\r\n let errStatement = this.getInput('ERROR');\r\n if (errParam.connection.isConnected()) {\r\n errParam.connection.targetBlock().dispose();\r\n }\r\n errParam.setVisible(this.showOnError);\r\n errStatement.setVisible(this.showOnError);\r\n plusButton.setVisible(!this.showOnError);\r\n minusButton.setVisible(this.showOnError);\r\n },\r\n\r\n // handles all change events in blockly\r\n changeHandlerCore: function(event) {\r\n if (!this.firstInit) {\r\n if(this.getInput('HEADERS').connection.targetBlock() && this.getInput('QUERY_STRINGS').connection.targetBlock() && this.getInput('DATA').connection.targetBlock()){\r\n this.getInput('HEADERS').connection.targetBlock().setMovable(false);\r\n this.getInput('QUERY_STRINGS').connection.targetBlock().setMovable(false);\r\n this.getInput('DATA').connection.targetBlock().setMovable(false);\r\n this.getInput('HEADERS').connection.targetBlock().getSvgRoot().style.display='none';\r\n this.getInput('QUERY_STRINGS').connection.targetBlock().getSvgRoot().style.display='none';\r\n this.getInput('DATA').connection.targetBlock().getSvgRoot().style.display='none';\r\n this.firstInit = true;\r\n // Re-render username and password field on init\r\n this.switchVisibility(this.visible);\r\n // Re-render else part on init\r\n this.addElse(!this.showOnError);\r\n this.removeElse(!this.showOnError);\r\n }\r\n }\r\n \r\n if (this.visible) {\r\n this.setBodyByMethod();\r\n if (this.username_encrypted && this.getInput('USERNAME').connection.targetBlock()) {\r\n this.getInput('USERNAME').connection.targetBlock().getSvgRoot().style.display = 'none';\r\n this.initSvg();\r\n this.render();\r\n }\r\n if (this.password_encrypted && this.getInput('PASSWORD').connection.targetBlock()) {\r\n this.getInput('PASSWORD').connection.targetBlock().getSvgRoot().style.display = 'none';\r\n this.initSvg();\r\n this.render();\r\n }\r\n }\r\n this.switchVisibility(this.visible);\r\n if (this.getInput('PASSWORD').connection.targetBlock()) {\r\n if (this.getInput('PASSWORD').connection.targetBlock().type == \"password_text\") {\r\n if (this.getInput('PASSWORD').connection.targetBlock().inputList[0].fieldRow[0].value_ != \"\") {\r\n this.getInput('PASSWORD').connection.targetBlock().getSvgRoot().getElementsByClassName(\"blocklyText\")[0].style.contentVisibility = 'hidden';\r\n this.getInput('PASSWORD').connection.targetBlock().getSvgRoot().getElementsByClassName(\"field-text-quote\")[0].style.contentVisibility = 'hidden';\r\n this.getInput('PASSWORD').connection.targetBlock().getSvgRoot().getElementsByClassName(\"field-text-quote\")[1].style.contentVisibility = 'hidden';\r\n this.buildPasswordIcon();\r\n } else {\r\n this.getInput('PASSWORD').connection.targetBlock().getSvgRoot().getElementsByClassName(\"blocklyText\")[0].style.contentVisibility = 'auto';\r\n this.removePasswordIcon();\r\n }\r\n }\r\n }\r\n\r\n // auto-recreate success/error parameters when you drag one out\r\n let errParam = this.getInput('ERROR_PARAM');\r\n let successParam = this.getInput('SUCCESS_PARAM');\r\n if (!successParam.connection.isConnected()) {\r\n // make sure there is always onsuccess response block\r\n let block = this.createSuccessResponseBlock(this.workspace);\r\n successParam.connection.connect(block.outputConnection)\r\n } else {\r\n if (successParam.connection.targetBlock().type === 'request_response_parameter') {\r\n successParam.connection.targetBlock().setParentId(this.id);\r\n let newJsonStructure = successParam.connection.targetBlock().jsonStructure;\r\n if (!(this.responseJsonStructure && Object.keys(this.responseJsonStructure.toString()) && (!newJsonStructure || Object.keys(newJsonStructure) == 0))) {\r\n // do not overwrite existing structure with empty/null\r\n this.responseJsonStructure = newJsonStructure || {};\r\n }\r\n }\r\n }\r\n if (this.showOnError) {\r\n if (!errParam.connection.isConnected()) {\r\n // make sure there is always onerror response block\r\n let block = this.createErrorResponseBlock(this.workspace);\r\n errParam.connection.connect(block.outputConnection)\r\n } else {\r\n if (errParam.connection.targetBlock().type === 'request_error_response') {\r\n errParam.connection.targetBlock().setParentId(this.id);\r\n }\r\n }\r\n }\r\n },\r\n\r\n // change rest method, modify visible block body elements\r\n setBodyByMethod: function() {\r\n var queryString = this.getField('query strings');\r\n var data = this.getField('data');\r\n var tab = this.tab;\r\n if (this.getFieldValue('METHOD') == 'GET') {\r\n queryString.setVisible(true);\r\n data.setVisible(false);\r\n if (tab === 'data') {\r\n this.setTab('query strings');\r\n }\r\n this.initSvg();\r\n this.render();\r\n } else {\r\n data.setVisible(true);\r\n queryString.setVisible(false);\r\n if (tab === 'query strings') {\r\n this.setTab('data');\r\n }\r\n this.initSvg();\r\n this.render();\r\n }\r\n },\r\n\r\n // change the header tab\r\n setTab: function(tab) {\r\n this.tab = tab;\r\n this.setVisibleBetween(false,'TABS','TEST');\r\n if (this.visible) {\r\n if (tab === 'authentication') {\r\n this.setVisibleBetween(true, 'TABS', 'HEADERS');\r\n this.getField('headers').setColour(this.disabledCol);\r\n this.getField('query strings').setColour(this.disabledCol);\r\n this.getField('data').setColour(this.disabledCol);\r\n if (this.username_encrypted || this.password_encrypted) {\r\n let username = 'unencrypted';\r\n let password = 'unencrypted';\r\n if (this.username_encrypted) {\r\n username = 'USERNAME';\r\n this.getInput('USERNAME').connection.targetBlock().getSvgRoot().style.display = 'none';\r\n }\r\n if (this.password_encrypted) {\r\n password = 'PASSWORD';\r\n this.getInput('PASSWORD').connection.targetBlock().getSvgRoot().style.display = 'none';\r\n }\r\n this.setVisibleForCredential(false, username, password);\r\n } else {\r\n this.setInputVisibility(this.getInput('UPDATE'),false);\r\n }\r\n } else if (tab === 'headers') {\r\n this.setVisibleBetween(true, 'UPDATE', 'QUERY_STRINGS');\r\n this.getField('query strings').setColour(this.disabledCol);\r\n this.getField('authentication').setColour(this.disabledCol);\r\n this.getField('data').setColour(this.disabledCol);\r\n } else if (tab === 'query strings') {\r\n this.setVisibleBetween(true, 'HEADERS', 'DATA');\r\n this.getField('headers').setColour(this.disabledCol);\r\n this.getField('authentication').setColour(this.disabledCol);\r\n this.getField('data').setColour(this.disabledCol);\r\n } else if (tab === 'data') {\r\n this.setVisibleBetween(true, 'QUERY_STRINGS', 'TEST');\r\n this.getField('headers').setColour(this.disabledCol);\r\n this.getField('authentication').setColour(this.disabledCol);\r\n this.getField('query strings').setColour(this.disabledCol);\r\n this.changeDataFormat();\r\n }\r\n this.setBodyByMethod();\r\n } else {\r\n this.switchVisibility(this.visible);\r\n }\r\n this.getField(tab).setColour(undefined);\r\n },\r\n\r\n // clicking on expand/collapse button shows/hides block body (authentication, headers, query string) and columns\r\n switchVisibility: function (visible) {\r\n this.visible = visible;\r\n this.setVisibleBetween(visible, 'URL', 'SUCCESS_PARAM');\r\n this.removeInput(\"TOGGLE_BTN\");\r\n var image = this.visible ? collapseImage : expandImage;\r\n this.appendDummyInput(\"TOGGLE_BTN\")\r\n .appendField(new Blockly.FieldImage(image, 30, 30, \"settings\", function() {\r\n this.switchVisibility(!this.visible);\r\n }.bind(this)));\r\n if (this.visible) {\r\n // change TEST button to be more rounded shape\r\n // this.getField('TEST').getSvgRoot().getElementsByClassName('blocklyBlockBackground')[0].style.rx = 15;\r\n // this.getField('TEST').getSvgRoot().getElementsByClassName('blocklyBlockBackground')[0].style.ry = 15;\r\n this.setTab(this.tab);\r\n //hide TEST button based on proxyToggle toggle\r\n this.switchDirectCall(this.proxyToggle);\r\n }\r\n \r\n this.moveInputBefore(\"TOGGLE_BTN\", \"TOGGLE_BTN_PLACEHOLDER\"); \r\n\r\n if (this.switchVisibilityOuter)\r\n this.switchVisibilityOuter(visible);\r\n this.removeSelect();\r\n this.initSvg();\r\n this.render();\r\n },\r\n\r\n // mark fields between first and last to have specified visibility\r\n setVisibleBetween: function(visible, first, last){\r\n let toHide = [];\r\n let startHiding = false;\r\n for(let i in this.inputList){\r\n if(this.inputList[i].name===last) break;\r\n if(startHiding){\r\n toHide.push(this.inputList[i])\r\n } else if (this.inputList[i].name===first){\r\n startHiding = true;\r\n }\r\n }\r\n toHide.forEach(x => this.setInputVisibility(x, visible));\r\n this.render();\r\n },\r\n\r\n // set input's visibility, including inner connections\r\n setInputVisibility(input, visible) {\r\n input.setVisible(visible);\r\n // @ idk why this is necessary/why it works...\r\n // if you don't have it then when you switch tabs and then switch back, rendering of text blocks\r\n // in the kvp of query strings/headers don't resize the block properly (eg. when entering a lot of text)\r\n if (input.connection && input.connection.targetBlock()) {\r\n input.connection.targetBlock().initSvg();\r\n input.connection.targetBlock().render();\r\n }\r\n },\r\n\r\n // change passowrd/username visibility if the value is decrypted\r\n setVisibleForCredential: function(visible, username, password) {\r\n let toHide = [];\r\n for (let i in this.inputList) {\r\n if (this.inputList[i].name === username) {\r\n toHide.push(this.inputList[i])\r\n }\r\n if (this.inputList[i].name === password) {\r\n toHide.push(this.inputList[i])\r\n }\r\n }\r\n\r\n toHide.forEach(x => this.setInputVisibility(x, visible));\r\n\r\n this.initSvg();\r\n this.render();\r\n },\r\n\r\n // update credential\r\n updateCredential: function() {\r\n //save username and password\r\n var usernameInput = this.getInput('USERNAME').connection.targetBlock();\r\n var passwordInput = this.getInput('PASSWORD').connection.targetBlock();\r\n if (usernameInput && usernameInput.inputList[0].fieldRow[0].value_) {\r\n this.username_value = usernameInput.inputList[0].fieldRow[0].value_\r\n usernameInput.inputList[0].fieldRow[0].setText('');\r\n usernameInput.inputList[0].fieldRow[0].value_ = '';\r\n }\r\n if (passwordInput && passwordInput.inputList[0].fieldRow[0].value_) {\r\n this.password_value = passwordInput.inputList[0].fieldRow[0].value_\r\n passwordInput.inputList[0].fieldRow[0].setText('');\r\n passwordInput.inputList[0].fieldRow[0].value_ = '';\r\n this.removePasswordIcon();\r\n }\r\n\r\n //set username and password visible\r\n usernameInput.getSvgRoot().style.display = '';\r\n passwordInput.getSvgRoot().style.display = '';\r\n this.setVisibleForCredential(true, 'USERNAME', 'PASSWORD');\r\n this.username_encrypted = false;\r\n this.password_encrypted = false;\r\n\r\n //add cancel button\r\n this.addCancelUpdateButton();\r\n\r\n //hide update button\r\n this.setInputVisibility(this.getInput('UPDATE'),false);\r\n\r\n this.initSvg();\r\n this.render();\r\n this.workspace.render();\r\n\r\n },\r\n\r\n // cancel update credential\r\n cancelUpdateCredential: function () {\r\n var usernameInput = this.getInput('USERNAME').connection.targetBlock();\r\n var passwordInput = this.getInput('PASSWORD').connection.targetBlock();\r\n //cancel update, resume previous username and password\r\n usernameInput.inputList[0].fieldRow[0].value_ = this.username_value;\r\n passwordInput.inputList[0].fieldRow[0].value_ = this.password_value;\r\n\r\n //hide username and password\r\n usernameInput.getSvgRoot().style.display = 'none';\r\n passwordInput.getSvgRoot().style.display = 'none';\r\n this.setVisibleForCredential(false, 'USERNAME', 'PASSWORD');\r\n this.username_encrypted = true;\r\n this.password_encrypted = true;\r\n\r\n //remove cancel button\r\n this.removeInput(\"CANCEL\");\r\n\r\n //show update button\r\n this.setInputVisibility(this.getInput('UPDATE'),true);\r\n\r\n this.initSvg();\r\n this.render();\r\n this.workspace.render();\r\n },\r\n\r\n addCancelUpdateButton: function () {\r\n this.appendDummyInput('CANCEL')\r\n .appendField(new Blockly.FieldButton( 'Cancel Update', this.disabledCol, function(){\r\n this.cancelUpdateCredential();\r\n }.bind(this)),'CANCEL');\r\n this.moveInputBefore(\"CANCEL\", \"UPDATE\")\r\n },\r\n\r\n changeDataFormat: function () {\r\n let dataFormat = this.getFieldValue(\"DATA_FORMAT\");\r\n if (dataFormat === \"RAW\") {\r\n this.setInputVisibility(this.getInput('DATA'),false);\r\n this.setInputVisibility(this.getInput('RAWDATA'),true);\r\n this.bodyContentType = \"text/plain\";\r\n } else {\r\n this.setInputVisibility(this.getInput('DATA'),true);\r\n this.setInputVisibility(this.getInput('RAWDATA'),false);\r\n if (dataFormat === \"x-www-form-urlencoded\") {\r\n this.bodyContentType = \"application/x-www-form-urlencoded\";\r\n }\r\n }\r\n },\r\n\r\n // toggle proxy button\r\n switchDirectCall: function (toggle) {\r\n this.proxyToggle = toggle;\r\n this.removeInput(\"TOGGLE_CALL\");\r\n let image = toggle ? this.toggleOn : this.toggleOff;\r\n this.appendDummyInput(\"TOGGLE_CALL\")\r\n .appendField('Use Proxy ')\r\n .appendField(new Blockly.FieldImage(image, 55, 55, \"toggleOn\", function() {\r\n this.switchDirectCall(!this.proxyToggle);\r\n }.bind(this)))\r\n .setAlign(Blockly.ALIGN_RIGHT);\r\n this.moveInputBefore(\"TOGGLE_CALL\", \"SUCCESS_PARAM\")\r\n this.removeSelect();\r\n this.initSvg();\r\n this.render();\r\n },\r\n\r\n // loading state data\r\n domToMutationCore: function(xml) {\r\n // load username/password\r\n let username_encrypted = xml.getAttribute(\"username\");\r\n let password_encrypted = xml.getAttribute(\"password\");\r\n let username = 'unencrypted';\r\n let password = 'unencrypted';\r\n if (eval(username_encrypted)) {\r\n username = 'USERNAME';\r\n this.username_encrypted = true;\r\n }\r\n if (eval(password_encrypted)) {\r\n password = 'PASSWORD';\r\n this.password_encrypted = true;\r\n }\r\n this.setVisibleForCredential(false,username,password);\r\n\r\n // check for old toggle\r\n let directAPICall = xml.getAttribute(\"directapicall\");\r\n if (directAPICall !== null && directAPICall !== undefined) {\r\n //backwards compatibility support for directAPICall\r\n if (directAPICall == \"false\") {\r\n this.proxyToggle = false;\r\n }\r\n this.switchDirectCall(!this.proxyToggle);\r\n } else {\r\n let proxyToggle = xml.getAttribute(\"proxytoggle\");\r\n if (proxyToggle == \"false\") {\r\n this.proxyToggle = true;\r\n } else {\r\n this.proxyToggle = false;\r\n }\r\n this.switchDirectCall(!this.proxyToggle);\r\n }\r\n\r\n //This is for handle Blockly Gesture Drag\r\n let showCancelUpdateButton = xml.getAttribute(\"showCancelUpdateButton\");\r\n if (showCancelUpdateButton !== null && showCancelUpdateButton !== undefined && showCancelUpdateButton == \"true\") {\r\n this.addCancelUpdateButton();\r\n }\r\n },\r\n\r\n // saving state data\r\n mutationToDomCore: function() {\r\n let username_encrypted = false;\r\n let password_encrypted = false;\r\n let showCancelUpdateButton = false;\r\n if (this.getInput('USERNAME').connection.targetBlock() && this.getInput('USERNAME').connection.targetBlock().inputList[0].fieldRow[0].value_) {\r\n username_encrypted = check_encryption(this.getInput('USERNAME').connection.targetBlock().inputList[0].fieldRow[0].value_)\r\n }\r\n if (this.getInput('PASSWORD').connection.targetBlock() && this.getInput('PASSWORD').connection.targetBlock().inputList[0].fieldRow[0].value_) {\r\n password_encrypted = check_encryption(this.getInput('PASSWORD').connection.targetBlock().inputList[0].fieldRow[0].value_)\r\n }\r\n if (this.getInput(\"CANCEL\")) showCancelUpdateButton = true;\r\n\r\n return { \r\n username: username_encrypted, \r\n password: password_encrypted, \r\n proxyToggle: this.proxyToggle,\r\n showCancelUpdateButton : showCancelUpdateButton\r\n };\r\n },\r\n\r\n // remove icons from password field\r\n removePasswordIcon: function (){\r\n let length = this.getInput('PASSWORD').connection.targetBlock().getSvgRoot().children.length;\r\n let parentNode = this.getInput('PASSWORD').connection.targetBlock().getSvgRoot();\r\n while (length > 4) {\r\n this.getInput('PASSWORD').connection.targetBlock().getSvgRoot().removeChild(parentNode.lastElementChild);\r\n length = this.getInput('PASSWORD').connection.targetBlock().getSvgRoot().children.length;\r\n }\r\n },\r\n\r\n // create icons for password fields\r\n buildPasswordIcon: function () {\r\n const newElement1 = document.createElementNS(\"http://www.w3.org/2000/svg\", 'path');\r\n newElement1.setAttribute(\"class\", \"passwordIcon1\")\r\n newElement1.setAttribute(\"d\", \"M 3 1.5 C 3 2.328125 2.328125 3 1.5 3 C 0.671875 3 0 2.328125 0 1.5 C 0 0.671875 0.671875 0 1.5 0 C 2.328125 0 3 0.671875 3 1.5 Z M 3 1.5 \");\r\n newElement1.style.stroke = \"none\";\r\n newElement1.style.fillRule = \"evenodd\";\r\n newElement1.style.fill = \"rgb(0%,0%,0%)\";\r\n newElement1.style.fillOpacity = 1;\r\n newElement1.style.transform = \"translate(9px,16px)\";\r\n this.getInput('PASSWORD').connection.targetBlock().getSvgRoot().appendChild(newElement1);\r\n\r\n //2\r\n const newElement2 = document.createElementNS(\"http://www.w3.org/2000/svg\", 'path');\r\n newElement2.setAttribute(\"class\", \"passwordIcon2\")\r\n newElement2.setAttribute(\"d\", \"M 8 1.5 C 8 2.328125 7.328125 3 6.5 3 C 5.671875 3 5 2.328125 5 1.5 C 5 0.671875 5.671875 0 6.5 0 C 7.328125 0 8 0.671875 8 1.5 Z M 8 1.5 \");\r\n newElement2.style.stroke = \"none\";\r\n newElement2.style.fillRule = \"evenodd\";\r\n newElement2.style.fill = \"rgb(0%,0%,0%)\";\r\n newElement2.style.fillOpacity = 1;\r\n newElement2.style.transform = \"translate(9px,16px)\";\r\n this.getInput('PASSWORD').connection.targetBlock().getSvgRoot().appendChild(newElement2);\r\n\r\n //3\r\n const newElement3 = document.createElementNS(\"http://www.w3.org/2000/svg\", 'path');\r\n newElement3.setAttribute(\"class\", \"passwordIcon3\")\r\n newElement3.setAttribute(\"d\", \"M 13 1.5 C 13 2.328125 12.328125 3 11.5 3 C 10.671875 3 10 2.328125 10 1.5 C 10 0.671875 10.671875 0 11.5 0 C 12.328125 0 13 0.671875 13 1.5 Z M 13 1.5 \");\r\n newElement3.style.stroke = \"none\";\r\n newElement3.style.fillRule = \"evenodd\";\r\n newElement3.style.fill = \"rgb(0%,0%,0%)\";\r\n newElement3.style.fillOpacity = 1;\r\n newElement3.style.transform = \"translate(9px,16px)\";\r\n this.getInput('PASSWORD').connection.targetBlock().getSvgRoot().appendChild(newElement3);\r\n\r\n //4\r\n const newElement4 = document.createElementNS(\"http://www.w3.org/2000/svg\", 'path');\r\n newElement4.setAttribute(\"class\", \"passwordIcon4\")\r\n newElement4.setAttribute(\"d\", \"M 18 1.5 C 18 2.328125 17.328125 3 16.5 3 C 15.671875 3 15 2.328125 15 1.5 C 15 0.671875 15.671875 0 16.5 0 C 17.328125 0 18 0.671875 18 1.5 Z M 18 1.5 \");\r\n newElement4.style.stroke = \"none\";\r\n newElement4.style.fillRule = \"evenodd\";\r\n newElement4.style.fill = \"rgb(0%,0%,0%)\";\r\n newElement4.style.fillOpacity = 1;\r\n newElement4.style.transform = \"translate(9px,16px)\";\r\n this.getInput('PASSWORD').connection.targetBlock().getSvgRoot().appendChild(newElement4);\r\n\r\n //5\r\n const newElement5 = document.createElementNS(\"http://www.w3.org/2000/svg\", 'path');\r\n newElement5.setAttribute(\"class\", \"passwordIcon5\")\r\n newElement5.setAttribute(\"d\", \"M 23 1.5 C 23 2.328125 22.328125 3 21.5 3 C 20.671875 3 20 2.328125 20 1.5 C 20 0.671875 20.671875 0 21.5 0 C 22.328125 0 23 0.671875 23 1.5 Z M 23 1.5 \");\r\n newElement5.style.stroke = \"none\";\r\n newElement5.style.fillRule = \"evenodd\";\r\n newElement5.style.fill = \"rgb(0%,0%,0%)\";\r\n newElement5.style.fillOpacity = 1;\r\n newElement5.style.transform = \"translate(9px,16px)\";\r\n this.getInput('PASSWORD').connection.targetBlock().getSvgRoot().appendChild(newElement5);\r\n },\r\n\r\n // validate inner field\r\n validateBlock: function(block) {\r\n var l =[];\r\n //var isValid = block.type !== 'variables_get' && block.type !== 'getter' && block.type !== 'snap_get_textbox_value' && block.type !== 'request_response_parameter';\r\n var isValid = !runTimeBlockList.includes(block.type);\r\n l.push(isValid);\r\n\r\n if(!isValid){\r\n block.setWarningText('This value can only be known at runtime. Please substitute this for a different block for testing your API call');\r\n var blockOnchange = block.onchange;\r\n block.setOnChange(function(x){\r\n if(x.blockId===block.id && (x.element !=='warningOpen')){\r\n block.setWarningText(false);\r\n block.setOnChange(blockOnchange);\r\n }\r\n });\r\n }\r\n\r\n block.getChildren().forEach(child => l.push(this.validateBlock(child)));\r\n return l.reduce(function(acc, cv){return acc&&cv});\r\n },\r\n\r\n // validate inner field for executing \"test\" request\r\n validateBlockForTest: function(block){\r\n var l =[];\r\n //var isValid = block.type !== 'variables_get' && block.type !== 'getter' && block.type !== 'snap_get_textbox_value' && block.type !== 'request_response_parameter';\r\n var isValid = !unsupportedList.includes(block.type);\r\n l.push(isValid);\r\n\r\n if(!isValid){\r\n block.setWarningText('Test function does not support this block. Please substitute this for a different block for testing your API call');\r\n var blockOnchange = block.onchange;\r\n block.setOnChange(function(x){\r\n if(x.blockId===block.id && (x.element !=='warningOpen')){\r\n block.setWarningText(false);\r\n block.setOnChange(blockOnchange);\r\n }\r\n });\r\n }\r\n\r\n block.getChildren().forEach(child => l.push(this.validateBlockForTest(child)));\r\n return l.reduce(function(acc, cv){return acc&&cv});\r\n },\r\n validateInputFieldsSyntax: function() {\r\n try {\r\n JSON.parse(Blockly.JavaScript.valueToCode(this,'QUERY_STRINGS',Blockly.JavaScript.ORDER_NONE));\r\n } catch (e) {\r\n this.setWarningSignForBlock('QUERY_STRINGS',e);\r\n return false;\r\n }\r\n try {\r\n JSON.parse(Blockly.JavaScript.valueToCode(this,'DATA',Blockly.JavaScript.ORDER_NONE));\r\n } catch (e) {\r\n this.setWarningSignForBlock('DATA',e);\r\n return false;\r\n }\r\n try {\r\n JSON.parse(Blockly.JavaScript.valueToCode(this,'HEADERS',Blockly.JavaScript.ORDER_NONE));\r\n } catch (e) {\r\n this.setWarningSignForBlock('HEADERS',e);\r\n return false;\r\n }\r\n try {\r\n eval(Blockly.JavaScript.valueToCode(this,'URL', Blockly.JavaScript.ORDER_NONE));\r\n } catch (e) {\r\n this.setWarningSignForBlock('URL',e);\r\n return false;\r\n }\r\n try {\r\n eval(Blockly.JavaScript.valueToCode(this,'RAWDATA',Blockly.JavaScript.ORDER_NONE));\r\n } catch (e) {\r\n this.setWarningSignForBlock('RAWDATA',e);\r\n return false;\r\n }\r\n return true;\r\n },\r\n setWarningSignForBlock: function(field, e) {\r\n var block = this.getInput(field).connection.targetBlock()\r\n block.setWarningText(`Syntax error: ${e}`);\r\n var blockOnchange = block.onchange;\r\n block.setOnChange(function(x){\r\n if(x.blockId===block.id && (x.element !=='warningOpen')){\r\n block.setWarningText(false);\r\n block.setOnChange(blockOnchange);\r\n }\r\n });\r\n },\r\n // generate html for testing connection\r\n getTestDom: function(requestSpec, callback, defaultMessage) {\r\n // create artificial output container\r\n $('.custom-rest-output').remove();\r\n var holder = $('.blocklyWidgetDiv');\r\n var restOutputContainer = $(`\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\n holder.after(restOutputContainer);\r\n\r\n // render and define parameters\r\n var responseArea = restOutputContainer.find('.responseArea');\r\n var done = restOutputContainer.find('.rest-done');\r\n var querylButton = restOutputContainer.find(\".rest-queryurl\");\r\n var restCopyButton = restOutputContainer.find('.rest-copy');\r\n var responseData = null;\r\n var title = \"Input a sample JSON response here to set the schema\"\r\n var errorMessage = \"Invalid JSON. Please verify the input schema\"\r\n Util.resizeTestDom(this.workspace.scale);\r\n\r\n //define title\r\n restOutputContainer.find(\".responseUrl\").text(title);\r\n\r\n // manual close\r\n restOutputContainer.find('.rest-close').on('click',function() {\r\n callback();\r\n });\r\n\r\n // copy response data to clipboard\r\n restCopyButton.on('click', () => {\r\n restCopyButton.addClass(\"disabled\");\r\n this.copyToClipboard(responseArea.val(), function(result, err) {\r\n restCopyButton.find(\"span\").text(\"Copied\");\r\n setTimeout(function() {\r\n restCopyButton.removeClass(\"disabled\");\r\n restCopyButton.find(\"span\").text(\"Copy\");\r\n }, 3000);\r\n });\r\n });\r\n\r\n done.on('click', function() {\r\n callback(responseData);\r\n })\r\n\r\n var schema = null;\r\n responseArea.on('input',function () {\r\n var restDoneButton = restOutputContainer.find('.rest-done');\r\n schema = responseArea.val().trim();\r\n if (schema !== '') {\r\n try {\r\n responseData = JSON.parse(schema);\r\n restDoneButton.removeAttr('disabled').removeClass(\"disabled\").css(\"backgroundColor\", \"rgb(30, 173, 138)\");\r\n restOutputContainer.find(\".responseUrl\").text(title);\r\n } catch (e) {\r\n restDoneButton.attr('disabled', 'disabled').addClass('disabled').css(\"backgroundColor\", \"rgb(67, 137, 255)\");\r\n restOutputContainer.find(\".responseUrl\").text(errorMessage);\r\n }\r\n } else {\r\n restDoneButton.attr('disabled', 'disabled').addClass('disabled').css(\"backgroundColor\", \"rgb(67, 137, 255)\");\r\n }\r\n });\r\n\r\n\r\n querylButton.on('click',function(){\r\n // TODO move this into QUERY URL init request processing\r\n if (requestSpec) {\r\n var url = JSON.parse(requestSpec.data).requestUrl;\r\n var method = JSON.parse(requestSpec.data).method;\r\n restOutputContainer.find(\".responseUrl\").text(`URL: ${method} ${url}`);\r\n var testButton = restOutputContainer.find('#testButton');\r\n\r\n requestSpec.success = function(data) {\r\n // show response data on success\r\n responseArea.val(JSON.stringify(data, null, 2));\r\n responseData = data;\r\n done.removeAttr('disabled').removeClass(\"disabled\");\r\n done.css(\"backgroundColor\", \"rgb(30, 173, 138)\");\r\n };\r\n requestSpec.error = function(xhrErr, statusErr, errorMessage){\r\n // show error data\r\n var errStr = 'An error occurred: ' + xhrErr.status;\r\n if(errorMessage)\r\n errStr += ' - ' + errorMessage;\r\n responseArea.val(errStr);\r\n };\r\n testButton.on('click', function() {\r\n testButton.attr(\"disabled\", true);\r\n setTimeout(function() {\r\n if (testButton);\r\n testButton.attr(\"disabled\", false);\r\n }, 5000);\r\n // launch request\r\n $.ajax(requestSpec);\r\n });\r\n\r\n // auto-launch test on load\r\n testButton.click();\r\n } else {\r\n if (defaultMessage)\r\n responseArea.val(defaultMessage);\r\n }\r\n });\r\n },\r\n\r\n // copy provided text to clipboard\r\n copyToClipboard: function(text, callback) {\r\n var _callbackFunction = function(result, err) {\r\n if (callback)\r\n callback(result, err);\r\n }\r\n \r\n var _fallback = function() {\r\n // old way (execCommand copy)\r\n var textArea = document.createElement(\"textarea\");\r\n textArea.value = text;\r\n textArea.style = \"top: 0px; left: 0px; position: fixed; opacity: 0;\"; // avoid scrolling to bottom\r\n document.body.appendChild(textArea);\r\n textArea.focus();\r\n textArea.select();\r\n try {\r\n var successful = document.execCommand('copy');\r\n if (!successful)\r\n console.error('Could not copy text (execCommand): no error');\r\n _callbackFunction(successful);\r\n } \r\n catch (err) {\r\n console.error('Could not copy text (execCommand): ', err);\r\n _callbackFunction(false, err);\r\n }\r\n // cleanup\r\n document.body.removeChild(textArea);\r\n }\r\n \r\n // modern way (async clipboard api)\r\n if (navigator.clipboard) {\r\n navigator.clipboard.writeText(text).then(function() {\r\n _callbackFunction(true);\r\n }, function(err) {\r\n // either it is http or no permission was granted\r\n console.error('Could not copy text (clipboard api): ', err);\r\n _fallback();\r\n });\r\n return;\r\n }\r\n \r\n // fallbak to old way\r\n _fallback();\r\n },\r\n\r\n // open test page holder, runs request and send response data to handler\r\n openTestPageCore: function(context, successHandler) {\r\n Blockly.WidgetDiv.hide();\r\n Blockly.WidgetDiv.show(this);\r\n\r\n let validateResult = this.validateRequestSpec(context);\r\n // create test html object\r\n let spec = validateResult.requestSpec ? validateResult.requestSpec.spec : null;\r\n this.getTestDom(spec, function(responseData) {\r\n // called when \"cancel\" or \"apply\" button is clicked\r\n Blockly.WidgetDiv.hide();\r\n $('.custom-rest-output').hide();\r\n if (responseData) {\r\n // \"apply\" is clicked after data is loaded\r\n this.responseJsonStructure = responseData;\r\n var block = this.createSuccessResponseBlock();\r\n var successParamInput = this.getInput('SUCCESS_PARAM');\r\n successParamInput.connection.targetBlock().dispose();\r\n successParamInput.connection.connect(block.outputConnection);\r\n }\r\n if (successHandler)\r\n successHandler(responseData);\r\n }.bind(this), validateResult.domMessage);\r\n \r\n Blockly.WidgetDiv.hide();\r\n },\r\n \r\n // creates \"response data\" block for onSuccess\r\n createSuccessResponseBlock: function(ws) {\r\n ws = ws || this.workspace;\r\n let jsonBlock = ws.newBlock('request_response_parameter');\r\n jsonBlock.setLabel('response data');\r\n jsonBlock.setParentId(this.id);\r\n jsonBlock.setJsonStructure(this.responseJsonStructure || {});\r\n if (this.rendered) {\r\n jsonBlock.initSvg();\r\n jsonBlock.render();\r\n }\r\n return jsonBlock;\r\n },\r\n\r\n // creates \"error data\" block for onError\r\n createErrorResponseBlock: function(ws){\r\n ws = ws || this.workspace;\r\n let jsonBlock = ws.newBlock('request_error_response');\r\n jsonBlock.setLabel('error data');\r\n jsonBlock.setParentId(this.id);\r\n jsonBlock.setJsonStructure({'message':'','statusCode':''});\r\n if (this.rendered) {\r\n jsonBlock.initSvg();\r\n jsonBlock.render();\r\n }\r\n return jsonBlock;\r\n },\r\n\r\n //set rest block error message\r\n setRestErrorMessage: function (errMsg) {\r\n prop.setRestBlockError(errMsg);\r\n },\r\n\r\n // Function to check if a string is valid JSON (array or object)\r\n isValidJSON: function (str) {\r\n try {\r\n var parsed = JSON.parse(str);\r\n return parsed !== null && (Array.isArray(parsed) || typeof parsed === 'object');\r\n } catch (e) {\r\n return false;\r\n }\r\n },\r\n\r\n //verify input blocks for connection test\r\n validateRequestSpec: function (context) {\r\n // Necessary to make sure variableDb is initialized\r\n Blockly.JavaScript.init(Blockly.mainWorkspace);\r\n let headersValidated = this.validateBlock(this.getInput('HEADERS').connection.targetBlock());\r\n let queryValidated = this.validateBlock(this.getInput('QUERY_STRINGS').connection.targetBlock());\r\n let dataValidated = this.validateBlock(this.getInput('DATA').connection.targetBlock());\r\n let urlValidated = this.validateBlock(this.getInput('URL').connection.targetBlock());\r\n let passwordValidated = this.validateBlock(this.getInput('PASSWORD').connection.targetBlock());\r\n let usernameValidated = this.validateBlock(this.getInput('USERNAME').connection.targetBlock());\r\n let rawRequestDateValidated = this.validateBlock(this.getInput('RAWDATA').connection.targetBlock());\r\n\r\n // Check if test function support this block\r\n let headersValidatedForTest = this.validateBlockForTest(this.getInput('HEADERS').connection.targetBlock());\r\n let queryValidatedForTest = this.validateBlockForTest(this.getInput('QUERY_STRINGS').connection.targetBlock());\r\n let dataValidatedForTest = this.validateBlockForTest(this.getInput('DATA').connection.targetBlock());\r\n let urlValidatedForTest = this.validateBlockForTest(this.getInput('URL').connection.targetBlock());\r\n let passwordValidatedForTest = this.validateBlockForTest(this.getInput('PASSWORD').connection.targetBlock());\r\n let usernameValidatedForTest = this.validateBlockForTest(this.getInput('USERNAME').connection.targetBlock());\r\n let rawRequestDateValidatedForTest = this.validateBlock(this.getInput('RAWDATA').connection.targetBlock());\r\n let readyForTest = headersValidatedForTest && queryValidatedForTest && dataValidatedForTest && urlValidatedForTest && passwordValidatedForTest && usernameValidatedForTest && rawRequestDateValidatedForTest;\r\n\r\n // Check syntax for input fields\r\n let inputSyntaxErrorFree = true;\r\n if(headersValidated && queryValidated && dataValidated && urlValidated && passwordValidated && usernameValidated && rawRequestDateValidated && readyForTest) {\r\n inputSyntaxErrorFree = this.validateInputFieldsSyntax();\r\n }\r\n\r\n let requestSpec = null;\r\n let domMessage = null;\r\n if(headersValidated && queryValidated && dataValidated && urlValidated && passwordValidated && usernameValidated && rawRequestDateValidated && readyForTest && inputSyntaxErrorFree) {\r\n // get connection data\r\n requestSpec = this.getRequestSpec(context);\r\n }\r\n else {\r\n // show error message\r\n if (!(headersValidated && queryValidated && dataValidated && urlValidated && passwordValidated && usernameValidated && rawRequestDateValidated && readyForTest)) {\r\n domMessage = 'Some values or blocks used in your REST configuration are not supported or can only be known at runtime. Please provide default values for blocks with warnings.';\r\n } else {\r\n domMessage = 'Some values or blocks used in your REST configuration have syntax error. Please check values or blocks with warning signs.';\r\n }\r\n\r\n }\r\n return {requestSpec,domMessage};\r\n },\r\n\r\n getRawTypeData :function () {\r\n var rawTypeData = Blockly.JavaScript.valueToCode(this, 'RAWDATA', Blockly.JavaScript.ORDER_NONE);\r\n if (this.validateBlock(this.getInput('RAWDATA').connection.targetBlock())) {\r\n //eval and get the output of text_join block before adding into value list\r\n let targetBlock = this.getInput('RAWDATA').connection.targetBlock();\r\n let targetBlockType = this.getInput('RAWDATA').connection.targetBlock().type;\r\n if ([\"text_join\", \"make_json_with\", \"lists_create_with\"].includes(targetBlockType)) {\r\n try {\r\n rawTypeData = JSON.stringify(eval(rawTypeData));\r\n this.setRestErrorMessage(false);\r\n } catch (e) {\r\n this.setRestErrorMessage(\"Rest block does not support one or more of the input blocks. Please substitute these blocks for a local variable block.\");\r\n targetBlock.setWarningText('Rest block does not support this block. Please substitute this for a different block');\r\n var blockOnchange = targetBlock.onchange;\r\n targetBlock.setOnChange(function(x){\r\n if(x.blockId===targetBlock.id && (x.element !=='warningOpen')){\r\n targetBlock.setWarningText(false);\r\n targetBlock.setOnChange(blockOnchange);\r\n }\r\n });\r\n }\r\n if ([\"make_json_with\", \"lists_create_with\"].includes(targetBlockType)) {\r\n this.bodyContentType = \"application/json\";\r\n }\r\n\r\n } else {\r\n this.setRestErrorMessage(false);\r\n }\r\n }\r\n return rawTypeData;\r\n },\r\n\r\n // gets a request object for an ajax, without success or failure callbacks (for test popup)\r\n getRequestSpec: function(context) {\r\n var queryStrings = JSON.parse(Blockly.JavaScript.valueToCode(this,'QUERY_STRINGS',Blockly.JavaScript.ORDER_NONE));\r\n var requestData = JSON.parse(Blockly.JavaScript.valueToCode(this,'DATA',Blockly.JavaScript.ORDER_NONE));\r\n var headers = JSON.parse(Blockly.JavaScript.valueToCode(this,'HEADERS',Blockly.JavaScript.ORDER_NONE));\r\n var url = encodeURI((eval(Blockly.JavaScript.valueToCode(this,'URL', Blockly.JavaScript.ORDER_NONE))).trim());\r\n var text_username = this.username_encrypted\r\n ? Util.parseString(Blockly.JavaScript.valueToCode(this,'USERNAME',Blockly.JavaScript.ORDER_NONE))\r\n : Blockly.JavaScript.valueToCode(this,'USERNAME',Blockly.JavaScript.ORDER_NONE);\r\n var text_password = this.password_encrypted\r\n ? Util.parseString(Blockly.JavaScript.valueToCode(this,'PASSWORD',Blockly.JavaScript.ORDER_NONE))\r\n : Blockly.JavaScript.valueToCode(this,'PASSWORD',Blockly.JavaScript.ORDER_NONE);\r\n var rawTypeRequestData = this.getRawTypeData();\r\n var accessToken = \"Bearer \" + context.accessToken;\r\n var proxyUrl = serverURL + '/proxy/request';\r\n var method = this.getFieldValue('METHOD');\r\n var inputType = JSON.stringify({usernameValidated : this.username_encrypted,passwordValidated : this.password_encrypted});\r\n var data = \"\";\r\n\r\n var parsedHeaders = {};\r\n var parsedQueryStrings = {};\r\n var parsedRequestData = {};\r\n for (let i = 0; i < Object.keys(headers.key).length; i++) {\r\n let k = headers.key[i];\r\n parsedHeaders[k] = headers.value[i];\r\n }\r\n\r\n switch (method) {\r\n case \"POST\":\r\n case \"PUT\":\r\n case \"DELETE\":\r\n if (this.getFieldValue(\"DATA_FORMAT\") !== \"RAW\") {\r\n for (let i = 0; i < Object.keys(requestData.key).length; i++) {\r\n let k = requestData.key[i];\r\n parsedRequestData[k] = requestData.value[i];\r\n }\r\n data = '' +\r\n '\"request\":' + '{\\n' +\r\n '\"body\":' +\r\n JSON.stringify(parsedRequestData) +\r\n '\\n},\\n';\r\n } else {\r\n data = '' +\r\n '\"request\":' + '{\\n' +\r\n '\"body\":' +\r\n rawTypeRequestData +\r\n '\\n},\\n';\r\n }\r\n break;\r\n default:\r\n if (this.getFieldValue(\"DATA_FORMAT\") !== \"RAW\") {\r\n for (let i = 0; i < Object.keys(queryStrings.key).length; i++) {\r\n let k = queryStrings.key[i];\r\n parsedQueryStrings[k] = queryStrings.value[i];\r\n }\r\n data = '' +\r\n '\"request\":' + '{\\n' +\r\n '\"body\":' + '{\\n' +\r\n '\\n},\\n' +\r\n '\"params\":' + '\\n' +\r\n JSON.stringify(parsedQueryStrings) +\r\n '\\n' +\r\n '\\n},\\n';\r\n } else {\r\n data = '' +\r\n '\"request\":' + '{\\n' +\r\n '\"body\":' + '{\\n' +\r\n '\\n},\\n' +\r\n '\"params\":' + '\\n' +\r\n rawTypeRequestData +\r\n '\\n' +\r\n '\\n},\\n';\r\n }\r\n }\r\n\r\n if (this.isValidJSON(rawTypeRequestData)) {\r\n this.bodyContentType = \"application/json\";\r\n }\r\n\r\n var requestBody = '' +\r\n '{\\n' +\r\n '\"requestUrl\":\"' + url + '\",\\n' +\r\n '\"method\":\"'+ this.getFieldValue('METHOD') + '\",\\n' +\r\n '\"format\":\"'+ this.getFieldValue('DATA_FORMAT') + '\",\\n' +\r\n '\"headers\":' + JSON.stringify(parsedHeaders) + ',\\n' +\r\n data +\r\n '\"inputType\":'+ inputType + ',\\n' +\r\n '\"username\":'+ text_username + ',\\n' +\r\n '\"password\":'+ text_password + ',\\n' +\r\n '\"contentType\":' + JSON.stringify(this.bodyContentType) + '\\n' +\r\n '\\n}\\n';\r\n\r\n var r = {\r\n async: true,\r\n crossDomain: true,\r\n url: proxyUrl,\r\n headers: {Authorization: accessToken},\r\n method: 'POST',\r\n dataType:'json',\r\n contentType: 'application/json',\r\n data: requestBody\r\n };\r\n\r\n return {spec:r};\r\n },\r\n\r\n // get core rest javascript code, appending succes/error callback javascript codes\r\n getJavascriptCore: function(context, successCallbackCode, errorCallbackCode, useBlocklyModule) {\r\n var queryStrings = Blockly.JavaScript.valueToCode(this, 'QUERY_STRINGS', Blockly.JavaScript.ORDER_NONE);\r\n var requestData = Blockly.JavaScript.valueToCode(this, 'DATA', Blockly.JavaScript.ORDER_NONE);\r\n var headers = Blockly.JavaScript.valueToCode(this, 'HEADERS', Blockly.JavaScript.ORDER_NONE);\r\n var url = Blockly.JavaScript.valueToCode(this, 'URL', Blockly.JavaScript.ORDER_NONE);\r\n var username_encrypted = this.username_encrypted;\r\n var password_encrypted = this.password_encrypted;\r\n var proxyToggle = this.proxyToggle;\r\n var rawTypeRequestData = this.getRawTypeData();\r\n var dataType = this.getFieldValue(\"DATA_FORMAT\");\r\n\r\n // validate username and password, encrypt credentail for api request\r\n var text_username = \"\";\r\n if (Blockly.JavaScript.valueToCode(this, 'USERNAME', Blockly.JavaScript.ORDER_NONE) !== JSON.stringify(\"\")) {\r\n if (!this.username_encrypted) {\r\n var usernameValidated = this.validateBlock(this.getInput('USERNAME').connection.targetBlock());\r\n text_username = usernameValidated\r\n ? JSON.stringify(encrypting(eval(Blockly.JavaScript.valueToCode(this, 'USERNAME', Blockly.JavaScript.ORDER_NONE))))\r\n : Blockly.JavaScript.valueToCode(this, 'USERNAME', Blockly.JavaScript.ORDER_NONE);\r\n this.username_encrypted = usernameValidated;\r\n username_encrypted = usernameValidated;\r\n } else {\r\n text_username = Util.parseString(Blockly.JavaScript.valueToCode(this, 'USERNAME', Blockly.JavaScript.ORDER_NONE))\r\n }\r\n } else {\r\n text_username = Blockly.JavaScript.valueToCode(this, 'USERNAME', Blockly.JavaScript.ORDER_NONE);\r\n }\r\n var passwordValidated = \"\";\r\n if (Blockly.JavaScript.valueToCode(this, 'PASSWORD', Blockly.JavaScript.ORDER_NONE) !== JSON.stringify(\"\")) {\r\n if (!this.password_encrypted) {\r\n passwordValidated = this.validateBlock(this.getInput('PASSWORD').connection.targetBlock());\r\n var text_password = passwordValidated\r\n ? JSON.stringify(encrypting(eval(Blockly.JavaScript.valueToCode(this, 'PASSWORD', Blockly.JavaScript.ORDER_NONE))))\r\n : Blockly.JavaScript.valueToCode(this, 'PASSWORD', Blockly.JavaScript.ORDER_NONE);\r\n this.password_encrypted = passwordValidated;\r\n password_encrypted = passwordValidated;\r\n } else {\r\n text_password = Util.parseString(Blockly.JavaScript.valueToCode(this, 'PASSWORD', Blockly.JavaScript.ORDER_NONE));\r\n }\r\n } else {\r\n text_password = Blockly.JavaScript.valueToCode(this, 'PASSWORD', Blockly.JavaScript.ORDER_NONE);\r\n }\r\n var inputType = JSON.stringify({ usernameValidated: username_encrypted, passwordValidated: password_encrypted });\r\n \r\n // encrypt credential for blockly xml\r\n if (username_encrypted) {\r\n this.getInput('USERNAME').connection.targetBlock().inputList[0].fieldRow[0].value_ = text_username;\r\n this.getInput('USERNAME').connection.targetBlock().getSvgRoot().style.display = 'none';\r\n this.initSvg();\r\n this.render();\r\n this.workspace.render();\r\n }\r\n if (password_encrypted) {\r\n this.getInput('PASSWORD').connection.targetBlock().inputList[0].fieldRow[0].value_ = text_password;\r\n this.getInput('PASSWORD').connection.targetBlock().getSvgRoot().style.display = 'none';\r\n this.initSvg();\r\n this.render();\r\n this.workspace.render();\r\n }\r\n //Remove Cancel Update button upon save script if exist\r\n if (this.getInput(\"CANCEL\")) this.removeInput(\"CANCEL\");\r\n\r\n\r\n var props = \"\";\r\n let propsStr = \"\";\r\n var apiArgsStr = '{}';\r\n var method = this.getFieldValue('METHOD');\r\n var dataString = '';\r\n if ( method != \"GET\" ) {\r\n dataString = ' data: directCallRequestData,\\n';\r\n }\r\n var authString = '';\r\n if (text_username != '\"\"' && text_password!= '\"\"') {\r\n authString = ' username: '+ text_username + ',' +\r\n ' password: '+ text_password + ',';\r\n }\r\n if (!proxyToggle) {\r\n apiArgsStr = '' +\r\n '{\\n' +\r\n ' url: encodeURI(' + url + '.trim()),\\n' +\r\n ' type: \\''+ this.getFieldValue('METHOD') + '\\',\\n' +\r\n ' contentType: contentType,\\n' +\r\n dataString +\r\n authString +\r\n ' headers: parsedHeaders\\n' +\r\n '}';\r\n let nativeSuccessAsStr = getNativeOnSuccessStr(this.id, successCallbackCode);\r\n let nativeErrorAsStr = getNativeOnErrorStr(this.id, errorCallbackCode);\r\n //TODO handle error response in MADP-61727\r\n propsStr = \"NetworkApiModule.invokeApi(\" + nativeSuccessAsStr + \", \" + nativeErrorAsStr + \", \" + apiArgsStr + \");\"\r\n } \r\n else {\r\n var proxyUrl = serverURL + '/proxy/request';\r\n var accessToken = \"Bearer \" + context.accessToken;\r\n props = `\r\n {\r\n async: true,\r\n crossDomain: true,\r\n dataType: 'json',\r\n contentType: 'application/json',\r\n url: '${proxyUrl}',\r\n method: 'POST',\r\n headers: { 'Authorization': '${accessToken}'},\r\n data: JSON.stringify(requestBody)\r\n }`;\r\n let successAsStr = getResponseSuccessStr(this.id, successCallbackCode);\r\n let errorAsStr = getResponseErrorStr(this.id, errorCallbackCode);\r\n propsStr = props;\r\n propsStr = propsStr.slice(0, -1) + ', success: ' + successAsStr + '}';\r\n propsStr = propsStr.slice(0, -1) + ', error: ' + errorAsStr + '}';\r\n propsStr = \"$.ajax( \"+ propsStr +\" );\";\r\n }\r\n\r\n return `\r\n var parsedHeaders = {};\r\n var parsedQueryStrings = {};\r\n var parsedData = {};\r\n var directCallRequestData = {};\r\n var contentType = '${this.bodyContentType}';\r\n var rawTypeRequestData = ${rawTypeRequestData};\r\n \r\n if (isJSON(rawTypeRequestData) || Array.isArray(rawTypeRequestData)) { contentType = 'application/json';}\r\n \r\n for (let i =0; i < Object.keys(${headers}.key).length; i++) {\r\n let k = ${headers}.key[i];\r\n parsedHeaders[k] = ${headers}.value[i];\r\n }\r\n \r\n var method = '${this.getFieldValue('METHOD')}';\r\n switch (method) {\r\n case \"POST\":\r\n case \"PUT\":\r\n case \"DELETE\":\r\n if (\"${dataType}\" !== \"RAW\") {\r\n for (let i =0; i < Object.keys(${requestData}.key).length; i++) {\r\n let k = ${requestData}.key[i];\r\n parsedData[k] = ${requestData}.value[i];\r\n }\r\n var requestData = {\r\n body: parsedData\r\n }\r\n directCallRequestData = JSON.stringify(parsedData);\r\n } else {\r\n var requestData = {\r\n body: ${rawTypeRequestData}\r\n }\r\n directCallRequestData = ${rawTypeRequestData};\r\n }\r\n break;\r\n default:\r\n if (\"${dataType}\" !== \"RAW\") {\r\n for (let i =0; i < Object.keys(${queryStrings}.key).length; i++) {\r\n let k = ${queryStrings}.key[i];\r\n parsedQueryStrings[k] = ${queryStrings}.value[i];\r\n }\r\n var requestData = {\r\n params: parsedQueryStrings\r\n };\r\n directCallRequestData = parsedQueryStrings;\r\n } else {\r\n var requestData = {\r\n params: ${rawTypeRequestData}\r\n }\r\n directCallRequestData = ${rawTypeRequestData}; \r\n }\r\n }\r\n \r\n var requestBody = {\r\n requestUrl : encodeURI(${url}.trim()),\r\n method: '${this.getFieldValue('METHOD')}',\r\n format: '${this.getFieldValue('DATA_FORMAT')}',\r\n headers: parsedHeaders,\r\n request: requestData,\r\n inputType: ${inputType},\r\n username: ${text_username},\r\n password: ${text_password},\r\n contentType: contentType\r\n \r\n };\r\n \r\n // indicate start of another ajax request\r\n ${ useBlocklyModule\r\n ? `if (BlocklyModule && BlocklyModule.onRestAjaxStarted)\r\n BlocklyModule.onRestAjaxStarted();`\r\n : '' }\r\n try { \r\n ${propsStr}\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n `;\r\n }\r\n }\r\n}\r\n\r\nexport default RestCore;\r\n","import React, { useState, useCallback, useRef } from 'react';\r\nimport TagsInput from 'react-tagsinput';\r\nimport 'react-tagsinput/react-tagsinput.css';\r\nimport Form from 'react-bootstrap/Form';\r\nimport _ from 'underscore';\r\nimport CreatableSelect from \"react-select/creatable\";\r\nimport { components } from \"react-select\";\r\nimport ModalButtons from \"../../ModalButtons\";\r\nimport Container from 'react-bootstrap/Container';\r\nimport Row from 'react-bootstrap/Row';\r\nimport Col from 'react-bootstrap/Col';\r\n\r\nconst NameBlock = ({ values: defaultValues = {}, handleNext, libraries = [], JSFlag, title}) => {\r\n const [values, setValues] = useState(defaultValues);\r\n const [validated, setValidated] = useState(false);\r\n const form = useRef(null);\r\n\r\n let libraryNames = [];\r\n libraries.forEach((item) => {\r\n libraryNames.push({value: item.name, label: item.name});\r\n });\r\n\r\n const handleChange = useCallback(newValue => {\r\n setValues({...values, ...newValue});\r\n });\r\n\r\n const _handleNext = () => {\r\n if (form.current.checkValidity() && values.library) {\r\n if (checkNameAlreadyExists()) {\r\n setValidated(true);\r\n return;\r\n }\r\n handleNext(values);\r\n }\r\n setValidated(true);\r\n };\r\n\r\n // validate the similary named object already exist in selected library\r\n let checkNameAlreadyExists = () => {\r\n let exists = false;\r\n if (values.library && values.name) {\r\n let library = libraries.find(item => item.name == values.library);\r\n if (library && library.blocks) {\r\n if (library.blocks.find(block => block.name.trim() == values.name.trim()) != null)\r\n exists = true;\r\n }\r\n }\r\n return exists;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n

{title}

\r\n

\r\n
\r\n
Block Details
\r\n
———
\r\n
2
\r\n
Add Inputs
\r\n
———
\r\n
3
\r\n
Assign {JSFlag}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n

Block Name *

\r\n \r\n \r\n setValues({ ...values, name: e.target.value })}/>\r\n \r\n {checkNameAlreadyExists() ? (\r\n The block with this name already exists\r\n ) : (\r\n Please Choose a Valid Name for the Block\r\n )}\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n

Save to Library *

\r\n \r\n \r\n handleChange({ ...values, library: valObj ? valObj.value : valObj})}\r\n options={libraryNames}\r\n components={{ Input: function customInput(props) {return }}}\r\n maxMenuHeight={200}\r\n classNamePrefix={\"inner\"}\r\n tabSelectsValue={true}\r\n noOptionsMessage={() => No Existing Libraries Found.
Please Type a Name to Create a New Library
}\r\n />\r\n \r\n Please Select a Valid Library\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n

Search Keywords

Press Enter to Add Keyword.

\r\n \r\n \r\n setValues({ ...values, keywords: _.uniq(keywords, false, _.iteratee(str => str.trim().toLowerCase())) })}\r\n inputProps={{placeholder: '', maxLength: 15}}\r\n />\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n

Block Description

\r\n \r\n \r\n setValues({ ...values, description: e.target.value })}/>
\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\n\r\nexport default NameBlock;","/* global Blockly, Util */\r\nimport React, { Component } from 'react';\r\nimport NumberTextInput from \"../assets/number_text_input.PNG\";\r\nimport BooleanInput from \"../assets/boolean_input.PNG\";\r\nimport TextLabel from \"../assets/text_label.PNG\";\r\nimport _ from 'underscore';\r\nimport ModalButtons from \"../../ModalButtons\";\r\n\r\nclass DefineArguments extends Component {\r\n constructor (props) {\r\n super(props);\r\n this.mountDiv = React.createRef();\r\n this._addInputBoolean = this._addInputBoolean.bind(this);\r\n this._addInputValue = this._addInputValue.bind(this);\r\n this._addTextLabel = this._addTextLabel.bind(this);\r\n this._addInput = this._addInput.bind(this);\r\n const { values = {} } = props;\r\n this.state = {\r\n workspace: null,\r\n blockToSave: null,\r\n blockHeight: null,\r\n args: values,\r\n argId: _.keys(values).length + 1 || 1,\r\n screenWidth: window.innerWidth,\r\n screenHeight: window.innerHeight,\r\n step: this.props.step\r\n }\r\n }\r\n\r\n _createWorkspace () {\r\n let workspace = Blockly.inject(this.mountDiv.current, {\r\n toolbox: ,\r\n media: \"/vendor/pxt-blockly/media/\",\r\n grid: {\r\n spacing: 50,\r\n length: 51,\r\n colour: \"#555559\",\r\n snap: false\r\n },\r\n zoom: {\r\n controls: true,\r\n startScale: 0.9,\r\n maxScale: 1.5,\r\n minScale: 0.3,\r\n scaleSpeed: 1.2,\r\n wheel: true\r\n },\r\n trashcan: false,\r\n sounds: false,\r\n scrollbars: true\r\n });\r\n workspace.isCreateBlockWorkspace = true;\r\n Blockly.setTheme(Blockly.Themes.SOTI);\r\n if (document.getElementById(\"saveBlockWorkspace\")) {\r\n let zoomControls = document.getElementById(\"saveBlockWorkspace\").getElementsByClassName(\"blocklyZoom\")[0];\r\n let actionButtonsBackground = zoomControls.getElementsByClassName(\"icon-background\")[0];\r\n actionButtonsBackground.setAttribute('height', 135);\r\n actionButtonsBackground.setAttribute('y', 14);\r\n }\r\n return workspace;\r\n }\r\n\r\n _renderBlockToSave (workspace) {\r\n const { values = {} } = this.props;\r\n\r\n const blockToSave = workspace.newBlock(this.props.type);\r\n blockToSave.setLabel(this.props.blockName);\r\n if (!_.isEmpty(values)) {\r\n this._setArgs(values);\r\n blockToSave.updateShapeMyBlock({\r\n name: this.props.blockName,\r\n args: values\r\n });\r\n }\r\n if (this.props.type === \"blank_block\") {\r\n let xml = Blockly.Xml.textToDom(this.props.block);\r\n let innerBlock = Blockly.Xml.domToBlock(xml.lastChild, workspace);\r\n blockToSave.getInput(\"DEFINITION\").setVisible(true);\r\n let blockToSaveLocation = blockToSave.getInput(\"DEFINITION\");\r\n blockToSaveLocation.connection.connect(innerBlock.previousConnection);\r\n blockToSave.getInput(\"DEFINITION\").setVisible(false);\r\n }\r\n blockToSave.initSvg();\r\n blockToSave.render();\r\n workspace.scrollCenter();\r\n return blockToSave;\r\n }\r\n\r\n _setArgId (argId) {\r\n this.setState({ argId })\r\n }\r\n\r\n _setArgs (args) {\r\n this.setState({ args });\r\n }\r\n\r\n _addInput (type, name, value = \"\") {\r\n let that = this;\r\n let { blockToSave, workspace, argId, args, blockHeight } = this.state;\r\n const { blockName } = this.props;\r\n const inputArg = name ? name.split('_')[2] : argId;\r\n !name && this._setArgId(++argId);\r\n let inputName = name || `INPUT_ARG_${inputArg}`;\r\n if (type === \"label\" && !inputName.includes(\"-readonly\")) {\r\n inputName += \"-readonly\";\r\n }\r\n\r\n const inputDom = Util.dom('input', {\r\n value,\r\n class: 'customHtmlInput',\r\n id: `customHtmlInput-${inputArg}`,\r\n 'data-input-id': inputName,\r\n autofocus: true,\r\n autocomplete: \"off\",\r\n maxLength: 15\r\n });\r\n inputDom.onkeypress = e => {\r\n e = e || window.event;\r\n let charCode = (typeof e.which == \"undefined\") ? e.keyCode : e.which;\r\n let charStr = String.fromCharCode(charCode);\r\n if (type === \"label\") {\r\n return true;\r\n }\r\n if (/[a-zA-Z]/.test(charStr) || (/\\d/.test(charStr) && e.target.value.length && document.getSelection().toString() !== e.target.value)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n blockToSave.type !== \"custom_js_block\" && blockToSave.switchVisibility(false);\r\n const removeIconDom = Util.dom('a', { class: 'customHtmlInputRemove' });\r\n var inputContainerDom = Util.dom('div', { class: \"customHtmlInputContainer\" }, [inputDom, removeIconDom]);\r\n var inputField = new Blockly.FieldHTML(inputContainerDom, { height: blockHeight, width: 150, backgroundColor: blockToSave.getColour() }, function (e) {\r\n switch (e.type) {\r\n case \"pointerdown\":\r\n if ((e.target === removeIconDom)) {\r\n let inputBlock = blockToSave.getInput(inputName);\r\n inputBlock && blockToSave.removeInput(inputName);\r\n delete args[inputName];\r\n this.setState({args: args})\r\n }\r\n break;\r\n case 'keyup':\r\n if (e.keyCode !== 13) {\r\n break;\r\n }\r\n // falls through\r\n case 'focusout':\r\n var reservedKeywords = [\"\", \"await\", \"break\", \"case\", \"catch\", \"class\", \"const\", \"continue\", \"debugger\", \"default\", \"delete\", \"do\", \"else\", \"enum\", \"export\", \"extends\", \"false\", \"finally\", \"for\", \"function\", \"if\", \"implements\", \"import\", \"in\", \"instanceof\", \"interface\", \"let\", \"new\", \"null\", \"package\", \"private\", \"protected\", \"public\", \"return\", \"super\", \"switch\", \"static\", \"this\", \"throw\", \"try\", \"true\", \"typeof\", \"var\", \"void\", \"while\", \"with\", \"yield\"];\r\n if (type !== \"label\") {\r\n if (reservedKeywords.includes(e.target.value)) {\r\n e.target.value = `input${e.target.value}`;\r\n }\r\n let allValues = _.values(args).map((arg) => {\r\n return arg.value;\r\n });\r\n var repeatIndex = 0;\r\n while (allValues.includes(e.target.value)) {\r\n e.target.value = `${e.target.value.replace(/\\d/g, '')}${++repeatIndex}`;\r\n }\r\n }\r\n \r\n setTimeout(function () {\r\n let inputBlock = blockToSave.getInput(inputName);\r\n if (!inputBlock) return;\r\n that._setArgs({\r\n ...args,\r\n [inputName]: {\r\n value: e.target.value,\r\n type\r\n }\r\n });\r\n inputBlock && blockToSave.removeInput(inputName);\r\n setTimeout(() => {\r\n blockToSave.updateShapeMyBlock({\r\n name: blockName,\r\n args: {\r\n ...args,\r\n [inputName]: {\r\n value: e.target.value,\r\n type\r\n }\r\n }\r\n });\r\n }, 0);\r\n\r\n }, 100)\r\n }\r\n workspace.scrollCenter();\r\n }.bind(this));\r\n setTimeout(() => {\r\n const argInputBox = document.querySelector(`#customHtmlInput-${inputArg}`)\r\n if (!argInputBox) { return; }\r\n argInputBox.focus()\r\n argInputBox.select()\r\n }, 100);\r\n\r\n blockToSave.updateShapeMyBlock({\r\n name: blockName,\r\n args: {\r\n ...args,\r\n [inputName]: {\r\n value: inputField,\r\n type: 'html'\r\n }\r\n }\r\n });\r\n blockToSave.initSvg();\r\n blockToSave.render();\r\n workspace.scrollCenter();\r\n }\r\n\r\n _addInputValue () {\r\n setTimeout(() => {\r\n this._addInput(\"number_text\")\r\n }, 50)\r\n }\r\n\r\n _addInputBoolean(){\r\n setTimeout(() => {\r\n this._addInput(\"boolean\")\r\n }, 50)\r\n }\r\n\r\n _addTextLabel () {\r\n setTimeout(() => {\r\n this._addInput(\"label\")\r\n }, 50)\r\n }\r\n\r\n componentDidMount () {\r\n const workspace = this._createWorkspace();\r\n let blockToSave = this._renderBlockToSave(workspace);\r\n const { height: blockHeight } = blockToSave;\r\n this.setState({ blockToSave, workspace, blockHeight });\r\n\r\n // set block to save and its descendants to immovable\r\n let descendants = blockToSave.getDescendants();\r\n descendants.map((descendant) => {\r\n if (descendant.id !== blockToSave.id) {\r\n descendant.setMovable(false);\r\n }\r\n });\r\n\r\n workspace.addChangeListener(blocklyEvent => {\r\n if (blocklyEvent.element === 'click') {\r\n try {\r\n blockToSave.setSelectedBlock(false);\r\n let clickedBlock = workspace.getBlockById(blocklyEvent.blockId);\r\n if (clickedBlock && clickedBlock.type !== this.props.type &&\r\n clickedBlock.parentBlock_.id === blockToSave.id &&\r\n !(clickedBlock.nextConnection && clickedBlock.previousConnection)) {\r\n var inputSlot = blockToSave.getInputWithBlock(clickedBlock);\r\n blockToSave.removeInput(inputSlot.name);\r\n const { args = {} } = this.state;\r\n this._addInput(clickedBlock.type, inputSlot.name, args[inputSlot.name] && args[inputSlot.name].value);\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n });\r\n\r\n // disable undo through ctrl+Z\r\n workspace.MAX_UNDO = 0;\r\n\r\n blockToSave.setTooltip(this.props.description);\r\n\r\n window.onresize = () => {\r\n try {\r\n this.setState({screenHeight: window.innerHeight});\r\n this.setState({screenWidth: window.innerWidth});\r\n if (this.state.step === 2) {\r\n this.state.workspace.scrollCenter();\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n };\r\n }\r\n\r\n componentDidUpdate () {\r\n const modalWorkspace = document.getElementById(\"saveBlockWorkspace\");\r\n const blocklyArea = document.getElementById(\"blocklyArea\");\r\n const injectionDiv = blocklyArea.getElementsByClassName(\"injectionDiv\")[0];\r\n modalWorkspace.appendChild(injectionDiv);\r\n }\r\n\r\n componentWillUnmount() {\r\n this.state.workspace.dispose();\r\n }\r\n\r\n render() {\r\n const { handleBack, handleNext } = this.props;\r\n const { args } = this.state;\r\n const {blockToSave, workspace} = this.state;\r\n const saveBlockParams = (\r\n
\r\n
\r\n
\r\n \r\n

Number or Text Input

\r\n
\r\n
\r\n
\r\n
\r\n \r\n

True or False Input

\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Text Label

\r\n
\r\n
\r\n
\r\n );\r\n const saveBlockWorkspace = (\r\n
\r\n );\r\n\r\n return (\r\n
\r\n
\r\n

{this.props.title}

\r\n

\r\n
1
\r\n
Block Details
\r\n
———
\r\n
\r\n
Add Inputs
\r\n
———
\r\n
3
\r\n
Assign {this.props.JSFlag}
\r\n
\r\n
\r\n {this.state.screenWidth > 768 ?\r\n [saveBlockParams, saveBlockWorkspace]\r\n :\r\n [saveBlockWorkspace, saveBlockParams]\r\n }\r\n
\r\n
\r\n {\r\n blockToSave.updateShapeMyBlock({\r\n name: this.props.blockName,\r\n args: args\r\n });\r\n handleNext(args, Blockly.Xml.workspaceToDom(workspace));}\r\n }/>\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default DefineArguments;\r\n","/* global Blockly */\r\nimport React, {Component} from 'react';\r\nimport {connect} from 'react-redux';\r\nimport {Actions} from '../actions';\r\nimport {blocklyPrefix, blocklyPostfix} from \"../utils\";\r\nimport parser, {stringify} from 'comment-parser';\r\nimport postRobot from 'post-robot';\r\nimport _ from 'underscore';\r\nimport initBlocklyOverrides from '../blockly'\r\nimport Workspace from '../components/Workspace';\r\nimport queryString from \"query-string\";\r\nimport SaveModal from \"../components/SaveModal\";\r\nimport CreateJSBlock from \"../components/SaveModal/CreateJSBlock\";\r\nimport DeleteLibraryDialog from \"../components/DeleteLibraryDialog\";\r\nimport SaveBlockTypeErrorDialog from \"../components/SaveBlockTypeErrorDialog\";\r\nimport SaveRESTBlockErrorDialog from \"../components/SaveRESTBlockErrorDialog\";\r\nimport CustomJSModal from '../components/CustomJSModal/CustomJSModal';\r\n\r\nclass WorkspaceContainer extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.mountRef = React.createRef();\r\n this.toolboxRef = React.createRef();\r\n this.state = {\r\n err: {\r\n msg: '',\r\n show: false,\r\n dismissErr: undefined\r\n },\r\n currentLibrary: null,\r\n isInitialized: false,\r\n restBlockError: false,\r\n customJSBlockId: '',\r\n customJSBlockCode: '',\r\n customJSBlockCodeCallback: null\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this._attachListeners();\r\n }\r\n\r\n _isAuthorized() {\r\n const {debug} = queryString.parse(window.location.search);\r\n const {isMockData} = this.props.app;\r\n if (isMockData && debug !== 'true') {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n _attachIframeListeners () {\r\n postRobot.on('requestOutput', () => {\r\n // this._sendCodeToParent();\r\n let err = this._validateOutput();\r\n if(err){\r\n // if an error is encountered set the workspace listener to check each event\r\n // whether the workspace is valid.\r\n this._setWorkspaceValidateListener();\r\n return {err}\r\n } else {\r\n return {code:this._getBlocklyCode()}\r\n }\r\n });\r\n }\r\n\r\n _attachWorkspaceListeners () {\r\n document.addEventListener(\"BlockSave\", e => {\r\n this.saveMyBlock(e.detail);\r\n });\r\n }\r\n\r\n _attachListeners() {\r\n this._attachIframeListeners();\r\n this._attachWorkspaceListeners();\r\n }\r\n\r\n _setWorkspaceValidateListener(){\r\n var onChange = () => {\r\n let err = this._validateWidgetSelect();\r\n if(!err){\r\n this.props.doSendValidatedToParent(true);\r\n this.workspace.removeChangeListener(onChange);\r\n } else{\r\n this.props.doSendValidatedToParent(false);\r\n console.log('not valid');\r\n }\r\n }\r\n this.workspace.addChangeListener(onChange);\r\n }\r\n\r\n UNSAFE_componentWillReceiveProps(nextProps) {\r\n if (nextProps.app.context && !this.state.isInitialized) {\r\n setTimeout(() => {\r\n this._initializeBlockly()\r\n });\r\n }\r\n }\r\n\r\n _initializeBlockly() {\r\n if (this._isAuthorized()) {\r\n this._mountBlockly();\r\n this.setState({isInitialized: true});\r\n const { tenantId = \"-1\", userId = \"-1\", accessToken } = this.props.app.context;\r\n localStorage.setItem('auth_token', accessToken);\r\n\r\n this.props.getLibraries({\r\n tenantId: tenantId,\r\n userId: userId\r\n });\r\n }\r\n }\r\n\r\n _getBlocklyCode() {\r\n // var xml = Blockly.Xml.workspaceToDom(this.workspace);\r\n // xml = new XMLSerializer().serializeToString(xml);\r\n var js = Blockly.JavaScript.workspaceToCode(this.state.workspace);\r\n js = js.replace(/SnapReturns\\./g, '');\r\n var xml = Blockly.Xml.workspaceToDom(this.workspace);\r\n xml = new XMLSerializer().serializeToString(xml);\r\n var comment = stringify([{\r\n tags: [{\r\n tag: \"v1\",\r\n name: \"xml\",\r\n description: xml.replace(/\\/\\*/g, \"!!comment-start!!\").replace(/\\*\\//g, \"!!comment-end!!\"),\r\n line: 2\r\n }],\r\n line: 0,\r\n description: \"Blockly Block\",\r\n }]);\r\n const code = `${comment}\\n${blocklyPrefix}\\n${js}\\n${blocklyPostfix}`;\r\n return code;\r\n }\r\n\r\n\r\n _stepExecution() {\r\n if (!window.BlocklyDebuggers) return;\r\n var debuggr = window.BlocklyDebuggers;\r\n var block = debuggr.next();\r\n Blockly.mainWorkspace.highlightBlock(block.value);\r\n }\r\n\r\n _continueExecution() {\r\n if (!window.BlocklyDebuggers) return;\r\n var debuggr = window.BlocklyDebuggers;\r\n var previousBlock = debuggr.next();\r\n var block = debuggr.next();\r\n Blockly.mainWorkspace.highlightBlock(block.value);\r\n\r\n while (!block.done) {\r\n Blockly.mainWorkspace.highlightBlock(block.value);\r\n previousBlock = block;\r\n block = debuggr.next();\r\n }\r\n\r\n Blockly.mainWorkspace.highlightBlock(previousBlock.value, false);\r\n }\r\n\r\n _setAllHighlighted(block, highlighted) {\r\n block.setHighlightBlock(highlighted);\r\n block.getChildren().forEach((x) => {\r\n this._setAllHighlighted(x, highlighted)\r\n })\r\n }\r\n\r\n _disableDownStreamBlocks(block) {\r\n if (block === null) {\r\n return\r\n }\r\n block.setEnabled(false);\r\n if ((block.nextConnection !== null) && block.nextConnection.targetBlock()) {\r\n this._disableDownStreamBlocks.bind(this)(block.nextConnection.targetBlock());\r\n }\r\n }\r\n\r\n _selectEnableBlock() {\r\n let f = (e) => {\r\n this.workspace.removeChangeListener(f);\r\n let blockId = e.blockId || e.newValue;\r\n let block = this.workspace.getBlockById(blockId);\r\n if (block === null) {\r\n this.workspace.getAllBlocks().forEach(x => {\r\n x.setHighlightBlock(false)\r\n });\r\n return;\r\n }\r\n block = block.getRootBlock();\r\n this.workspace.removeChangeListener(f);\r\n this.workspace.getAllBlocks().forEach(x => {\r\n x.setHighlightBlock(false)\r\n });\r\n this.workspace.getTopBlocks().forEach(this._disableDownStreamBlocks.bind(this));\r\n block.getDescendants().forEach(x => {\r\n x.setEnabled(true);\r\n this.props.doSendValidatedToParent(true);\r\n });\r\n }\r\n Blockly.mainWorkspace.getAllBlocks().forEach(block => {\r\n if (!block.isShadow()) {\r\n block.setHighlightBlock(true);\r\n }\r\n })\r\n Blockly.mainWorkspace.addChangeListener(f);\r\n }\r\n\r\n _containsEnabled(block) {\r\n let next = false;\r\n if (block.nextConnection && block.nextConnection.targetBlock()) {\r\n next = this._containsEnabled.bind(this)(block.nextConnection.targetBlock())\r\n }\r\n return block.isEnabled() || next;\r\n }\r\n\r\n _validateOutput() {\r\n let oneBlockError = this._validateOneBlock();\r\n if(oneBlockError){\r\n return oneBlockError\r\n }\r\n\r\n let validWidgetsError = this._validateWidgetSelect();\r\n if(validWidgetsError){\r\n return validWidgetsError;\r\n }\r\n\r\n let validRestBlockError = this.state.restBlockError;\r\n if (validRestBlockError) {\r\n this.getRestBlockError(validRestBlockError);\r\n return validRestBlockError;\r\n }\r\n }\r\n\r\n _validateWidgetSelect() {\r\n let disabled = _.flatten(this.workspace.getAllBlocks().filter(x => !x.isEnabled()).map(x => {\r\n return x.getInternalDescendants().map(y => y.id)\r\n }));\r\n\r\n let blocks = this.workspace.getAllBlocks().filter(block => {\r\n return !disabled.includes(block.id)\r\n });\r\n\r\n let err;\r\n blocks.forEach(block => {\r\n block.inputList.forEach(input => {\r\n input.fieldRow.filter(x => {\r\n return x instanceof Blockly.FieldDropdown\r\n }).forEach(ddField => {\r\n // If dd hasn't been set yet, set a warning on that dd, and set the onchange handler\r\n // to remove the warning (and reset the previous onchange handler)\r\n if (!ddField.hasBeenSet) {\r\n\r\n ddField.setWarning(true);\r\n var closure = ddField.onChange;\r\n ddField.setOnChange(function (value) {\r\n this.setWarning(false);\r\n if (closure) {\r\n closure.call(this, value);\r\n }\r\n this.setOnChange(closure);\r\n })\r\n err = {type:'WidgetSelect',msg:'One or more widget dropdowns were not selected.'};\r\n }\r\n })\r\n })\r\n });\r\n return err\r\n }\r\n\r\n _validateOneBlock() {\r\n const topBlocks = this.workspace.getTopBlocks().filter(this._containsEnabled.bind(this));\r\n if (topBlocks.length > 1) {\r\n this.workspace.getAllBlocks().filter(x => {\r\n return x.isEnabled() && (!x.isShadow())\r\n }).forEach(x => {\r\n x.setHighlightBlock(true)\r\n });\r\n this.workspace.cleanUp();\r\n this.workspace.zoomToFit();\r\n this.workspace.getTopBlocks().forEach(x => {\r\n x.moveBy(50, 50)\r\n });\r\n const errMsg = `Blockly scripts must contain only one block structure (the current script has ${topBlocks.length}). Please either select a block or continue editing and delete, connect, or disable (right-click) unconnected blocks.`;\r\n let dismissError = () => {\r\n this.setState({err: {msg: errMsg, show: false}});\r\n }\r\n this.setState({\r\n err: {\r\n msg: errMsg,\r\n show: true,\r\n blocking: true,\r\n buttons: [\r\n {\r\n text: 'continue editing',\r\n callback: () => {\r\n Blockly.mainWorkspace.getAllBlocks().forEach(x => this._setAllHighlighted(x, false));\r\n dismissError();\r\n }\r\n },\r\n {\r\n text: 'select a block',\r\n callback: () => {\r\n this._selectEnableBlock();\r\n dismissError();\r\n }\r\n }\r\n ]\r\n }\r\n });\r\n\r\n return {type:'OneBlockError',msg:errMsg};\r\n }\r\n // return true;\r\n }\r\n\r\n getRestBlockError(errMessage) {\r\n\r\n this.workspace.zoomToFit();\r\n const errMsg = errMessage;\r\n let dismissError = () => {\r\n this.setState({err: {msg: errMsg, show: false}});\r\n }\r\n this.setState({\r\n err: {\r\n msg: errMsg,\r\n show: true,\r\n blocking: true,\r\n buttons: [\r\n {\r\n text: 'continue editing',\r\n callback: () => {\r\n Blockly.mainWorkspace.getAllBlocks().forEach(x => this._setAllHighlighted(x, false));\r\n dismissError();\r\n }\r\n }\r\n ]\r\n }\r\n });\r\n\r\n }\r\n\r\n setRestBlockError(errMessage) {\r\n if (this.state.restBlockError != errMessage) {\r\n this.setState({restBlockError: errMessage});\r\n }\r\n }\r\n\r\n // _validateOutput() {\r\n // const topBlocks = Blockly.mainWorkspace.getTopBlocks().filter(x=>{return x.isEnabled()});\r\n // if (topBlocks.length > 1) {\r\n // const errMsg = `Blockly scripts must contain only one block structure. The current script has ${topBlocks.length} - please connect, discard, or disable (right-click) any unconnected blocks.`;\r\n // topBlocks.forEach(x => {\r\n // this._setAllHighlighted(x, true)\r\n // });\r\n // this.workspace.cleanUp();\r\n // this.setState({\r\n // err: {\r\n // msg: errMsg,\r\n // show: true,\r\n // dismissErr: () => {\r\n // Blockly.mainWorkspace.getAllBlocks().forEach(x => this._setAllHighlighted(x, false));\r\n // this.setState({err: {msg: errMsg, show: false}})\r\n // }\r\n // }\r\n // });\r\n // return false;\r\n // }\r\n // return true;\r\n // }\r\n\r\n _sendCodeToParent() {\r\n let err = this._validateOutput();\r\n\r\n if(err){\r\n this.props.doSendCodeToParent({err});\r\n } else {\r\n this.props.doSendCodeToParent({\r\n code: this._getBlocklyCode()\r\n });\r\n }\r\n }\r\n\r\n _evalCode() {\r\n Blockly.JavaScript.init(Blockly.mainWorkspace);\r\n eval(this._getBlocklyCode());\r\n }\r\n\r\n _logCode() {\r\n console.log(this._getBlocklyCode());\r\n }\r\n\r\n _getXmlTagContent(code) {\r\n let parsedXml = parser(code);\r\n parsedXml = parsedXml[0] || null;\r\n\r\n if (parsedXml && parsedXml && parsedXml.tags) {\r\n return parsedXml.tags[parsedXml.tags.length - 1].description;\r\n }\r\n\r\n return \"\"\r\n }\r\n\r\n _getCodeFromParent() {\r\n let {code} = this.props.app.context;\r\n let xml = this._getXmlTagContent(code);\r\n xml = xml.replace(/!!comment-start!!/g, \"/*\").replace(/!!comment-end!!/g, \"*/\");\r\n code = code.replace(/!!comment-start!!/g, \"/*\").replace(/!!comment-end!!/g, \"*/\");\r\n return {code, xml}\r\n }\r\n\r\n _mountBlockly() {\r\n initBlocklyOverrides();\r\n eval(blocklyPrefix);\r\n\r\n this.workspace = Blockly.inject(this.mountRef.current, {\r\n toolbox: this.toolboxRef.current,\r\n media: \"/vendor/pxt-blockly/media/\",\r\n grid: {\r\n spacing: 50,\r\n length: 51,\r\n colour: \"#555559\",\r\n snap: false\r\n },\r\n zoom: {\r\n controls: true,\r\n startScale: 0.7,\r\n maxScale: 1.5,\r\n minScale: 0.3,\r\n scaleSpeed: 1.2\r\n },\r\n move: {\r\n wheel: true\r\n },\r\n sounds: false,\r\n renderer: \"thrasos\"\r\n });\r\n\r\n this.workspace.configureContextMenu = (options) => {\r\n // set up global context menu opions (when right-clicked on workspace)\r\n options.splice(4,2);\r\n var undo = options.find(function(item) { return item.text === Blockly.Msg[\"UNDO\"]; });\r\n if (!!undo) {\r\n undo.icon = \"snap-icon-undo\";\r\n undo.iconHover = \"snap-icon-undo_dual\";\r\n }\r\n var redo = options.find(function(item) { return item.text === Blockly.Msg[\"REDO\"]; });\r\n if (!!redo) {\r\n redo.icon = \"snap-icon-redo\";\r\n redo.iconHover = \"snap-icon-redo_dual\";\r\n }\r\n var addComment = options.find(function(item) { return item.text === Blockly.Msg[\"ADD_COMMENT\"]; });\r\n if (!!addComment) {\r\n addComment.icon = \"snap-icon-SMS\";\r\n addComment.iconHover = \"snap-icon-SMS_dual\";\r\n }\r\n var cleanup = options.find(function(item) { return item.text === Blockly.Msg[\"CLEAN_UP\"]; });\r\n if (!!cleanup) {\r\n cleanup.icon = \"snap-icon-clean\";\r\n cleanup.iconHover = \"snap-icon-clean_dual\";\r\n }\r\n var deleteAll = options.find(function(item) { return item.text.split(' ')[0] === Blockly.Msg[\"DELETE_X_BLOCKS\"].split(' ')[0]; });\r\n if (!!deleteAll) {\r\n deleteAll.icon = \"snap-icon-delete\";\r\n deleteAll.iconHover = \"snap-icon-delete_dual\";\r\n }\r\n return options.push({\r\n text: \"Copy JavaScript\",\r\n enabled: true,\r\n icon: \"snap-icon-script\",\r\n iconHover: \"snap-icon-script_dual\",\r\n callback: () => {\r\n // var code = Blockly.JavaScript.workspaceToCode(this.state);\r\n var code = this._getBlocklyCode();\r\n var t = document.createElement('textarea');\r\n t.style.position = 'absolute';\r\n t.style.left = '100%';\r\n document.body.appendChild(t);\r\n t.value = code;\r\n t.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(t);\r\n }\r\n }, )\r\n };\r\n\r\n\r\n Blockly.setTheme(Blockly.Themes.SOTI);\r\n // need to differentiate from other flyouts for onboarding to find the right one\r\n Blockly.mainWorkspace.getFlyout().svgGroup_.setAttribute(\"id\", \"flyout\");\r\n\r\n let xml = this._getCodeFromParent()['xml']\r\n if (xml !== '') {\r\n let startBlocks = Blockly.Xml.textToDom(xml);\r\n Blockly.Xml.domToWorkspace(startBlocks, this.workspace);\r\n setTimeout(() => {\r\n const allBlocks = this.workspace.getAllBlocks();\r\n allBlocks && allBlocks.map(block => {\r\n const isDisabled = block.disabled;\r\n block.setDisabled(false);\r\n block.setDisabled(isDisabled);\r\n });\r\n }, 0)\r\n }\r\n\r\n\r\n this._validateBlocks(this.props.app.context);\r\n\r\n // scroll saved block to center when boot up editor\r\n this.workspace.markFocused();\r\n this.workspace.setScale(this.workspace.options.zoomOptions.startScale);\r\n this.workspace.scrollCenter();\r\n\r\n Blockly.mainWorkspace.registerButtonCallback(\"createCustomJSBlock\", this._createCustomJSBlock.bind(this))\r\n Blockly.mainWorkspace.registerButtonCallback(\"showDeleteLibraryDialog\", this._showDeleteLibraryDialog.bind(this))\r\n\r\n // modify blockly behaviour based on called action\r\n if (this.props.app.context && this.props.app.context.actionName) {\r\n switch (this.props.app.context.actionName) {\r\n\r\n case 'tableview_delete_record': {\r\n // for tableview delete record action, we should create default REST/delete block\r\n if (this.workspace.topBlocks_.length == 0) {\r\n var defaultRestBlock = this.workspace.newBlock(\"rest_service\");\r\n defaultRestBlock.initTableViewAction(\"DELETE\");\r\n }\r\n }\r\n\r\n case 'tableview_edit_record': {\r\n // for tableview edit record action, we should create default REST/post block\r\n if (this.workspace.topBlocks_.length == 0) {\r\n var defaultRestBlock = this.workspace.newBlock(\"rest_service\");\r\n defaultRestBlock.initTableViewAction(\"PUT\");\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Checks if xml contains blocks that references widgets that are not in\r\n // this Snap app\r\n _validateBlocks(context) {\r\n\r\n // [{id,name,type,restrictions}]\r\n let widgets = _.flatten(context.pages.map(x => {\r\n return x.widgets;\r\n }));\r\n let ids = widgets.map(x => {\r\n return x.id\r\n });\r\n\r\n Blockly.mainWorkspace.getAllBlocks().forEach(block => {\r\n block.onLoad && block.onLoad();\r\n\r\n block.inputList.forEach(input => {\r\n input.fieldRow.forEach(field => {\r\n if (field instanceof Blockly.FieldWidgetsDropdown) {\r\n if (!ids.includes(field.getValue())) {\r\n // FieldWidgetDropdown references a non-exiting widget Warn on that field, and set change to\r\n // remove the warning (b.c. a correct value will then have be chosen) and then set the\r\n // onchange to what it was\r\n\r\n\r\n field.setToSelectOption();\r\n field.setWarning(true);\r\n var closure = field.onChange;\r\n field.setOnChange(function (v) {\r\n field.setWarning(false);\r\n field.setOnChange(closure);\r\n if (closure) {\r\n closure.call(field, v);\r\n }\r\n });\r\n }\r\n }\r\n })\r\n })\r\n })\r\n\r\n\r\n // let problemBlocks = Blockly.mainWorkspace.getAllBlocks().filter(block => {\r\n // let fields = _.flatten(block.inputList.map(input => {\r\n // return input.fieldRow\r\n // }));\r\n // let widgetDdFields = fields.filter(field => {\r\n // return field instanceof Blockly.FieldWidgetsDropdown\r\n // });\r\n //\r\n // let isProblem = false;\r\n // widgetDdFields.forEach(x => {\r\n // if (!ids.includes(x.getValue())) {\r\n // isProblem = true;\r\n // }\r\n // });\r\n // return isProblem;\r\n // });\r\n //\r\n // // TODO: need different languages at some point\r\n // let warningMessage = `Warning, one or more widgets that are referenced in this script have either been deleted or changed ID. Please ensure the highlighted blocks are correct.`;\r\n //\r\n // problemBlocks.forEach(block => {\r\n // block.setHighlightBlock(true);\r\n // });\r\n // if (problemBlocks.length) {\r\n // let err = {\r\n // msg: warningMessage,\r\n // show: true,\r\n // buttons: [\r\n // {\r\n // text: 'okay',\r\n // callback: () => {\r\n // this.setState({err: {msg: warningMessage, show: false}});\r\n // problemBlocks.forEach(x => x.setHighlightBlock(false));\r\n // }\r\n // }\r\n // ]\r\n // };\r\n // this.setState({err});\r\n // }\r\n }\r\n\r\n UNSAFE_componentWillMount() {\r\n this.props.initializeApp();\r\n this.props.getInitInfo();\r\n this._initializeBlocklyConfig();\r\n }\r\n\r\n saveMyBlock (block) {\r\n const containsRestBlock = this._checkForRestBlock(block);\r\n if (!block) { // block is null\r\n return;\r\n } else if (!(block.previousConnection && block.nextConnection)) { // not a statement block\r\n this.props.history.push(`/save-block-type-error${this.props.location.search}`);\r\n } else if (containsRestBlock) { // block contains a REST API block\r\n this.props.history.push(`/save-rest-block-error${this.props.location.search}`);\r\n } else { // block can be saved\r\n const blockDom = Blockly.Xml.blockToDom(block);\r\n const blockText = `${Blockly.Xml.domToText(blockDom)}`;\r\n this.setState({ blockToSave: blockText });\r\n this.props.history.push(`/save-block${this.props.location.search}`);\r\n }\r\n }\r\n\r\n _checkForRestBlock (block) {\r\n if (block.type === \"rest_service\" || block.type === \"load_data_table_rest\") {\r\n return true;\r\n } else if (block.childBlocks_.length > 0) {\r\n for (let i = 0; i < block.childBlocks_.length; i++) {\r\n if (this._checkForRestBlock(block.childBlocks_[i])) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n _createCustomJSBlock () {\r\n this.props.history.push(`/create-js-block${this.props.location.search}`);\r\n }\r\n\r\n _openJSEditor (blockId, blockCallback, code) {\r\n this.setState({\r\n customJSBlockId: blockId,\r\n customJSBlockCode: code,\r\n customJSBlockCodeCallback: blockCallback\r\n });\r\n this.props.history.push(`/custom-js${this.props.location.search}`);\r\n }\r\n\r\n updateBlockCode(code) {\r\n if (this.state.customJSBlockCodeCallback) {\r\n this.state.customJSBlockCodeCallback(code);\r\n }\r\n\r\n Blockly.mainWorkspace.fireChangeListener({\r\n type: \"JsEditorClose\",\r\n blockId: this.state.customJSBlockId\r\n });\r\n this.props.history.push(`/${window.location.search}`);\r\n }\r\n\r\n _showDeleteLibraryDialog (info) {\r\n let libraryName = info.svgGroup_.parentElement.getElementsByClassName(\"blocklyFlyoutLabel\")[0].textContent;\r\n this.setState({currentLibrary: libraryName})\r\n this.props.history.push(`/delete-library${this.props.location.search}`);\r\n }\r\n\r\n _initializeBlocklyConfig() {\r\n /**\r\n * The richness of block colours, regardless of the hue.\r\n * Must be in the range of 0 (inclusive) to 1 (exclusive).\r\n */\r\n Blockly.HSV_SATURATION = 0.702;\r\n\r\n /**\r\n * The intensity of block colours, regardless of the hue.\r\n * Must be in the range of 0 (inclusive) to 1 (exclusive).\r\n */\r\n Blockly.HSV_VALUE = 1;\r\n\r\n\r\n Blockly.Msg.WIDGET_VALUES_HUE = \"#7200e7\";\r\n Blockly.Msg.APP_ACTIONS_HUE = \"#32b6e9\";\r\n Blockly.Msg.CONNECTIONS_HUE = \"#c5428e\";\r\n Blockly.Msg.ENV_VARIABLES_HUE = \"#0fbd8c\";\r\n Blockly.Msg.XSIGHT_TOPICS_HUE = \"#41644a\";\r\n\r\n Blockly.Msg.LOGIC_HUE = \"#33cc33\";\r\n Blockly.Msg.LOOPS_HUE = \"#263deb\";\r\n Blockly.Msg.MATH_HUE = \"#ff6f00\";\r\n Blockly.Msg.TEXTS_HUE = \"#454c50\";\r\n Blockly.Msg.LISTS_HUE = \"#cc00ff\";\r\n Blockly.Msg.VARIABLES_HUE = \"#cccc00\";\r\n Blockly.Msg.PROCEDURES_HUE = \"#006666\";\r\n Blockly.Msg.VARIABLES_DYNAMIC_HUE = \"#cccc00\";\r\n Blockly.Msg.COLOUR_HUE = \"#666633\";\r\n Blockly.Msg.DATES_HUE = \"#006699\"; // TODO get real value from designers;\r\n Blockly.Msg.MYBLOCKS_HUE = \"#553982\";\r\n Blockly.Msg.DEBUG_HUE = \"#CC0033\";\r\n Blockly.Msg.MOBICONTROL_HUE = \"#0074AA\";\r\n\r\n Blockly.Themes.SOTI = {};\r\n\r\n Blockly.Themes.SOTI.defaultBlockStyles = {\r\n \"widget_values_blocks\": {\r\n \"colourPrimary\": Blockly.Msg.WIDGET_VALUES_HUE\r\n },\r\n \"app_action_blocks\": {\r\n \"colourPrimary\": Blockly.Msg.APP_ACTIONS_HUE\r\n },\r\n \"connections_blocks\": {\r\n \"colourPrimary\": Blockly.Msg.CONNECTIONS_HUE\r\n },\r\n\r\n \"logic_blocks\": {\r\n \"colourPrimary\": Blockly.Msg.LOGIC_HUE\r\n },\r\n \"loop_blocks\": {\r\n \"colourPrimary\": Blockly.Msg.LOOPS_HUE\r\n },\r\n \"math_blocks\": {\r\n \"colourPrimary\": Blockly.Msg.MATH_HUE\r\n },\r\n \"text_blocks\": {\r\n \"colourPrimary\": Blockly.Msg.TEXTS_HUE\r\n },\r\n \"list_blocks\": {\r\n \"colourPrimary\": Blockly.Msg.LISTS_HUE\r\n },\r\n \"variable_blocks\": {\r\n \"colourPrimary\": Blockly.Msg.VARIABLES_HUE\r\n },\r\n \"variable_dynamic_blocks\": {\r\n \"colourPrimary\": Blockly.Msg.VARIABLES_DYNAMIC_HUE\r\n },\r\n \"procedure_blocks\": {\r\n \"colourPrimary\": Blockly.Msg.PROCEDURES_HUE\r\n },\r\n \"colour_blocks\": {\r\n \"colourPrimary\": Blockly.Msg.COLOUR_HUE\r\n },\r\n \"field_blocks\": {\r\n \"colourPrimary\": Blockly.Colours.textField,\r\n \"colourSecondary\": Blockly.Colours.textField,\r\n \"colourTertiary\": Blockly.Colours.textField,\r\n },\r\n \"hat_blocks\": {\r\n \"colourPrimary\": \"330\",\r\n \"hat\": \"cap\"\r\n }\r\n };\r\n\r\n Blockly.Themes.SOTI.categoryStyles = {\r\n \"widget_values_category\": {\r\n \"colour\": Blockly.Msg.WIDGET_VALUES_HUE\r\n },\r\n \"app_action_category\": {\r\n \"colour\": Blockly.Msg.APP_ACTIONS_HUE\r\n },\r\n \"connections_category\": {\r\n \"colour\": Blockly.Msg.CONNECTIONS_HUE\r\n },\r\n\r\n \"logic_category\": {\r\n \"colour\": Blockly.Msg.LOGIC_HUE\r\n },\r\n \"loop_category\": {\r\n \"colour\": Blockly.Msg.LOOPS_HUE\r\n },\r\n \"math_category\": {\r\n \"colour\": Blockly.Msg.MATH_HUE\r\n },\r\n \"text_category\": {\r\n \"colour\": Blockly.Msg.TEXTS_HUE\r\n },\r\n \"list_category\": {\r\n \"colour\": Blockly.Msg.LISTS_HUE\r\n },\r\n \"variable_category\": {\r\n \"colour\": Blockly.Msg.VARIABLES_HUE\r\n },\r\n \"variable_dynamic_category\": {\r\n \"colour\": Blockly.Msg.VARIABLES_DYNAMIC_HUE\r\n },\r\n \"procedure_category\": {\r\n \"colour\": Blockly.Msg.PROCEDURES_HUE\r\n },\r\n \"colour_category\": {\r\n \"colour\": Blockly.Msg.COLOUR_HUE\r\n },\r\n \"field_category\": {\r\n \"colour\": Blockly.Colours.textField,\r\n \"colourSecondary\": Blockly.Colours.textField,\r\n \"colourTertiary\": Blockly.Colours.textField,\r\n }\r\n };\r\n\r\n Blockly.Themes.SOTI =\r\n new Blockly.Theme(Blockly.Themes.SOTI.defaultBlockStyles,\r\n Blockly.Themes.SOTI.categoryStyles);\r\n }\r\n\r\n getDeepComponent (pathname, libraries) {\r\n const {isSavingJsBlock} = this.props.block;\r\n const {userId = \"-1\", tenantId = \"-1\" } = this.props.app.context\r\n\r\n switch(pathname) {\r\n case '/save-block':\r\n return \r\n case '/create-js-block':\r\n return \"} isSaving={isSavingJsBlock} saveLibrary={this.props.doSaveLibrary} getLibraries={this.props.getLibraries} saveBlock={this.props.doSaveJsBlock} mainWorkspace={this.workspace} libraries={libraries} userId={userId} tenantId = {tenantId} sendValidatedToParent={this.props.doSendValidatedToParent}/>\r\n case '/delete-library':\r\n return \r\n case '/save-block-type-error':\r\n return \r\n case '/save-rest-block-error':\r\n return \r\n case '/custom-js':\r\n return \r\n }\r\n }\r\n\r\n render() {\r\n //TODO:: get myBlocks\r\n // from props when integrated with backend\r\n // const myBlocks = [];\r\n\r\n const {myBlocks, jsBlocks, blockLibrary} = this.props.block;\r\n\r\n if (!this.props.app.isInitialized) {\r\n return null;\r\n }\r\n\r\n if (!this._isAuthorized()) {\r\n return
\r\n

SOTI Blockly is meant to run on SOTI products only. Please contact SOTI administrator.

\r\n
\r\n }\r\n\r\n return (\r\n
\r\n { this.getDeepComponent(window.location.pathname, blockLibrary) }\r\n {\r\n window.childComponent = childComponent\r\n }}\r\n deleteBlock={this.props.doDeleteBlock}\r\n setRestBlockError = {this.setRestBlockError.bind(this)}\r\n openJSEditor={this._openJSEditor.bind(this)}\r\n >\r\n\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default connect(state => state, Actions)(WorkspaceContainer);\r\n","/* global Blockly */\r\n/* global Util */\r\n\r\n/*\r\nNOTE: This block should not be used outside the context of an ajax call.\r\nThe JS it returns depends on the namespace established for the\r\nerror or success callback of an ajax call.\r\n Thus this function always returns null (should never appear in the toolbox)\r\n*/\r\nconst plusImage = \"data:image/svg+xml,%3Csvg width=\\'28px\\' height=\\'28px\\' viewBox=\\'0 0 28 28\\' version=\\'1.1\\' xmlns=\\'http://www.w3.org/2000/svg\\' xmlns:xlink=\\'http://www.w3.org/1999/xlink\\'%3E%3Ctitle%3Eicon-add 02-SNAP%3C/title%3E%3Cg id=\\'icon-add-02-SNAP\\' stroke=\\'none\\' stroke-width=\\'1\\' fill=\\'none\\' fill-rule=\\'evenodd\\'%3E%3Cpath d=\\'M14,2 C20.627417,2 26,7.372583 26,14 C26,20.627417 20.627417,26 14,26 C7.372583,26 2,20.627417 2,14 C2,7.372583 7.372583,2 14,2 Z M14,3 C7.92486775,3 3,7.92486775 3,14 C3,20.0751322 7.92486775,25 14,25 C20.0751322,25 25,20.0751322 25,14 C25,7.92486775 20.0751322,3 14,3 Z\\' id=\\'Combined-Shape\\' fill=\\'%23FFFFFF\\'%3E%3C/path%3E%3Crect id=\\'Rectangle\\' fill=\\'%23FFFFFF\\' x=\\'8\\' y=\\'13\\' width=\\'12\\' height=\\'2\\' rx=\\'0.75\\'%3E%3C/rect%3E%3Crect id=\\'Rectangle-Copy\\' fill=\\'%23FFFFFF\\' transform=\\'translate(14.000000, 14.000000) rotate(90.000000) translate(-14.000000, -14.000000) \\' x=\\'8\\' y=\\'13\\' width=\\'12\\' height=\\'2\\' rx=\\'0.75\\'%3E%3C/rect%3E%3C/g%3E%3C/svg%3E\";\r\nconst minusImage = \"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='28px' height='28px' viewBox='0 0 28 28' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3Eicon-remove 02-SNAP 2%3C/title%3E%3Cg id='icon-remove-02-SNAP' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cpath d='M14,2 C20.627417,2 26,7.372583 26,14 C26,20.627417 20.627417,26 14,26 C7.372583,26 2,20.627417 2,14 C2,7.372583 7.372583,2 14,2 Z M14,3 C7.92486775,3 3,7.92486775 3,14 C3,20.0751322 7.92486775,25 14,25 C20.0751322,25 25,20.0751322 25,14 C25,7.92486775 20.0751322,3 14,3 Z' id='Combined-Shape' fill='%23FFFFFF'%3E%3C/path%3E%3Crect id='Rectangle' fill='%23FFFFFF' x='8' y='12.5' width='12' height='3' rx='1.25'%3E%3C/rect%3E%3C/g%3E%3C/svg%3E\";\r\nconst RestParams = function () {\r\n const name = 'rest_params';\r\n\r\n function validateBlock(block){\r\n var l =[];\r\n var isValid = block.type !== 'variables_get' && block.type !== 'getter' && block.type !== 'snap_get_textbox_value' && block.type !== 'request_response_parameter';\r\n l.push(isValid);\r\n\r\n if(!isValid){\r\n block.setWarningText('This value can only be known at runtime. Please substitute this for a different block for testing your API call');\r\n var blockOnchange = block.onchange;\r\n block.setOnChange(function(x){\r\n if(x.blockId===block.id && (x.element !=='warningOpen')){\r\n block.setWarningText(false);\r\n block.setOnChange(blockOnchange);\r\n }\r\n });\r\n }\r\n\r\n block.getChildren().forEach(function(child){\r\n l.push(validateBlock(child));\r\n });\r\n return l.reduce(function(acc, cv){return acc&&cv});\r\n }\r\n\r\n function notifyRestParamsError(block,error) {\r\n if (block.getParent().type == 'rest_service' || block.getParent().type == 'load_data_table_rest') {\r\n if (error) {\r\n block.getParent().setRestErrorMessage(\"Rest block does not support one or more of the input blocks. Please substitute these blocks for a local variable block.\");\r\n }else {\r\n block.getParent().setRestErrorMessage(false);\r\n }\r\n }\r\n }\r\n\r\n function generateKeys(block) {\r\n let keys = '';\r\n for(let i =0; i \r\n
\r\n
\r\n

Confirm Delete Library

\r\n
\r\n
\r\n

\r\n Are you sure you want to delete "{this.props.currentLibrary}"?\r\n

\r\n

\r\n This library will be deleted, along with any blocks inside it. This action cannot be undone.\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\n );\r\n }\r\n}\r\n\r\nexport default DeleteLibraryDialog\r\n","import React, {Component} from 'react';\r\nimport {Link} from 'react-router-dom';\r\nimport './index.scss';\r\nimport blocks from './assets/blocks.png';\r\n\r\nclass SaveBlockTypeErrorDialog extends Component {\r\n\r\n render() {\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Save Block Error

\r\n
\r\n
\r\n

\r\n Only statement blocks can be saved. If you would like to save this block,\r\n please insert it into a statement block before saving.\r\n

\r\n

\r\n Statement blocks have previous and next connections to other statement blocks.\r\n For example:\r\n

\r\n {\"Blocks\"}\r\n

\r\n These blocks can be saved.\r\n \r\n These blocks cannot be saved.\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\n\r\nexport default SaveBlockTypeErrorDialog","module.exports = __webpack_public_path__ + \"static/media/blocks.d0014a16.png\";","import React, {Component} from 'react';\r\nimport {Link} from 'react-router-dom';\r\nimport './index.scss';\r\n\r\nclass SaveRESTBlockErrorDialog extends Component {\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n

Save Block Error

\r\n
\r\n
\r\n

\r\n REST API blocks cannot be saved. Please remove any REST API blocks from\r\n the group of blocks you wish to save before continuing.\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\n\r\nexport default SaveRESTBlockErrorDialog","import React, { useState, useEffect } from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport './index.scss';\r\nimport Editor from '@monaco-editor/react';\r\nimport ModalButtons from \"../ModalButtons\";\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faExpandAlt } from '@fortawesome/free-solid-svg-icons';\r\nimport { faCompressAlt } from '@fortawesome/free-solid-svg-icons';\r\n\r\nconst CustomJSModal = ({ customJSBlockCode, customJSBlockCodeChange }) => {\r\n var argString = 'params';\r\n let init = `\r\n/* Blockly Custom Script\r\n * Implemented in Javascript\r\n * To learn more about Javascript, \r\n * please visit https://developer.mozilla.org/en-US/docs/Web/JavaScript/\r\n *\r\n *\r\n * Block Arguments: ${argString}\r\n * \r\n * Any return values from this code can be stored in Blockly Local Variable\r\n * using \\`SnapReturns\\` keyword as follows:\r\n * SnapReturns.result = \"Hello World!\"\r\n * variable result containing the assigned value can be found in\r\n * the local variables blocks.\r\n * \r\n */\r\n \r\n// Add your custom script below\r\n`;\r\n let initVal = customJSBlockCode ? customJSBlockCode : init;\r\n const [value, setValue] = useState(initVal);\r\n const [editor, setEditor] = useState(null);\r\n const [expanded, setExpanded] = useState(false);\r\n const [completionProvider, setCompletionProvider] = useState(null);\r\n\r\n const _sanitizeCode = code => {\r\n return code.replace(/^\\s*\\b(const|let)\\b/gm, 'var');\r\n };\r\n\r\n const _handleEditorBeforeMount = monaco => {\r\n function createProposals(args) {\r\n return [\r\n ...args.map(arg => ({\r\n label: arg,\r\n kind: monaco.languages.CompletionItemKind.Variable,\r\n insertText: arg\r\n })),\r\n {\r\n label: \"SnapReturns\",\r\n kind: monaco.languages.CompletionItemKind.Method,\r\n insertText: \"SnapReturns.\"\r\n }\r\n ];\r\n }\r\n\r\n const completionProvider = monaco.languages.registerCompletionItemProvider('javascript', {\r\n provideCompletionItems: function() {\r\n var suggestions = createProposals([argString]);\r\n return {\r\n suggestions: suggestions\r\n };\r\n }\r\n });\r\n setCompletionProvider(completionProvider);\r\n setEditor(monaco);\r\n };\r\n\r\n const _expandModal = () => {\r\n if (expanded) {\r\n setExpanded(false);\r\n let modalWrapper = document.getElementById(\"save-modal-wrapper\");\r\n modalWrapper.className = \"modal-wrapper\";\r\n } else {\r\n setExpanded(true);\r\n let modalWrapper = document.getElementById(\"save-modal-wrapper\");\r\n modalWrapper.className = \"modal-wrapper-expanded\";\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n return function cleanup() {\r\n editor && editor.editor.getModels().map(model => model.dispose());\r\n };\r\n }, [editor]);\r\n\r\n useEffect(() => {\r\n return function cleanup() {\r\n completionProvider && completionProvider.dispose()\r\n }\r\n }, [completionProvider]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Create Custom JS Code Block

\r\n
\r\n { expanded ?\r\n :\r\n \r\n }\r\n
\r\n
\r\n
\r\n {setValue(val)}}\r\n theme={\"vs-dark\"}/>\r\n
\r\n
\r\n customJSBlockCodeChange(_sanitizeCode(value))} />\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default withRouter(CustomJSModal);","/* global Blockly */\r\nimport React, {Component} from 'react';\r\nimport Joyride from 'react-joyride';\r\nimport queryString from \"query-string\";\r\n\r\nclass AppTour extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n overrideOnboardingCheck: queryString.parse(window.location.search)['onboarding'] === \"true\",\r\n isOnboarded: true,\r\n startTime: 1,\r\n ifBlock:undefined,\r\n printBlock:undefined,\r\n conditionalBlock:undefined,\r\n steps: [\r\n {\r\n title: 'Welcome to SOTI Blockly!',\r\n target:'#root',\r\n content:'A beginner-friendly visual programming interface that will help you build your custom scripting logic without needing prior experience in computer programming.' +\r\n ' The following short tutorial will help show you the basics, or if you\\'re already an expert feel free to skip ahead!',\r\n placement:'center',\r\n disableBeacon:true\r\n },\r\n {\r\n target: '.blocklyMainBackground',\r\n title:'Blockly Workspace',\r\n content: `To write scripts we can drag-and-drop code 'blocks' onto the workspace.`,\r\n placement: 'bottom',\r\n disableBeacon: true\r\n },\r\n {\r\n target: '.blocklyToolboxDiv',\r\n title:'Toolbox',\r\n content: `We can find our blocks in the toolbox area. Blocks are categorized in the toolbox according to their use.`,\r\n placement: 'auto'\r\n },\r\n {\r\n target: '.blocklyTreeRoot div[role=\"treeitem\"]',\r\n content: 'For instance, this toolbox category contains blocks that interact with the various widgets in your Snap application.',\r\n placement: 'auto'\r\n },\r\n {\r\n target: '#flyout',\r\n content: 'Clicking on a toolbox category opens a flyout menu containing all the blocks in that category.',\r\n placement: 'auto'\r\n },\r\n {\r\n target: '.blocklyFlyout .blocklyWorkspace .blocklyDraggable',\r\n content: 'This is one of the blocks. We can click and drag it from the flyout menu onto the workspace.',\r\n placement: 'auto',\r\n spotlightPadding: 5,\r\n },\r\n {\r\n target: '.blocklyBlockCanvas',\r\n content: 'And we have our first Blockly script!',\r\n placement: 'auto',\r\n spotlightPadding: 5,\r\n stage:'connect'\r\n },\r\n {\r\n target: '.blocklyBlockCanvas',\r\n content: 'Blocks can be connected together with other blocks to form larger statements.',\r\n placement: 'auto',\r\n spotlightPadding: 5,\r\n stage:'connect'\r\n },\r\n {\r\n target: '.icon-zoom',\r\n content: 'The zoom controls allow you to zoom in and out, and recenter your blocks in the workspace.',\r\n placement: 'auto'\r\n },\r\n {\r\n target: '.blocklyToolboxDiv',\r\n content: 'To delete a block, simply drag it to the left, over the toolbox.',\r\n placement: 'auto'\r\n },\r\n {\r\n target:'.icon-help',\r\n content: 'For further help, click the (?) icon to open the full SOTI Blockly documentation in a new tab.',\r\n placement:'auto'\r\n },\r\n {\r\n target:'#root',\r\n title:`Now you're ready to build your own custom logic with SOTI Blockly!`,\r\n placement:'center',\r\n disableBeacon:true\r\n }\r\n ]\r\n };\r\n }\r\n\r\n UNSAFE_componentWillMount () {\r\n let isOnboarded = true;\r\n try {\r\n isOnboarded = localStorage.getItem(\"isOnboarded\") === \"true\";\r\n } catch (e) {\r\n console.warn(e);\r\n }\r\n this.setState({\r\n isOnboarded\r\n });\r\n }\r\n\r\n componentDidMount () {\r\n var self = this;\r\n var timer = setInterval(() => {\r\n self.setState({ startTime: self.state.startTime - 1 });\r\n if (self.state.startTime === 0) {\r\n clearInterval(timer);\r\n }\r\n }, 1000)\r\n }\r\n\r\n _handleCallback (e) {\r\n if (e.step.target === \"#flyout\") {\r\n const selectedToolboxCategory = Blockly.mainWorkspace.getToolbox().tree_.children_.filter(child => child.element_.innerText === \"Logic\")[0];\r\n if (!this.state.flyoutOpened) {\r\n selectedToolboxCategory.element_.click();\r\n this.setState({ flyoutOpened: true });\r\n }\r\n }\r\n\r\n if (e.index===6 && e.lifecycle===\"ready\") {\r\n if(this.state.ifBlock){\r\n this.state.ifBlock.dispose();\r\n }\r\n let ifBlock = Blockly.mainWorkspace.newBlock(\"controls_if\");\r\n ifBlock.initSvg();\r\n ifBlock.render();\r\n ifBlock.moveBy(400,200);\r\n this.setState({ifBlock})\r\n } else if (e.index<6){\r\n if(this.state.ifBlock){\r\n this.state.ifBlock.dispose();\r\n }\r\n }\r\n\r\n\r\n if (e.index===7 && e.lifecycle==='ready') {\r\n if(this.state.printBlock){\r\n this.state.printBlock.dispose();\r\n }\r\n let printBlock = Blockly.mainWorkspace.newBlock(\"text_print\");\r\n let text = Blockly.mainWorkspace.newBlock(\"text\");\r\n text.setFieldValue(\"hello!\", \"TEXT\");\r\n text.initSvg();\r\n text.render();\r\n printBlock.getInput(\"TEXT\").connection.connect(text.outputConnection);\r\n printBlock.initSvg();\r\n printBlock.render();\r\n printBlock.previousConnection.connect(this.state.ifBlock.getInput('DO0').connection);\r\n this.setState({printBlock})\r\n } else if (e.index<7){\r\n if(this.state.printBlock){\r\n this.state.printBlock.dispose();\r\n }\r\n }\r\n\r\n if (e.action === \"reset\") {\r\n try{\r\n this.state.ifBlock && this.state.ifBlock.dispose();\r\n this.setState({ifBlock:undefined})\r\n } catch (err){\r\n console.log(err)\r\n }\r\n Blockly.mainWorkspace.getFlyout().hide();\r\n try {\r\n localStorage.setItem(\"isOnboarded\", true);\r\n } catch (e) {\r\n console.warn(e);\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const { startTime, isOnboarded, overrideOnboardingCheck } = this.state;\r\n return startTime === 0 && (overrideOnboardingCheck || !isOnboarded)\r\n ?
\r\n {this._handleCallback.bind(this)(e)}}\r\n spotlightPadding={0}\r\n continuous\r\n showSkipButton\r\n spotlightClicks\r\n steps={this.state.steps} />\r\n
\r\n : null\r\n }\r\n}\r\n\r\nexport default AppTour;","/* global Blockly */\r\n\r\n// replace DropdownOptions 'dropdown_options', undefined'\r\n\r\nfunction defineBlock() {\r\n\r\n // var dds = util.widgetsOfType(context,\"dropdown\");\r\n // var ddNames = dds.map(function(x){return [x.name,x.id]});\r\n\r\n // everything in init should be ES5\r\n return {\r\n customColor: null,\r\n\r\n init: function () {\r\n this.menuGen = [['', '']];\r\n this.appendDummyInput(\"MAIN\")\r\n .appendField(new Blockly.FieldDropdown([['', '']]), \"VALUE\");\r\n // .appendField(new Blockly.FieldDropdown(function(){return this.menuGen}.bind(this)), \"VALUE\");\r\n // this.menuGen = [[\"test\",\"test\"]]\r\n this.setPreviousStatement(false);\r\n this.setNextStatement(false);\r\n this.setOutput(true, \"String\"); // add appropriate checks\r\n this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);\r\n this.setColour(!!this.customColor ? this.customColor : Blockly.Msg.WIDGET_VALUES_HUE);\r\n this.setTooltip('Dropdown widget option');\r\n this.setHelpUrl(Blockly.BASE_HELP_URL + '#widget-values');\r\n\r\n },\r\n getFieldDropdown: function(){\r\n return this.getField('VALUE');\r\n },\r\n setFieldDropdown: function(opts, validator, select, onchange){\r\n this.menuGen = opts;\r\n this.ddSelectOption = select;\r\n let input = this.getInput('MAIN');\r\n input.removeField('VALUE');\r\n let dd = new Blockly.FieldDropdown(opts, validator, select, onchange);\r\n input.appendField(dd ,'VALUE');\r\n this.setShadow(true);\r\n return dd;\r\n },\r\n domToMutation(xml) { \r\n let list = xml.getAttribute(\"list\").split(\",\");\r\n this.menuGen = [];\r\n for (var i = 0; i < list.length; i = i + 2) {\r\n this.menuGen.push([list[i], list[i + 1]]);\r\n }\r\n this.ddSelectOption = xml.getAttribute('ddSelectOption');\r\n this.setFieldDropdown(this.menuGen,undefined,this.ddSelectOption);\r\n this.customColor = xml.getAttribute('customColor');\r\n if (!!this.customColor && this.customColor !== null) {\r\n this.setColour(this.customColor);\r\n }\r\n },\r\n mutationToDom: function () {\r\n let dom = document.createElement('mutation');\r\n dom.setAttribute('list', this.menuGen);\r\n dom.setAttribute('ddSelectOption', this.ddSelectOption);\r\n dom.setAttribute('customColor', !!this.customColor ? this.customColor : '');\r\n return dom;\r\n }, setDDList:function(l){\r\n this.setFieldDropdown(l)\r\n }\r\n // setDDList: function (l) {\r\n // this.menuGen = l;\r\n // return;\r\n // let input = this.getInput(\"MAIN\");\r\n // input.removeField(\"VALUE\");\r\n // var field = new Blockly.FieldDropdown(l);\r\n // input.appendField(field, \"VALUE\");\r\n // @uhg - for some reason needs this or the dd field will render a rectangle and larger...\r\n // this.setShadow(true);\r\n // }\r\n }\r\n}\r\n\r\nfunction defineGenerators()\r\n{\r\n // generators dictionary in ES5\r\n return {\r\n 'JavaScript': function (block) {\r\n let code = block.getFieldValue(\"VALUE\");\r\n return [code, Blockly.JavaScript.ORDER_NONE]\r\n }\r\n }\r\n}\r\n\r\n\r\nconst DropdownOptions = function (props) {\r\n Blockly.Blocks['dropdown_options'] = defineBlock(props.context);\r\n\r\n let generators = defineGenerators();\r\n for (let i in generators) {\r\n Blockly[i]['dropdown_options'] = generators[i]\r\n }\r\n\r\n return null;\r\n}\r\n\r\nexport default DropdownOptions","/* global Blockly */\r\n\r\n// replace Checkbox 'checkbox', null'\r\n\r\nfunction defineBlock(){\r\n // everything in init should be ES5\r\n return {\r\n init:function(){\r\n this.appendDummyInput()\r\n .appendField(\" \")\r\n .appendField(new Blockly.FieldCheckbox(true),\"VALUE\")\r\n .appendField(\" \");\r\n this.setPreviousStatement(false);\r\n this.setNextStatement(false);\r\n this.setOutput(true,\"Boolean\"); // add appropriate checks\r\n this.setOutputShape(Blockly.OUTPUT_SHAPE_HEXAGONAL);\r\n this.setColour(Blockly.Msg.WIDGET_VALUES_HUE);\r\n this.setTooltip('If checked, returns \\'true\\', otherwise \\'false\\'');\r\n this.setHelpUrl(Blockly.BASE_HELP_URL+'#logic');\r\n }\r\n }\r\n}\r\n\r\nfunction defineGenerators() {\r\n // generators dictionary in ES5\r\n return {\r\n 'JavaScript': function (block) {\r\n var code = block.getFieldValue(\"VALUE\");\r\n return [String(code===\"TRUE\"), Blockly.JavaScript.ORDER_ATOMIC];\r\n }\r\n }\r\n}\r\n\r\nconst Checkbox = function(props){\r\n Blockly.Blocks['checkbox'] = defineBlock(props.context);\r\n\r\n let generators = defineGenerators(props.context);\r\n for(let i in generators){\r\n Blockly[i]['checkbox'] = generators[i]\r\n }\r\n\r\n return null\r\n}\r\n\r\nexport default Checkbox","/* global Blockly */\r\n/* global Util */\r\nimport _ from 'underscore';\r\n\r\n/*\r\nNOTE: This block should not be used outside the context of an ajax call.\r\nThe JS it returns depends on the namespace established for the\r\nerror or success callback of an ajax call.\r\n Thus this function always returns null (should never appear in the toolbox)\r\n*/\r\nconst plusImage = \"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='28px' height='28px' viewBox='0 0 28 28' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3Eicon-add 02-SNAP%3C/title%3E%3Cg id='icon-add-02-SNAP' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cpath d='M14,2 C20.627417,2 26,7.372583 26,14 C26,20.627417 20.627417,26 14,26 C7.372583,26 2,20.627417 2,14 C2,7.372583 7.372583,2 14,2 Z M14,3 C7.92486775,3 3,7.92486775 3,14 C3,20.0751322 7.92486775,25 14,25 C20.0751322,25 25,20.0751322 25,14 C25,7.92486775 20.0751322,3 14,3 Z' id='Combined-Shape' fill='%23FFFFFF'%3E%3C/path%3E%3Crect id='Rectangle' fill='%23FFFFFF' x='8' y='13' width='12' height='2' rx='0.75'%3E%3C/rect%3E%3Crect id='Rectangle-Copy' fill='%23FFFFFF' transform='translate(14.000000, 14.000000) rotate(90.000000) translate(-14.000000, -14.000000) ' x='8' y='13' width='12' height='2' rx='0.75'%3E%3C/rect%3E%3C/g%3E%3C/svg%3E\";\r\nconst minusImage = \"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='28px' height='28px' viewBox='0 0 28 28' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3Eicon-remove 02-SNAP 2%3C/title%3E%3Cg id='icon-remove-02-SNAP' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cpath d='M14,2 C20.627417,2 26,7.372583 26,14 C26,20.627417 20.627417,26 14,26 C7.372583,26 2,20.627417 2,14 C2,7.372583 7.372583,2 14,2 Z M14,3 C7.92486775,3 3,7.92486775 3,14 C3,20.0751322 7.92486775,25 14,25 C20.0751322,25 25,20.0751322 25,14 C25,7.92486775 20.0751322,3 14,3 Z' id='Combined-Shape' fill='%23FFFFFF'%3E%3C/path%3E%3Crect id='Rectangle' fill='%23FFFFFF' x='8' y='12.5' width='12' height='3' rx='1.25'%3E%3C/rect%3E%3C/g%3E%3C/svg%3E\";\r\n\r\nconst RequestResponseParameter = function () {\r\n var name = 'request_response_parameter';\r\n \r\n Blockly.Blocks[name] = {\r\n init: function(){\r\n this.jsonStructure = this.jsonStructure || {};\r\n this.appendDummyInput().appendField('','LABEL')\r\n .appendField(new Blockly.FieldImage(plusImage, 24, 24, \"*\", this.addKey.bind(this)),'PLUS')\r\n .setOnNewRow(true)\r\n .appendField(new Blockly.FieldImage(minusImage, 24, 24, \"*\", this.deleteKey.bind(this)),'DELETE')\r\n .setOnNewRow(true);\r\n\r\n this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);\r\n var col = {};\r\n Object.assign(Blockly.Msg.CONNECTIONS_HUE,col);\r\n col.primary = '#b10069';\r\n this.setColour(col);\r\n this.setOutput(true,null);\r\n this.setTooltip('Get the value of an API response.');\r\n this.setHelpUrl(Blockly.BASE_HELP_URL+\"#connections\");\r\n },\r\n mutationToDom: function(){\r\n var path = this.inputList[0].fieldRow.map(function(x){\r\n if (x.name == 'PLUS' || x.name == 'DELETE') {\r\n return '';\r\n } else {\r\n return x.getValue();\r\n }\r\n }.bind(this));\r\n path = path.slice(1); // get rid of 'value of ' field\r\n path = path.filter(item => item);\r\n var mutation = Util.dom('mutation',{label:this.getFieldValue('LABEL'),path:path,parent_id:this.parent_id});\r\n // var jsonStructure = Util.dom('jsonStructure',{innerText:JSON.stringify(this.jsonStructure)});\r\n // mutation.appendChild(jsonStructure);\r\n return mutation;\r\n },\r\n domToMutation: function(xml){\r\n var label = (xml.getAttribute('label') || this.getFieldValue('LABEL'));\r\n this.setLabel(label);\r\n // var jsonStructure = (Array.prototype.slice.call(xml.children)).filter(function(x){return x.tagName.toLowerCase()==='jsonstructure'})[0] || {innerText:'{}'};\r\n\r\n //// this.jsonStructure = JSON.parse(xml.querySelector('jsonStructure').innerText)\r\n // this.jsonStructure = JSON.parse(jsonStructure.innerText || jsonStructure.textContent);\r\n this.path = xml.getAttribute('path');\r\n this.path = this.path?this.path.split(','):[];\r\n this.parent_id = xml.getAttribute('parent_id');\r\n //set jsonStructure if its parent still has it\r\n if (this.workspace.getBlockById(this.parent_id) != null) {\r\n let parentBlock = this.workspace.getBlockById(this.parent_id);\r\n if (parentBlock.type == 'rest_service' && parentBlock.responseJsonStructure!= null) {\r\n this.jsonStructure = parentBlock.responseJsonStructure;\r\n if (Object.keys(this.jsonStructure).length != 0) {\r\n this.xmlToBlock(this.jsonStructure, this.path, 0);\r\n }\r\n }\r\n }\r\n //create drop down with path if no jsonStructure set\r\n if (Object.keys(this.jsonStructure).length == 0) {\r\n this.createResponseDropdown(this.path);\r\n }\r\n // this.xmlToBlock(this.jsonStructure, this.path, 0);\r\n },\r\n createResponseDropdown: function (path) {\r\n this.inputList[0].removeField('PLUS')\r\n this.inputList[0].removeField('DELETE')\r\n for(let i=0; i < path.length; i++) {\r\n let ddOptions = [[path[i],path[i]]];\r\n let currentVal = ddOptions[0][0];\r\n let dd = new Blockly.FieldDropdown(ddOptions);\r\n dd.setValue(currentVal);\r\n this.inputList[0].appendField(dd, i);\r\n }\r\n this.inputList[0].appendField(new Blockly.FieldImage(plusImage, 24, 24, \"*\", this.addKey.bind(this)),'PLUS')\r\n .setOnNewRow(true)\r\n .appendField(new Blockly.FieldImage(minusImage, 24, 24, \"*\", this.deleteKey.bind(this)),'DELETE')\r\n .setOnNewRow(true);\r\n },\r\n setLabel: function(label){\r\n this.getField('LABEL').setValue(label);\r\n },\r\n setParentId: function(id){\r\n this.parent_id = id;\r\n },\r\n setJsonStructure: function(json){\r\n this.jsonStructure = json;\r\n },\r\n\r\n addKey: function() {\r\n var json = this.jsonStructure;\r\n if (Object.keys(json).length == 0) return;\r\n this.inputList[0].removeField('PLUS')\r\n this.inputList[0].removeField('DELETE')\r\n var fieldList = this.inputList[0].fieldRow.slice(1); // exclude 'LABEL' 'PLUS' 'DELETE' field\r\n if (fieldList.length > 0) {\r\n for (var i = 0; i 0) {\r\n this.inputList[0].removeField(fieldList.length-1);\r\n this.initSvg();\r\n this.render();\r\n }\r\n this.getResult();\r\n\r\n // trigger onchange event for parent\r\n if (this.parentBlock_ && this.parentBlock_.changeHandler) \r\n this.parentBlock_.changeHandler();\r\n },\r\n\r\n update: function (level) {\r\n var fieldList = this.inputList[0].fieldRow.slice(3); // exclude 'LABEL' 'PLUS' 'DELETE' field\r\n for (var i = level+1; i= depth){\r\n removes.push(fieldList[i].name);\r\n }\r\n if (fieldList[i].name == \"PLUS\") {\r\n this.inputList[0].removeField('PLUS');\r\n moveAdd = true;\r\n }\r\n if (fieldList[i].name == \"DELETE\") {\r\n this.inputList[0].removeField('DELETE');\r\n moveDelete = true;\r\n }\r\n\r\n }\r\n\r\n removes.forEach(function(x){this.inputList[0].removeField(x)}.bind(this));\r\n // check if there should be another dd or maybe we hit a node/value;\r\n if(!!json && typeof(json)=='object' && Object.keys(json).length && !_.isEmpty(path)){\r\n var ddOptions = Object.keys(json).map(function(x){return [x,x]}.bind(this));\r\n var currentVal = path.splice(0,1)[0] || ddOptions[0][0];\r\n var dd = new Blockly.FieldDropdown(function(){return ddOptions},function(value){\r\n this.specToBlock(json[value],path,depth+1)\r\n }.bind(this));\r\n dd.setValue(currentVal);\r\n this.inputList[0].appendField(dd, depth);\r\n this.specToBlock(json[currentVal],path,depth+1);\r\n }\r\n\r\n if (moveAdd) {\r\n this.inputList[0].appendField(new Blockly.FieldImage(plusImage, 24, 24, \"*\", this.addKey.bind(this)),'PLUS')\r\n .setOnNewRow(true)\r\n }\r\n if (moveDelete) {\r\n this.inputList[0].appendField(new Blockly.FieldImage(minusImage, 24, 24, \"*\", this.deleteKey.bind(this)),'DELETE')\r\n .setOnNewRow(true);\r\n }\r\n }\r\n };\r\n\r\n Blockly.JavaScript[name] = function(block){\r\n /*\r\n This will produce the structure list (which will be used by other blocks) and\r\n a valid ES5 code, which chains all the selected parameters.\r\n\r\n Please note that we can't use ES6 optional chaining syntax (?.), so we need to \r\n use old bulky syntax.\r\n\r\n So if the field list consists of \"A\", \"B\" and \"C\", then \r\n\r\n The result structure will be:\r\n A|B|C\r\n\r\n The result code will be:\r\n (ResponseScope['ID'] && ResponseScope['ID']['A'] && ResponseScope['ID']['A']['B'] && ResponseScope['ID']['A']['B']['C']) ?? \"\"\r\n */\r\n var fieldList = block.inputList[0].fieldRow.slice(1, block.inputList[0].fieldRow.length-2); // exclude 'LABEL' 'PLUS' 'DELETE' field\r\n var structure = [];\r\n var path = `ResponseScope['${this.parent_id}']`;\r\n var code = path;\r\n for(var i = 0; i < fieldList.length; i++){\r\n var val = fieldList[i].getValue();\r\n path += `['${val}']`;\r\n code += ` && ${path}`;\r\n structure.push(val);\r\n }\r\n code = `/*STRUCTURE:${structure.join('|')}*/(${code}) ?? \"\"`;\r\n return [code, Blockly.JavaScript.ORDER_NONE]\r\n };\r\n\r\n // this should never show in the toolbox\r\n return null\r\n\r\n};\r\n\r\nexport default RequestResponseParameter;\r\n","/* global Blockly */\r\n/* global Util */\r\n\r\n/*\r\nNOTE: This block should not be used outside the context of an try-catch block.\r\nThe JS it returns depends on the namespace established for the \r\nerror/exception callback of a catch call call.\r\nThus this function always returns null (should never appear in the toolbox)\r\n*/\r\nconst TryCatchException = function () {\r\n var name = 'try_catch_exception';\r\n\r\n Blockly.Blocks[name] = {\r\n init: function(){\r\n this.appendDummyInput()\r\n .appendField('error')\r\n .appendField(new Blockly.FieldDropdown([[\"name\", \"name\"], [\"message\", \"message\"]], undefined, undefined), \"PROPERTY\");\r\n var col = {};\r\n Object.assign(Blockly.Msg.CONNECTIONS_HUE, col);\r\n col.primary = '#b10069';\r\n this.setColour(col);\r\n this.setOutput(true, \"String\");\r\n this.setTooltip('Get the value of a try-catch exception');\r\n this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);\r\n },\r\n \r\n mutationToDom: function() {\r\n var mutation = Util.dom('mutation', {\r\n parent_id: this.parent_id\r\n });\r\n return mutation;\r\n },\r\n\r\n domToMutation: function(xml) {\r\n this.parent_id = xml.getAttribute('parent_id');\r\n },\r\n\r\n setParentId: function(id){\r\n this.parent_id = id;\r\n },\r\n };\r\n\r\n Blockly.JavaScript[name] = function(block) {\r\n var property = block.getFieldValue('PROPERTY');\r\n var code = `ExceptionScope['${this.parent_id}'].${property}`;\r\n return [code, Blockly.JavaScript.ORDER_NONE]\r\n };\r\n\r\n // this should never show in the toolbox\r\n return null;\r\n};\r\n\r\nexport default TryCatchException;","/* global Blockly */\r\n/* global Util */\r\n\r\n/*\r\nNOTE: Empty block for number/text input for customized blocks\r\n*/\r\nconst NumberText = function () {\r\n var name = 'number_text';\r\n\r\n Blockly.Blocks[name] = {\r\n init: function(){\r\n this.appendDummyInput().appendField('','LABEL');\r\n this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);\r\n let col = {};\r\n Object.assign(Blockly.Msg.CONNECTIONS_HUE,col);\r\n col.primary = '#c85961';\r\n this.setColour(col);\r\n this.setOutput(true,[\"String\", \"Number\", \"Argument_String_Number\"]);\r\n },\r\n mutationToDom: function(){\r\n let path = this.inputList[0].fieldRow.map(function(x){return x.getValue()}.bind(this));\r\n path = path.slice(1); // get rid of 'value of ' field\r\n let mutation = Util.dom('mutation',{label:this.getFieldValue('LABEL'),path:path,parent_name:this.parent_name});\r\n return mutation;\r\n },\r\n domToMutation: function(xml){\r\n let label = (xml.getAttribute('label') || this.getFieldValue('LABEL'));\r\n this.setLabel(label);\r\n this.path = xml.getAttribute('path');\r\n this.path = this.path?this.path.split(','):[];\r\n this.parent_name = xml.getAttribute('parent_name');\r\n },\r\n setLabel: function(label){\r\n this.getField('LABEL').setValue(label);\r\n },\r\n setParentName: function(name){\r\n this.parent_name = name;\r\n },\r\n getLabel: function () {\r\n return this.getField('LABEL').getValue();\r\n }\r\n\r\n };\r\n\r\n Blockly.JavaScript[name] = function() {\r\n let code = this.parent_name;\r\n return [code,Blockly.JavaScript.ORDER_NONE]\r\n };\r\n\r\n};\r\n\r\nexport default NumberText;\r\n","/* global Blockly */\r\n/* global Util */\r\n\r\n/*\r\nNOTE: Empty block for Boolean input for customized blocks\r\n*/\r\nconst BooleanInput = function () {\r\n var name = 'boolean';\r\n\r\n Blockly.Blocks[name] = {\r\n init: function(){\r\n\r\n this.appendDummyInput().appendField('','LABEL');\r\n this.setOutputShape(Blockly.OUTPUT_SHAPE_HEXAGONAL);\r\n var col = {};\r\n Object.assign(Blockly.Msg.CONNECTIONS_HUE,col);\r\n col.primary = '#c85961';\r\n this.setColour(col);\r\n this.setOutput(true,[\"Boolean\", \"Argument_Boolean\"]);\r\n\r\n },\r\n mutationToDom: function(){\r\n let path = this.inputList[0].fieldRow.map(function(x){return x.getValue()}.bind(this));\r\n path = path.slice(1); // get rid of 'value of ' field\r\n let mutation = Util.dom('mutation',{label:this.getFieldValue('LABEL'),path:path,parent_name:this.parent_name});\r\n return mutation;\r\n },\r\n domToMutation: function(xml){\r\n var label = (xml.getAttribute('label') || this.getFieldValue('LABEL'));\r\n this.setLabel(label);\r\n this.path = xml.getAttribute('path');\r\n this.path = this.path?this.path.split(','):[];\r\n this.parent_name = xml.getAttribute('parent_name');\r\n },\r\n setLabel: function(label){\r\n this.getField('LABEL').setValue(label);\r\n },\r\n setParentName: function(name){\r\n this.parent_name = name;\r\n },\r\n getLabel: function () {\r\n return this.getField('LABEL').getValue();\r\n }\r\n };\r\n\r\n Blockly.JavaScript[name] = function() {\r\n var code = this.parent_name;\r\n return [code,Blockly.JavaScript.ORDER_NONE]\r\n };\r\n\r\n};\r\n\r\nexport default BooleanInput;\r\n","/* global Blockly */\r\n/* global Util */\r\n\r\n/*\r\nNOTE: Empty block for number/text input for customized blocks\r\n*/\r\nconst Label = function () {\r\n var name = 'label';\r\n\r\n Blockly.Blocks[name] = {\r\n init: function(){\r\n\r\n this.appendDummyInput().appendField('','LABEL');\r\n this.setOutputShape(Blockly.OUTPUT_SHAPE_SQUARE);\r\n let col = {};\r\n Object.assign(Blockly.Msg.CONNECTIONS_HUE,col);\r\n col.primary = '#c85961';\r\n this.setColour(col);\r\n this.setOutput(true,null);\r\n\r\n },\r\n mutationToDom: function(){\r\n let path = this.inputList[0].fieldRow.map(function(x){return x.getValue()}.bind(this));\r\n path = path.slice(1); // get rid of 'value of ' field\r\n let mutation = Util.dom('mutation',{label:this.getFieldValue('LABEL'),path:path,parent_name:this.parent_name});\r\n return mutation;\r\n },\r\n domToMutation: function(xml){\r\n let label = (xml.getAttribute('label') || this.getFieldValue('LABEL'));\r\n this.setLabel(label);\r\n this.path = xml.getAttribute('path');\r\n this.path = this.path?this.path.split(','):[];\r\n this.parent_name = xml.getAttribute('parent_name');\r\n },\r\n setLabel: function(label){\r\n this.getField('LABEL').setValue(label);\r\n },\r\n setParentName: function(name){\r\n this.parent_name = name;\r\n },\r\n getLabel: function(){\r\n return this.getField('LABEL').getValue();\r\n },\r\n };\r\n\r\n Blockly.JavaScript[name] = function() {\r\n let code = this.parent_name;\r\n return [code,Blockly.JavaScript.ORDER_NONE]\r\n };\r\n\r\n};\r\n\r\nexport default Label;\r\n","/* global Blockly */\r\n/* global Util */\r\nimport {camelCase} from \"../../../utils\";\r\n\r\n/*\r\nNOTE: Empty block for number/text input for customized blocks\r\n*/\r\nconst CustomJSBlock = function () {\r\n var name = 'custom_js_block';\r\n\r\n Blockly.Blocks[name] = {\r\n init: function () {\r\n this.visible = false;\r\n this.appendDummyInput(\"NAME_INPUT\")\r\n .appendField(\" \", \"NAME\");\r\n\r\n this.setPreviousStatement(true, null);\r\n this.setNextStatement(true, null);\r\n this.setColour(\"#ff677e\");\r\n\r\n // Small hack to set the dirty state of the block to true for custom disabling\r\n setTimeout(function () {\r\n this.dirty = true\r\n }.bind(this), 1000);\r\n },\r\n\r\n // create a new input block that can be inserted into a parent block\r\n createInputBlock: function (name, shape) {\r\n let argumentType = \"boolean\";\r\n if (shape === Blockly.OUTPUT_SHAPE_ROUND) {\r\n argumentType = \"number_text\"\r\n }\r\n if (shape === Blockly.OUTPUT_SHAPE_SQUARE) {\r\n argumentType = \"label\"\r\n }\r\n let inputBlock = this.workspace.newBlock(argumentType);\r\n inputBlock.setLabel(name);\r\n inputBlock.setShadow(true);\r\n inputBlock.initSvg();\r\n inputBlock.render();\r\n return inputBlock;\r\n },\r\n\r\n sortArgs: function(a, b) {\r\n if (Number(a.slice(10)) < Number(b.slice(10))) return -1;\r\n if (Number(a.slice(10)) < Number(b.slice(10))) return 1;\r\n return 0;\r\n },\r\n\r\n updateShapeMyBlock: function(props) {\r\n /* Create new input blocks */\r\n for (let i = this.inputList.length - 1; i > 0; i--) {\r\n this.removeInput(this.inputList[i].name);\r\n }\r\n\r\n this.setLabel(props.name);\r\n this.setCode(props.code);\r\n Object.keys(props.args).sort(this.sortArgs).map(argName => {\r\n switch (props.args[argName].type) {\r\n case 'boolean': {\r\n let inputBlock = this.createInputBlock(props.args[argName].value, Blockly.OUTPUT_SHAPE_HEXAGONAL, `${argName}_INPUT-boolean`);\r\n let inputSlot = this.appendValueInput(`${argName}`).setCheck(\"Boolean\");\r\n inputSlot.connection.connect(inputBlock.outputConnection);\r\n break;}\r\n case 'number_text': {\r\n let inputBlock = this.createInputBlock(props.args[argName].value, Blockly.OUTPUT_SHAPE_ROUND, `${argName}_INPUT-text`);\r\n let inputSlot = this.appendValueInput(`${argName}`).setCheck([\"String\", \"Number\"]);\r\n inputSlot.connection.connect(inputBlock.outputConnection);\r\n break;}\r\n case 'label':\r\n // Condition to check if the block is saved and currently being used\r\n // if yes, set the label as readonly text within a block\r\n if (this.code) {\r\n this\r\n .appendDummyInput(argName.indexOf('readonly') > -1 ? argName : `${argName}-readonly`)\r\n .appendField(props.args[argName].value, `${argName}_INPUT-label`);\r\n } else {\r\n let inputBlock = this.createInputBlock(props.args[argName].value, Blockly.OUTPUT_SHAPE_SQUARE, `${argName}_INPUT-label`);\r\n let inputSlot = this.appendValueInput(`${argName}`);\r\n inputSlot.connection.connect(inputBlock.outputConnection);\r\n }\r\n break;\r\n default:\r\n this\r\n .appendDummyInput(`${argName}`)\r\n .appendField(props.args[argName].value, `${argName}_INPUT-label`);\r\n break;\r\n }\r\n });\r\n\r\n this.initSvg();\r\n this.render();\r\n },\r\n\r\n setFieldValue: function (value, field) {\r\n this.getField(field);\r\n },\r\n\r\n /* Save mutation to xml for reconstruction the block when retrieve from the backend */\r\n mutationToDom: function () {\r\n let block = this;\r\n\r\n let args = block.inputList.reduce((all, input) => {\r\n let inputName = input.name;\r\n if (inputName === \"NAME_INPUT\") { return all; }\r\n const targetBlock = input.connection ? input.connection.targetBlock() : input.fieldRow[0];\r\n let value = '';\r\n if (targetBlock && targetBlock.getLabel){\r\n value = targetBlock.getLabel()\r\n } else if (targetBlock.getValue) {\r\n value = targetBlock.getValue();\r\n }\r\n let type = \"label\";\r\n if (input.connection && !['number_text', 'boolean', 'label'].includes(input.connection.targetBlock().type)) {\r\n type = targetBlock.outputConnection.targetConnection.getShadowDom().getAttribute('type');\r\n value = targetBlock.outputConnection.targetConnection.getShadowDom().firstChild.getAttribute('label');\r\n } else {\r\n type = targetBlock ? targetBlock.type : type;\r\n }\r\n all[inputName] = { value, type };\r\n return all;\r\n }, {});\r\n\r\n let mutation = Util.dom(\"mutation\", {\r\n name: this.getLabel(),\r\n args: JSON.stringify(args),\r\n code: this.getCode(),\r\n tooltip: this.tooltip,\r\n disabled: this.disabled\r\n });\r\n\r\n return mutation;\r\n },\r\n\r\n /* Reconstruction the from the backend based on xml mutation*/\r\n domToMutation: function (xml) {\r\n let name = xml.getAttribute('name');\r\n let args = xml.getAttribute(\"args\");\r\n let code = xml.getAttribute(\"code\");\r\n let tooltip = xml.getAttribute(\"tooltip\");\r\n\r\n if (args) {\r\n this.updateShapeMyBlock({\r\n name: name,\r\n args: JSON.parse(args),\r\n code: code\r\n }); // Helper function for adding/removing 2nd input.\r\n }\r\n\r\n setTimeout(() => {\r\n var disabled = xml.getAttribute(\"disabled\");\r\n if (disabled === \"true\") {\r\n // block has to be enabled, then disabled in order to appear disabled\r\n this.setEnabled(true);\r\n this.setEnabled(false);\r\n }\r\n }, 1);\r\n\r\n this.setTooltip(tooltip);\r\n },\r\n\r\n setLabel: function (label) {\r\n this.getField('NAME').setValue(label);\r\n },\r\n\r\n getLabel: function () {\r\n return this.getField('NAME').getValue();\r\n },\r\n\r\n getCode: function () {\r\n return this.code;\r\n },\r\n\r\n setCode: function (code) {\r\n this.code = code;\r\n },\r\n\r\n setEnabled: function (enabled) {\r\n if (this.isEnabled() !== enabled) {\r\n this.disabled = !enabled;\r\n if (this.dirty) {\r\n this.updateDisabled();\r\n } else {\r\n this.dirty = true;\r\n }\r\n }\r\n }\r\n };\r\n\r\n Blockly.JavaScript[name] = function(block){\r\n let args = block.inputList.reduce((all, input) => {\r\n if (input.name === \"NAME_INPUT\" || !input.connection) { return all; }\r\n let inputName = input.connection.getShadowDom().firstChild.getAttribute(\"label\");\r\n const targetBlock = input.connection.targetBlock();\r\n if (targetBlock.type === \"label\") { return all; }\r\n let inputCode = Blockly.JavaScript.blockToCode(targetBlock)[0];\r\n all[inputName] = inputCode;\r\n return all;\r\n }, {});\r\n\r\n let code = Object.keys(args).reduce((vars, arg) => {\r\n vars += `var ${camelCase(arg)} = ${args[arg]};\\n`;\r\n return vars;\r\n }, \"\");\r\n\r\n code += block.getCode() + \"\\n\";\r\n return code;\r\n };\r\n\r\n};\r\n\r\nexport default CustomJSBlock;\r\n","/* global Util, Blockly */\r\n\r\n/*\r\nNOTE: Empty block for number/text input for customized blocks\r\n*/\r\nconst BlankBlock = function () {\r\n var name = 'blank_block';\r\n\r\n Blockly.Blocks[name] = {\r\n init: function () {\r\n this.visible = false;\r\n this.appendDummyInput(\"NAME_INPUT\")\r\n .appendField(\" \", \"NAME\");\r\n this.appendDummyInput(\"TOGGLE_BTN\")\r\n .appendField(new Blockly.FieldButton(\" ▼ \", undefined, function(){\r\n this.switchVisibility(!this.visible);\r\n }.bind(this)))\r\n .appendField(\" \", \"NAME\");\r\n\r\n this.statementInput = this.appendStatementInput(\"DEFINITION\");\r\n this.setPreviousStatement(true, null);\r\n this.setNextStatement(true, null);\r\n this.statementInput.setVisible(this.visible);\r\n this._hideInternalBlock();\r\n this.setColour(\"#ff677e\");\r\n // Small hack to set the dirty state of the block to true for custom disabling\r\n setTimeout(function () {\r\n this.dirty = true\r\n }.bind(this), 1000);\r\n },\r\n\r\n // create a new input block that can be inserted into a parent block\r\n createInputBlock: function (name, shape) {\r\n let argumentType = \"boolean\";\r\n if (shape === Blockly.OUTPUT_SHAPE_ROUND) {\r\n argumentType = \"number_text\"\r\n }\r\n if (shape === Blockly.OUTPUT_SHAPE_SQUARE) {\r\n argumentType = \"label\"\r\n }\r\n let inputBlock = this.workspace.newBlock(argumentType);\r\n inputBlock.setLabel(name);\r\n inputBlock.setShadow(true);\r\n inputBlock.initSvg();\r\n inputBlock.render();\r\n return inputBlock;\r\n },\r\n\r\n checkInputNames: function(name) {\r\n return (name !== \"TOGGLE_BTN\" && name !== \"DEFINITION\");\r\n },\r\n\r\n sortArgs: function(a, b) {\r\n if (Number(a.slice(10)) < Number(b.slice(10))) return -1;\r\n if (Number(a.slice(10)) < Number(b.slice(10))) return 1;\r\n return 0;\r\n },\r\n\r\n updateShapeMyBlock: function(props) {\r\n /* Create new input blocks */\r\n for (let i = this.inputList.length - 1; i > 0; i--) {\r\n if (this.checkInputNames(this.inputList[i].name)) {\r\n this.removeInput(this.inputList[i].name);\r\n }\r\n }\r\n\r\n this.setLabel(props.name);\r\n Object.keys(props.args).sort(this.sortArgs).map(argName => {\r\n switch (props.args[argName].type) {\r\n case 'boolean': {\r\n let inputBlock = this.createInputBlock(props.args[argName].value, Blockly.OUTPUT_SHAPE_HEXAGONAL, `${argName}_INPUT-boolean`);\r\n let inputSlot = this.appendValueInput(`${argName}`).setCheck(\"Boolean\");\r\n inputSlot.connection.connect(inputBlock.outputConnection);\r\n break;}\r\n case 'number_text': {\r\n let inputBlock = this.createInputBlock(props.args[argName].value, Blockly.OUTPUT_SHAPE_ROUND, `${argName}_INPUT-text`);\r\n let inputSlot = this.appendValueInput(`${argName}`).setCheck([\"String\", \"Number\"]);\r\n inputSlot.connection.connect(inputBlock.outputConnection);\r\n break;}\r\n case 'label':\r\n // Condition to check if the block is saved and currently being used\r\n // if yes, set the label as readonly text within a block\r\n if (this.code) {\r\n this\r\n .appendDummyInput(argName.indexOf('readonly') > -1 ? argName : `${argName}-readonly`)\r\n .appendField(props.args[argName].value, `${argName}_INPUT-label`);\r\n } else {\r\n let inputBlock = this.createInputBlock(props.args[argName].value, Blockly.OUTPUT_SHAPE_SQUARE, `${argName}_INPUT-label`);\r\n let inputSlot = this.appendValueInput(`${argName}`);\r\n inputSlot.connection.connect(inputBlock.outputConnection);\r\n }\r\n break;\r\n default:\r\n this\r\n .appendDummyInput(`${argName}`)\r\n .appendField(props.args[argName].value, `${argName}_INPUT-label`);\r\n break;\r\n }\r\n });\r\n\r\n this.moveInputBefore(\"DEFINITION\", null);\r\n this.initSvg();\r\n this.render();\r\n },\r\n\r\n setFieldValue: function (value, field) {\r\n this.getField(field);\r\n },\r\n\r\n /* Save mutation to xml for reconstruction the block when retrieve from the backend */\r\n mutationToDom: function () {\r\n let block = this;\r\n\r\n let args = block.inputList.reduce((all, input) => {\r\n let inputName = input.name;\r\n if (inputName === \"NAME_INPUT\") { return all; }\r\n if (inputName === \"TOGGLE_BTN\") { return all; }\r\n if (inputName === \"DEFINITION\") { return all; }\r\n\r\n const targetBlock = input.connection ? input.connection.targetBlock() : input.fieldRow[0];\r\n let value = '';\r\n if (targetBlock && targetBlock.getLabel){\r\n value = targetBlock.getLabel()\r\n } else if (targetBlock.getValue) {\r\n value = targetBlock.getValue();\r\n }\r\n let type = \"label\";\r\n if (input.connection && !['number_text', 'boolean', 'label'].includes(input.connection.targetBlock().type)) {\r\n type = targetBlock.outputConnection.targetConnection.getShadowDom().getAttribute('type');\r\n value = targetBlock.outputConnection.targetConnection.getShadowDom().firstChild.getAttribute('label');\r\n } else {\r\n type = targetBlock ? targetBlock.type : type;\r\n }\r\n all[inputName] = { value, type };\r\n return all;\r\n }, {});\r\n\r\n let mutation = Util.dom(\"mutation\", {name: this.getLabel(), args: JSON.stringify(args), code: this.getCode(), disabled: this.disabled, tooltip: this.tooltip});\r\n this._hideInternalBlock();\r\n\r\n return mutation;\r\n },\r\n\r\n /* Reconstruction the from the backend based on xml mutation*/\r\n domToMutation: function (xml) {\r\n let name = xml.getAttribute('name');\r\n let args = xml.getAttribute(\"args\");\r\n let code = xml.getAttribute(\"code\");\r\n let tooltip = xml.getAttribute(\"tooltip\");\r\n\r\n if (args) {\r\n this.updateShapeMyBlock({\r\n name: name,\r\n args: JSON.parse(args),\r\n code: code\r\n }); // Helper function for adding/removing 2nd input.\r\n }\r\n\r\n setTimeout(() => {\r\n var disabled = xml.getAttribute(\"disabled\");\r\n if (disabled === \"true\") {\r\n // block has to be enabled, then disabled in order to appear disabled\r\n this.setEnabled(true);\r\n this.setEnabled(false);\r\n }\r\n }, 1);\r\n\r\n this.setTooltip(tooltip);\r\n },\r\n\r\n _hideInternalBlock: function () {\r\n let renderList = [];\r\n\r\n if (!this.statementInput.visible && this.statementInput.outlinePath) {\r\n this.outlinePath.setAttribute('style', 'visibility: hidden');\r\n }\r\n\r\n let display = this.visible ? 'block' : 'none';\r\n\r\n if (this.statementInput.connection) {\r\n // Has a connection.\r\n if (this.visible) {\r\n renderList = this.statementInput.connection.unhideAll();\r\n } else {\r\n this.statementInput.connection.hideAll();\r\n }\r\n let child = this.statementInput.connection.targetBlock();\r\n if (child) {\r\n child.getSvgRoot().style.display = display;\r\n if (!this.visible) {\r\n child.rendered = false;\r\n }\r\n }\r\n }\r\n\r\n return renderList;\r\n },\r\n\r\n switchVisibility: function (visible) {\r\n this.setVisible(visible);\r\n this.statementInput.setVisible(visible);\r\n this.initSvg();\r\n this.render();\r\n this.workspace.render();\r\n },\r\n\r\n setLabel: function (label) {\r\n this.getField('NAME').setValue(label);\r\n },\r\n\r\n getLabel: function () {\r\n return this.getField('NAME') && this.getField('NAME').getValue();\r\n },\r\n\r\n setVisible: function (visible) {\r\n this.visible = visible;\r\n },\r\n\r\n getCode: function () {\r\n let definitionInput = this.getInput(\"DEFINITION\");\r\n let innerLogic = definitionInput.connection.targetBlock();\r\n try {\r\n return Blockly.JavaScript.blockToCode(innerLogic);\r\n } catch (e) {\r\n return e;\r\n }\r\n },\r\n\r\n setEnabled: function (enabled) {\r\n if (this.isEnabled() !== enabled) {\r\n this.disabled = !enabled;\r\n if (this.dirty) {\r\n this.updateDisabled();\r\n } else {\r\n this.dirty = true;\r\n }\r\n }\r\n },\r\n\r\n onchange: function () {\r\n this._hideInternalBlock();\r\n }\r\n };\r\n\r\n Blockly.JavaScript[name] = function(block){\r\n let args = block.inputList.reduce((all, input) => {\r\n if ([\"NAME_INPUT\", \"TOGGLE_BTN\", \"DEFINITION\"].includes(input.name) || !input.connection) { return all; }\r\n let inputName = input.connection.getShadowDom().firstChild.getAttribute(\"label\");\r\n const targetBlock = input.connection.targetBlock();\r\n if (targetBlock.type === \"label\") { return all; }\r\n all[inputName] = Blockly.JavaScript.blockToCode(targetBlock)[0];\r\n return all;\r\n }, {});\r\n\r\n let code = Object.keys(args).reduce((vars, arg) => {\r\n vars += `var ${arg} = ${args[arg]};\\n`;\r\n return vars;\r\n }, \"\");\r\n\r\n code += block.getCode() + \"\\n\";\r\n return code;\r\n };\r\n\r\n};\r\n\r\nexport default BlankBlock;\r\n","/* global Blockly */\r\n/* global Util */\r\n\r\n/*\r\nNOTE: This block should not be used outside the context of an ajax call.\r\nThe JS it returns depends on the namespace established for the\r\nerror or success callback of an ajax call.\r\n Thus this function always returns null (should never appear in the toolbox)\r\n*/\r\nconst RequestErrorResponse = function () {\r\n var name = 'request_error_response';\r\n\r\n Blockly.Blocks[name] = {\r\n init: function(){\r\n this.jsonStructure = this.jsonStructure || {};\r\n this.appendDummyInput().appendField('','LABEL');\r\n this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);\r\n var col = {};\r\n Object.assign(Blockly.Msg.CONNECTIONS_HUE,col);\r\n col.primary = '#b10069';\r\n this.setColour(col);\r\n this.setOutput(true,null);\r\n this.setTooltip('Get the value of an API response.');\r\n this.setHelpUrl(Blockly.BASE_HELP_URL+\"#connections\");\r\n },\r\n mutationToDom: function(){\r\n var path = this.inputList[0].fieldRow.map(function(x){return x.getValue()}.bind(this));\r\n path = path.slice(1); // get rid of 'value of ' field\r\n var mutation = Util.dom('mutation',{label:this.getFieldValue('LABEL'),path:path,parent_id:this.parent_id});\r\n var jsonStructure = Util.dom('jsonStructure',{innerText:JSON.stringify(this.jsonStructure)});\r\n mutation.appendChild(jsonStructure);\r\n return mutation;\r\n },\r\n domToMutation: function(xml){\r\n var label = (xml.getAttribute('label') || this.getFieldValue('LABEL'));\r\n this.setLabel(label);\r\n var jsonStructure = (Array.prototype.slice.call(xml.children)).filter(function(x){return x.tagName.toLowerCase()==='jsonstructure'})[0] || {innerText:'{}'};\r\n\r\n // this.jsonStructure = JSON.parse(xml.querySelector('jsonStructure').innerText)\r\n this.jsonStructure = JSON.parse(jsonStructure.innerText || jsonStructure.textContent);\r\n this.path = xml.getAttribute('path');\r\n this.path = this.path?this.path.split(','):[];\r\n this.parent_id = xml.getAttribute('parent_id');\r\n this.specToBlock(this.jsonStructure, this.path, 0);\r\n },\r\n setLabel: function(label){\r\n this.getField('LABEL').setValue(label);\r\n },\r\n setParentId: function(id){\r\n this.parent_id = id;\r\n },\r\n setJsonStructure: function(json){\r\n this.jsonStructure = json;\r\n this.specToBlock(this.jsonStructure, this.path, 0);\r\n },\r\n // json: structure at this depth\r\n // path: path through which to traverse json structure. can be undefined\r\n // depth: depth of json structure/dds, 0 = top level. so first dd = depth of 0\r\n specToBlock: function(json, path, depth){\r\n // necessary to clone path (otherwise .split(0,1) below gets confusing)\r\n path = [].concat(path) || [];\r\n // remove all fields greater than current depth (dd's to the right)\r\n var removes = [];\r\n var fieldList = this.inputList[0].fieldRow.slice(1); // exclude 'LABEL' field\r\n for (var i = 0; i= depth){\r\n removes.push(fieldList[i].name);\r\n }\r\n }\r\n removes.forEach(function(x){this.inputList[0].removeField(x)}.bind(this));\r\n // check if there should be another dd or maybe we hit a node/value;\r\n if(typeof(json)=='object' && !Array.isArray(json) && Object.keys(json).length){\r\n var ddOptions = Object.keys(json).map(function(x){return [x,x]}.bind(this));\r\n var currentVal = path.splice(0,1)[0] || ddOptions[0][0];\r\n\r\n var dd = new Blockly.FieldDropdown(function(){return ddOptions},function(value){\r\n this.specToBlock(json[value],path,depth+1)\r\n }.bind(this));\r\n dd.setValue(currentVal);\r\n this.inputList[0].appendField(dd, depth);\r\n this.specToBlock(json[currentVal],path,depth+1);\r\n }\r\n }\r\n };\r\n\r\n Blockly.JavaScript[name] = function(block){\r\n var fieldList = block.inputList[0].fieldRow.slice(1); // exclude 'LABEL' field\r\n var code = '';\r\n for(var i = 0; i {\r\n const name = 'confirm_dialogue';\r\n Blockly.Blocks[name] = defineBlock();\r\n let generators = defineGenerators();\r\n for (let i in generators) {\r\n Blockly[i][name] = generators[i];\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n};\r\n\r\nexport default ConfirmDialogue;","/* global Blockly */\r\n/* global Util */\r\n\r\n// default/empty block used as a auto-generated response block\r\nconst CoreResponse = function(prop) {\r\n return {\r\n init: function() {\r\n this.appendDummyInput().appendField('', 'LABEL');\r\n this.setOutputShape(prop.shape);\r\n this.setColour(Blockly.Msg.CONNECTIONS_HUE);\r\n this.setOutput(true, prop.type);\r\n },\r\n mutationToDom: function() {\r\n let mutation = Util.dom('mutation', {\r\n label: this.getFieldValue('LABEL'),\r\n parent_id: this.parent_id\r\n });\r\n return mutation;\r\n },\r\n domToMutation: function(xml) {\r\n let label = (xml.getAttribute('label') || this.getFieldValue('LABEL'));\r\n this.setLabel(label);\r\n this.setParentId(xml.getAttribute('parent_id'));\r\n },\r\n setLabel: function(label) {\r\n this.getField('LABEL').setValue(label);\r\n },\r\n setParentId: function(id) {\r\n this.parent_id = id;\r\n },\r\n getJavascriptCore: function() {\r\n return `ResponseScope['${this.parent_id}']`;\r\n }\r\n }\r\n}\r\n\r\nexport default CoreResponse;\r\n","/* global Blockly */\r\n/* global Util */\r\n\r\nimport CoreResponse from './CoreResponse';\r\n\r\n// default/empty text block used as a auto-generated response block\r\nconst TextResponse = function () {\r\n let name = 'text_response';\r\n\r\n let blockInstance = CoreResponse({\r\n shape: Blockly.OUTPUT_SHAPE_ROUND,\r\n type: \"String\"\r\n });\r\n Blockly.Blocks[name] = blockInstance;\r\n\r\n Blockly.JavaScript[name] = function() {\r\n let code = this.getJavascriptCore();\r\n return [code, Blockly.JavaScript.ORDER_NONE];\r\n };\r\n};\r\n\r\nexport default TextResponse;\r\n","/* global Blockly */\r\n/* global Util */\r\n\r\nimport CoreResponse from './CoreResponse';\r\n\r\n// default/empty boolean block used as a auto-generated response block\r\nconst BooleanResponse = function () {\r\n let name = 'boolean_response';\r\n\r\n let blockInstance = CoreResponse({\r\n shape: Blockly.OUTPUT_SHAPE_HEXAGONAL,\r\n type: \"Boolean\"\r\n });\r\n Blockly.Blocks[name] = blockInstance;\r\n\r\n Blockly.JavaScript[name] = function() {\r\n let code = this.getJavascriptCore();\r\n return [code, Blockly.JavaScript.ORDER_NONE];\r\n };\r\n};\r\n\r\nexport default BooleanResponse;\r\n","import DropdownOptions from \"./DropdownOptions\";\r\nimport Checkbox from \"./Checkbox\";\r\nimport RequestResponseParameter from \"./RequestResponseParameter\";\r\nimport TryCatchException from \"./TryCatchException\";\r\nimport RestParams from \"./RestParams\";\r\nimport NumberText from \"./NumberText\";\r\nimport BooleanInput from \"./Boolean\";\r\nimport Label from './Label';\r\nimport CustomJSBlock from './CustomJSBlock';\r\nimport BlankBlock from \"./BlankBlock\";\r\nimport RequestErrorResponse from \"./RequestErrorResponse\";\r\nimport ConfirmDialogue from \"./ConfirmDialogue\";\r\nimport TextResponse from \"./TextResponse\";\r\nimport BooleanResponse from \"./BooleanResponse\";\r\n\r\nconst defineFunctions = [\r\n Checkbox,\r\n DropdownOptions,\r\n RequestResponseParameter,\r\n RestParams,\r\n NumberText,\r\n BooleanInput,\r\n Label,\r\n CustomJSBlock,\r\n BlankBlock,\r\n RequestErrorResponse,\r\n TryCatchException,\r\n ConfirmDialogue,\r\n TextResponse,\r\n BooleanResponse\r\n];\r\n\r\nconst AssistingBlocks = function(props){\r\n defineFunctions.forEach(x=>{x(props)});\r\n return null;\r\n};\r\n\r\nexport default AssistingBlocks\r\n","/* global Blockly */\r\nimport React from 'react';\r\n\r\nfunction defineBlock() {\r\n return {\r\n init: function () {\r\n this.appendDummyInput(\"FROM\")\r\n .appendField(\"get number of days from\")\r\n\r\n let fromDateInput = this.appendValueInput('FROM_DATE')\r\n .setCheck(\"Date\");\r\n\r\n let fromDateBlock = this.workspace.newBlock(\"date\");\r\n fromDateBlock.setShadow(true);\r\n fromDateInput.connection.connect(fromDateBlock.outputConnection);\r\n\r\n this.appendDummyInput(\"TO\")\r\n .appendField(\"to\")\r\n\r\n let toDateInput = this.appendValueInput(\"TO_DATE\")\r\n .setCheck(\"Date\");\r\n\r\n let toDateBlock = this.workspace.newBlock(\"date\");\r\n toDateBlock.setShadow(true);\r\n toDateInput.connection.connect(toDateBlock.outputConnection);\r\n\r\n this.setOutput(true, \"Number\");\r\n this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);\r\n this.setColour(Blockly.Msg.DATES_HUE);\r\n this.setTooltip('Get the number of days from one date to another');\r\n this.setHelpUrl(Blockly.BASE_HELP_URL + '#widget-values');\r\n },\r\n }\r\n}\r\n\r\nfunction defineGenerators() {\r\n return {\r\n 'JavaScript': function (block) {\r\n const funcName = Blockly.JavaScript.provideFunction_('toDate',[\r\n 'function '+Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_ +'(s) {',\r\n 's = new Date(s);',\r\n 's.setHours(0);',\r\n 's.setMinutes(0);',\r\n 's.setSeconds(0);',\r\n 's.setMilliseconds(0);',\r\n 'return s',\r\n '}'\r\n ]);\r\n\r\n let fromDate = funcName + \"(\" + Blockly.JavaScript.valueToCode(block, 'FROM_DATE', Blockly.JavaScript.ORDER_NONE) + \")\";\r\n let toDate = funcName + \"(\" + Blockly.JavaScript.valueToCode(block, 'TO_DATE', Blockly.JavaScript.ORDER_NONE) + \")\";\r\n\r\n let code = 'Math.round((' + toDate + '-' + fromDate + ') / (1000 * 3600 * 24)) >= 0 ? ' +\r\n 'Math.round((' + toDate + '-' + fromDate + ') / (1000 * 3600 * 24)) : ' +\r\n '\"Error: second date is before first date.\"';\r\n\r\n return [code, Blockly.JavaScript.ORDER_NONE];\r\n }\r\n }\r\n}\r\n\r\nfunction GetDaysApart(props) {\r\n const name = \"get_days_apart\";\r\n Blockly.Blocks[name] = defineBlock(props.context);\r\n let generators = defineGenerators(props.context);\r\n for (let i in generators) {\r\n Blockly[i][name] = generators[i]\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\nexport default GetDaysApart;","import React from 'react'\r\nimport \"./index.css\";\r\nimport _ from \"underscore\";\r\nimport GetDaysApart from \"./GetDaysApart\"\r\n\r\nconst DatesCategory = (props) => {\r\n return \r\n \r\n};\r\n\r\nexport default DatesCategory;\r\n","import React from 'react'\r\nimport _ from \"underscore\";\r\n\r\nconst WidgetValues = function (props) {\r\n const WidgetBlocks = props.blocks;\r\n let blocks = [];\r\n let sorted = Object.keys(WidgetBlocks).sort();\r\n for(let i in sorted){\r\n let widgetType = sorted[i];\r\n let Component = WidgetBlocks[widgetType].component;\r\n let childComponents = WidgetBlocks[widgetType].childComponents;\r\n blocks.push();\r\n }\r\n\r\n let appHasWidgets = _.flatten(props.context.pages.map(x => {\r\n return x.widgets;\r\n })).filter(x => {\r\n return WidgetBlocks[x.type] && WidgetBlocks[x.type].component;\r\n }).length > 0;\r\n\r\n // if app has no widgets, just define the block definitions but don't render the toolbox xml\r\n if(!appHasWidgets){\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {blocks}\r\n \r\n )\r\n};\r\n\r\nexport default WidgetValues;\r\n","import React from 'react'\r\nimport _ from 'underscore';\r\n// AppActions, App Actions, app-actions, appActions\r\n\r\nconst AppActions = (props) => {\r\n\r\n if(!props.context){\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n )\r\n};\r\n\r\nexport default AppActions;","import React from 'react'\r\nimport _ from \"underscore\";\r\n\r\nconst Variables = function (props) {\r\n if(!props.context || _.isEmpty(props.context.environmentVariables)){\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n )\r\n}\r\n\r\nexport default Variables;\r\n","import React from 'react'\r\nimport _ from \"underscore\";\r\n\r\nexport const xSightTopicIcon = \"data:image/svg+xml,%3Csvg width='23' height='23' viewBox='0 0 23 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.92856 1.64307H13.9643L19.7143 7.39307V19.7145C19.7143 20.6218 18.9787 21.3574 18.0714 21.3574H4.92856C4.02124 21.3574 3.28571 20.6218 3.28571 19.7145V3.28592C3.28571 2.3786 4.02124 1.64307 4.92856 1.64307ZM17.2499 19.7143C17.6898 19.6827 18.0398 19.3328 18.0713 18.8929V7.39286H15.607C14.6997 7.39286 13.9642 6.65732 13.9642 5.75V3.28571H5.7499C5.30997 3.31726 4.96001 3.66721 4.92847 4.10714V18.8929C4.96001 19.3328 5.30997 19.6827 5.7499 19.7143H17.2499Z' fill='%23ECEFF0'/%3E%3Cg clip-path='url(%23clip0_66_2470)'%3E%3Cpath d='M12.5824 12.0753C12.3795 12.0753 12.1765 12.0077 12.0074 11.8386C11.703 11.5342 11.703 10.993 12.0074 10.6886L13.8339 8.8621C14.1383 8.55769 14.6795 8.55769 14.9839 8.8621C15.2883 9.16651 15.2883 9.70769 14.9839 10.0121L13.1574 11.8386C13.0221 11.9739 12.8192 12.0753 12.5824 12.0753Z' fill='%23ECEFF0'/%3E%3Cpath d='M14.4089 16.4039C14.6118 16.4039 14.8147 16.3363 14.9839 16.1672C15.2883 15.8628 15.2883 15.3216 14.9839 15.0172L13.1574 13.1907C12.853 12.8863 12.3118 12.8863 12.0074 13.1907C11.703 13.4951 11.703 14.0363 12.0074 14.3407L13.8339 16.1672C14.003 16.3363 14.2059 16.4039 14.4089 16.4039Z' fill='url(%23paint0_linear_66_2470)'/%3E%3Cpath d='M9.84267 12.515L7.33973 10.0121C7.03532 9.70769 7.03532 9.16651 7.33973 8.8621C7.64414 8.55769 8.15149 8.55769 8.48973 8.8621L9.97796 10.3503L10.0118 10.3842C11.0941 11.5342 9.91032 12.4812 9.84267 12.515Z' fill='url(%23paint1_linear_66_2470)'/%3E%3Cpath d='M11.8044 12.5147C11.8044 12.7176 11.703 12.9206 11.5677 13.0897L8.48973 16.1676C8.32061 16.3367 8.11767 16.4044 7.91473 16.4044C7.71179 16.4044 7.50885 16.3367 7.33973 16.1676C7.03532 15.8632 7.03532 15.322 7.33973 15.0176L9.84267 12.5147C9.91032 12.4808 11.0603 11.5 10.0118 10.3838L11.5677 11.9397C11.703 12.1088 11.8044 12.3117 11.8044 12.5147Z' fill='url(%23paint2_linear_66_2470)'/%3E%3C/g%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_66_2470' x1='14.679' y1='15.9099' x2='12.3017' y2='13.4326' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23ECEFF0'/%3E%3Cstop offset='0.5558' stop-color='%23ECEFF0'/%3E%3Cstop offset='1' stop-color='%23ECEFF0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint1_linear_66_2470' x1='9.98781' y1='11.4997' x2='7.59097' y2='9.14791' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23ECEFF0'/%3E%3Cstop offset='1' stop-color='%23ECEFF0'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint2_linear_66_2470' x1='7.10844' y1='13.4019' x2='11.8047' y2='13.4019' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23ECEFF0'/%3E%3Cstop offset='1' stop-color='%23ECEFF0'/%3E%3C/linearGradient%3E%3CclipPath id='clip0_66_2470'%3E%3Crect width='9.47059' height='9.47059' fill='white' transform='translate(6.42648 7.7793)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\";\r\n\r\nconst XSightTopics = function (props) {\r\n return (\r\n \r\n \r\n )\r\n}\r\n\r\nexport default XSightTopics;\r\n","import React from 'react'\r\nimport _ from \"underscore\";\r\n\r\n// Logic, logic, logic\r\n\r\nconst Logic = function(props){\r\n return (\r\n \r\n \r\n )\r\n}\r\n\r\nexport default Logic;","import React from 'react';\r\nimport _ from \"underscore\";\r\n\r\n// Loops, loops, loops\r\n\r\nconst Loops = function(props){\r\n return (\r\n \r\n \r\n { _.values(props.blocks).map((Block, id) => ) }\r\n \r\n )\r\n}\r\n\r\nexport default Loops;","/* global Blockly */\r\n/* global Util */\r\nimport React from 'react';\r\n\r\nfunction defineBlock(context) {\r\n return {\r\n outputType: null,\r\n init: function () {\r\n this.appendValueInput(\"VALUE\")\r\n .appendField(\"convert\")\r\n this.appendDummyInput()\r\n .appendField(\"to\");\r\n this.appendValueInput(\"DECIMALS\")\r\n .setCheck(\"Number\")\r\n //.setVisible(false);\r\n this.appendDummyInput()\r\n .appendField(new Blockly.FieldDropdown([[\"integer\", \"integer\"], [\"decimals\", \"decimals\"], [\"floating\", \"floating\"]], undefined, undefined), \"OUTPUTTYPE\");\r\n \r\n this.setPreviousStatement(false);\r\n this.setNextStatement(false);\r\n this.setOutput(true, \"Number\"); \r\n this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);\r\n this.setColour(Blockly.Msg.MATH_HUE);\r\n this.setTooltip(function() {\r\n let outputType = this.getFieldValue('OUTPUTTYPE');\r\n let allFirstText = outputType == \"floating\" ? \"a floating point\" :\r\n outputType == \"decimals\" ? \"a decimal number with speficied places\" :\r\n \"integer number\";\r\n return `Convert a value to ${allFirstText}`;\r\n }.bind(this));\r\n this.setHelpUrl(Blockly.BASE_HELP_URL + '#math');\r\n this.setOnChange(this.changeHandler);\r\n },\r\n\r\n // show decimals input on change\r\n changeHandler: function() {\r\n let outputType = this.getFieldValue('OUTPUTTYPE');\r\n if (this.outputType == outputType) \r\n return;\r\n this.outputType = outputType;\r\n let decimalsVisible = outputType == \"decimals\";\r\n let decimals = this.getInput('DECIMALS');\r\n decimals.setVisible(decimalsVisible);\r\n if (decimalsVisible) {\r\n // make sure there is connected value\r\n if (!(decimals.connection && decimals.connection.isConnected())) {\r\n let decimalsNumberField = this.workspace.newBlock(\"math_number\");\r\n decimalsNumberField.setFieldValue(2, \"NUM\");\r\n decimalsNumberField.setShadow(true);\r\n decimals.connection.connect(decimalsNumberField.outputConnection);\r\n decimalsNumberField.initSvg();\r\n decimalsNumberField.render();\r\n }\r\n }\r\n this.initSvg();\r\n this.render();\r\n }\r\n }\r\n}\r\nfunction defineGenerators() {\r\n return {\r\n 'JavaScript': function (block) {\r\n let outputType = this.getFieldValue('OUTPUTTYPE');\r\n let value = Blockly.JavaScript.valueToCode(block, 'VALUE', Blockly.JavaScript.ORDER_NONE);\r\n let parseFunction = outputType == \"integer\" ? \"parseInt\" : \"parseFloat\";\r\n let code = `(() => {\r\n var value = ${parseFunction}(${value});\r\n if (isNaN(value))\r\n value = 0;\r\n `;\r\n if (outputType == \"decimals\") {\r\n let decimals = Blockly.JavaScript.valueToCode(block, 'DECIMALS', Blockly.JavaScript.ORDER_NONE);\r\n code += `value = value.toFixed(${decimals});\r\n `;\r\n }\r\n code += `return value;\r\n })()`;\r\n return [code, Blockly.JavaScript.ORDER_ATOMIC]\r\n }\r\n }\r\n}\r\nconst MathToNumber = function (props) {\r\n let name = 'math_to_number';\r\n Blockly.Blocks[name] = defineBlock(props.context);\r\n let generators = defineGenerators(props.context);\r\n for (let i in generators) {\r\n Blockly[i][name] = generators[i];\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n 1.234\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default MathToNumber","/* global Blockly */\r\nimport React, { Component } from 'react';\r\n\r\n// replace RountToDecimal 'math_round_to_decimal', 'math'\r\n\r\nclass RoundToDecimal extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n // Often want some shared variables for defining the block and its generator(s) -> eg. a list of\r\n // all checkboxes for a block pertaining only to checkboxes. Define them as attributes of this.vars\r\n // then will be easier to translate these components to the backend.\r\n this.vars = {};\r\n\r\n Blockly.Blocks['math_round_to_decimal'] = this.block(this.props.context);\r\n\r\n let generators = this.generators(this.props.context);\r\n for(let i in generators){\r\n Blockly[i]['math_round_to_decimal'] = generators[i]\r\n }\r\n }\r\n\r\n\r\n // Everything should be in ES5\r\n block() {\r\n return {\r\n init:function(){\r\n this.appendValueInput(\"VALUE\")\r\n .appendField(\"round\")\r\n .setCheck(\"Number\");\r\n this.appendValueInput(\"DECIMALS\")\r\n .appendField(\"to\")\r\n .setCheck(\"Number\");\r\n this.appendDummyInput()\r\n .appendField(\"decimals\");\r\n // Provide values for all of these\r\n this.setPreviousStatement(false);\r\n this.setNextStatement(false);\r\n this.setOutput(true,\"Number\"); // add appropriate checks\r\n this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);\r\n this.setColour(Blockly.Msg.MATH_HUE);\r\n this.setTooltip('round a value to the specified number of decimal places');\r\n this.setHelpUrl(Blockly.BASE_HELP_URL+'#math');\r\n }\r\n }\r\n }\r\n\r\n // Everything should be in ES5\r\n generators() {\r\n return {\r\n 'JavaScript': function (block) {\r\n let val = Blockly.JavaScript.valueToCode(block, 'VALUE', Blockly.JavaScript.ORDER_NONE);\r\n let decimals = Blockly.JavaScript.valueToCode(block, 'DECIMALS', Blockly.JavaScript.ORDER_NONE);\r\n let multiplier = 'Math.pow(10,'+decimals+')';\r\n let code = '(Math.round(toNumber('+val+')*'+multiplier+')/'+multiplier+')';\r\n return [code, Blockly.JavaScript.ORDER_ATOMIC]\r\n }\r\n }\r\n }\r\n\r\n defaultXml() {\r\n return ()\r\n }\r\n\r\n // Should return null if block shouldn't appear in toolbox\r\n render(){\r\n return (\r\n \r\n 0.123\r\n 2\r\n \r\n )\r\n }\r\n}\r\n\r\nRoundToDecimal.category = 'Math';\r\n\r\nexport default RoundToDecimal","import React from 'react'\r\nimport MathToNumber from './MathToNumber';\r\nimport RoundToDecimal from \"./RoundToDecimal\";\r\n\r\n// Math, math, math\r\n\r\nconst Math = function() {\r\n return (\r\n \r\n \r\n \r\n 123\r\n \r\n \r\n \r\n \r\n 1\r\n \r\n \r\n \r\n \r\n 1\r\n \r\n \r\n \r\n \r\n \r\n \r\n 9\r\n \r\n \r\n \r\n \r\n \r\n \r\n 45\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 3.1\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 64\r\n \r\n \r\n \r\n \r\n 10\r\n \r\n \r\n \r\n \r\n \r\n \r\n 50\r\n \r\n \r\n \r\n \r\n 1\r\n \r\n \r\n \r\n \r\n 100\r\n \r\n \r\n \r\n \r\n \r\n \r\n 1\r\n \r\n \r\n \r\n \r\n 100\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default Math;","import React from 'react'\r\nimport _ from \"underscore\";\r\n\r\nconst Text = function(props){\r\n return (\r\n \r\n \r\n { _.values(props.blocks).map((Block, id) => ) }\r\n \r\n )\r\n}\r\n\r\nexport default Text;","import React from 'react'\r\nimport _ from \"underscore\";\r\n\r\nconst Lists = function(props){\r\n return (\r\n \r\n \r\n { _.values(props.blocks).map((Block, id) => ) }\r\n \r\n )\r\n}\r\n\r\nexport default Lists;","import React from 'react'\r\nimport _ from \"underscore\";\r\n\r\n// Colour, Colour, colour, colour\r\nconst Colour = (props) => {\r\n if(!props.context) return null;\r\n\r\n return (\r\n \r\n \r\n { _.values(props.blocks).map((Block, id) => ) }\r\n \r\n )\r\n};\r\n\r\nexport default Colour","import React from 'react';\r\nimport _ from \"underscore\";\r\n\r\nconst Debug = (props) => {\r\n // [BreakPoint, StepThrough, Log].forEach(block => block({ context: props.context }));\r\n\r\n return (\r\n \r\n \r\n )\r\n};\r\n\r\nexport default Debug;","var util = {};\r\n\r\nutil.flatten = function(array){\r\n let l = [];\r\n for (let i = 0; i < array.length; i++) {\r\n if(array[i] instanceof Array){\r\n l = l.concat(util.flatten(array[i]))\r\n } else{\r\n l.push(array[i])\r\n }\r\n }\r\n return l\r\n};\r\n\r\nutil.contextHasWidget = function(context,type){\r\n return util.widgetsOfType(context,type).length>0;\r\n}\r\n\r\nutil.widgetsOfType = function(context, type){\r\n let allWidgets = context.pages.map(function(page){\r\n return page.widgets.map(function(widget){\r\n widget.page = {name:page.name,id: page.id, formName:page.formName};\r\n return widget\r\n });\r\n });\r\n let flattened = util.flatten(allWidgets);\r\n let filtered = flattened.filter(function(x){return !type || x.type === type});\r\n return filtered;\r\n};\r\n\r\nutil.parseString = function(str){\r\n if(typeof str !== 'string'){\r\n return ''+str\r\n }\r\n\r\n if((str[0]===\"'\" && str[str.length-1]===\"'\") || (str[0] === '\"' && str[str.length-1] === '\"') ){\r\n str = str.substring(1);\r\n str = str.substring(0,str.length-1);\r\n }\r\n return str\r\n}\r\n\r\n\r\nutil.displayPageName = function (page){\r\n if(page.formName){\r\n return page.formName + \" > \" + page.name\r\n }\r\n else {\r\n return page.name\r\n }\r\n}\r\n\r\nutil.trimmedPageName = function (page, length){\r\n let halfLen = Math.floor(length/2);\r\n let pageName;\r\n\r\n if(page.name.length>halfLen){\r\n pageName = page.name.substring(0,halfLen-2) + \"...\" + page.name.substring(page.name.length-(halfLen+1),page.name.length);\r\n } else{\r\n pageName = page.name;\r\n }\r\n\r\n if(page.formName){\r\n let formName;\r\n if(page.formName.length>halfLen){\r\n formName = page.formName.substring(0,halfLen-2) + \"...\" + page.formName.substring(page.formName.length-(halfLen+1),page.formName.length);\r\n } else{\r\n formName = page.formName;\r\n }\r\n return formName + \" > \" + pageName;\r\n }\r\n\r\n return pageName;\r\n}\r\n\r\nexport default util","/* global Blockly */\r\n/* global Util */\r\n/* global $ */\r\nimport React from 'react';\r\n\r\n\r\nfunction getSuccessStr(id,evalStr){\r\n return '' +\r\n 'function(data,status,xhr){\\n' +\r\n 'var ResponseScope = ResponseScope || {};\\n' +\r\n 'ResponseScope[\\''+id+'\\'] = data;\\n' +\r\n evalStr +\r\n '}';\r\n}\r\n\r\nfunction getErrorStr(id,evalStr){\r\n return '' +\r\n 'function(xhr){\\n' +\r\n 'var ResponseScope = ResponseScope || {};\\n' +\r\n 'ResponseScope[\\''+id+'\\'] = xhr;\\n' +\r\n evalStr +\r\n '\\n}';\r\n}\r\n\r\nfunction getTestDom(requestSpec, callback){\r\n var container = Util.dom('div', {class:'rest-service-test'});\r\n var explanation = Util.dom('div',{innerText:'Click \\'test\\' to confirm that your request is properly configured. Note: this will invoke the service.'});\r\n var test = Util.dom('input',{type:'button',value:'test'});\r\n var txt = Util.dom('div',{innerText:'Response:'});\r\n var responseArea = Util.dom('textarea',{class:'responseArea',readonly:true});\r\n var buttons = Util.dom('div');\r\n var cancel = Util.dom('input',{type:'button',value:'cancel',style:'color:black;background-color:rgb(237,240,241)'});\r\n var done = Util.dom('input',{type:'button',value:'done', style:'background-color:rgb(222,222,222);color:white;', disabled:true});\r\n buttons.appendChild(cancel);\r\n buttons.appendChild(done);\r\n container.appendChild(explanation);\r\n container.appendChild(test);\r\n container.appendChild(txt);\r\n container.appendChild(responseArea);\r\n container.appendChild(buttons);\r\n cancel.addEventListener('click',function(){\r\n callback();\r\n });\r\n requestSpec.success = function(data){\r\n responseArea.innerHTML = JSON.stringify(data,null,2);\r\n done.removeAttribute('disabled');\r\n done.style.backgroundColor = 'rgb(30, 173, 138)';\r\n done.addEventListener('click',function(){\r\n callback(data);\r\n })\r\n };\r\n requestSpec.error = function(xhrErr, statusErr, errorMessage){\r\n var errStr = 'An error occurred: ' + xhrErr.status;\r\n if(errorMessage){\r\n errStr += ' - '+errorMessage;\r\n }\r\n responseArea.innerText = errStr;\r\n };\r\n test.addEventListener('click',function(){\r\n $.ajax(requestSpec)\r\n });\r\n return container\r\n}\r\n\r\n\r\nfunction validateBlock(block) {\r\n var l = [];\r\n var isValid = block.type !== 'variables_get' && block.type !== 'getter';\r\n l.push(isValid);\r\n\r\n if (!isValid) {\r\n block.setWarningText('This value can only be known at runtime. Please substitute this for a different block for testing your API call');\r\n var blockOnchange = block.onchange;\r\n block.setOnChange(function (x) {\r\n if (x.blockId === block.id && (x.element !== 'warningOpen')) {\r\n block.setWarningText(false);\r\n block.setOnChange(blockOnchange);\r\n }\r\n }.bind(this));\r\n }\r\n\r\n block.getChildren().forEach(function (child) {\r\n l.push(validateBlock(child));\r\n }.bind(this));\r\n return l.reduce(function (acc, cv) {\r\n return acc && cv\r\n });\r\n}\r\n\r\nfunction defineBlock() {\r\n return {\r\n headers: 0,\r\n queryStrings: 0,\r\n init: function () {\r\n this.responseJsonStructure = {}\r\n this.setColour(Blockly.Msg.CONNECTIONS_HUE)\r\n\r\n this.appendDummyInput()\r\n .appendField(\"get web resource\")\r\n this.appendValueInput(\"URL\").appendField(\"URL\").setOnNewRow(true)\r\n this.appendDummyInput(\"TEST\")\r\n .appendField(new Blockly.FieldButton(\" Test \", undefined, function () {\r\n this.openTestPage()\r\n }.bind(this)), \"TEST\")\r\n .setOnNewRow(true)\r\n this.appendValueInput(\"SUCCESS_PARAM\")\r\n .appendField(\"On Success with:\")\r\n .setOnNewRow(true)\r\n this.appendStatementInput('SUCCESS')\r\n this.appendValueInput(\"ERROR_PARAM\")\r\n .appendField(\"On error with:\")\r\n this.appendStatementInput('ERROR')\r\n this.setTooltip('Get a resource from the provided URL.');\r\n this.setHelpUrl(Blockly.BASE_HELP_URL + \"#connections\");\r\n this.setPreviousStatement(true, null);\r\n this.setOnChange(this.changeHandler)\r\n },\r\n changeHandler: function () {\r\n let errParam = this.getInput(\"ERROR_PARAM\")\r\n let successParam = this.getInput(\"SUCCESS_PARAM\")\r\n if (!successParam.connection.isConnected()) {\r\n let block = this.createSuccessResponseBlock(this.workspace)\r\n successParam.connection.connect(block.outputConnection)\r\n } else {\r\n successParam.connection.targetBlock().setParentId(this.id)\r\n }\r\n\r\n if (!errParam.connection.isConnected()) {\r\n let block = this.createErrorResponseBlock(this.workspace)\r\n errParam.connection.connect(block.outputConnection)\r\n } else {\r\n errParam.connection.targetBlock().setParentId(this.id)\r\n }\r\n },\r\n createSuccessResponseBlock: function (ws) {\r\n ws = ws || this.workspace\r\n let jsonBlock = ws.newBlock(\"request_response_parameter\")\r\n jsonBlock.setLabel('response data')\r\n jsonBlock.setParentId(this.id)\r\n jsonBlock.setJsonStructure(this.responseJsonStructure || {});\r\n if (this.rendered) {\r\n jsonBlock.initSvg();\r\n jsonBlock.render();\r\n }\r\n return jsonBlock;\r\n },\r\n createErrorResponseBlock: function (ws) {\r\n ws = ws || this.workspace\r\n let jsonBlock = ws.newBlock(\"request_response_parameter\")\r\n jsonBlock.setLabel('error data')\r\n jsonBlock.setParentId(this.id)\r\n jsonBlock.setJsonStructure({\"readyState\": 4, \"responseText\": \"\", \"status\": 404, \"statusText\": \"Not Found\"});\r\n if (this.rendered) {\r\n jsonBlock.initSvg();\r\n jsonBlock.render();\r\n }\r\n return jsonBlock;\r\n },\r\n openTestPage: function () {\r\n // Necessary to make sure variableDb is initialized\r\n Blockly.JavaScript.init(Blockly.mainWorkspace);\r\n\r\n Blockly.WidgetDiv.hide();\r\n Blockly.WidgetDiv.show(this);\r\n\r\n let testField = this.getField('TEST');\r\n let viewportBBox = Blockly.utils.getViewportBBox();\r\n let anchorBBox = testField.getScaledBBox_();\r\n let dom;\r\n\r\n let urlBlock = this.getInput('URL').connection.targetBlock();\r\n let urlValidated = validateBlock(urlBlock);\r\n if (!urlValidated) {\r\n dom = Util.dom('div', {\r\n innerHTML: 'The provided URL cannot be determined until runtime. Please provide a default value for blocks with warnings to test.',\r\n style: 'height:0px;padding:0px;transition: all 0.15s ease; background-color:rgb(130,130,130,0.1);color:white'\r\n });\r\n Blockly.WidgetDiv.positionWithAnchor(viewportBBox, anchorBBox, {\r\n width: dom.offsetWidth,\r\n height: dom.offsetHeight\r\n }, false);\r\n Blockly.WidgetDiv.DIV.style.padding = '0px';\r\n Blockly.WidgetDiv.DIV.style.width = 'auto';\r\n Blockly.WidgetDiv.DIV.style.height = 'auto';\r\n setTimeout(function () {\r\n dom.style.height = 'auto';\r\n dom.style.padding = '7px';\r\n dom.style.backgroundColor = 'rgb(130,130,130)'\r\n }, 1);\r\n setTimeout(function () {\r\n Blockly.WidgetDiv.hide();\r\n }, 4000);\r\n } else {\r\n let dimensions = {height: 300, width: 500};\r\n Blockly.WidgetDiv.positionWithAnchor(viewportBBox, anchorBBox, dimensions, false);\r\n Blockly.WidgetDiv.DIV.style.width = dimensions.width + \"px\";\r\n Blockly.WidgetDiv.DIV.style.height = dimensions.height + \"px\";\r\n let requestSpec = this.getRequestSpec();\r\n dom = getTestDom(requestSpec, function (responseData) {\r\n Blockly.WidgetDiv.hide();\r\n if (responseData) {\r\n this.responseJsonStructure = responseData;\r\n let block = this.createSuccessResponseBlock()\r\n let successParamInput = this.getInput(\"SUCCESS_PARAM\")\r\n successParamInput.connection.targetBlock().dispose()\r\n successParamInput.connection.connect(block.outputConnection)\r\n }\r\n }.bind(this));\r\n }\r\n Blockly.WidgetDiv.DIV.appendChild(dom);\r\n },\r\n // gets a request object for an ajax, without success or failure callbacks (for test popup)\r\n getRequestSpec: function () {\r\n let url = Util.parseString(Blockly.JavaScript.valueToCode(this, \"URL\", Blockly.JavaScript.ORDER_NONE))\r\n let r = {\r\n async: true,\r\n crossDomain: true,\r\n url: url,\r\n method: \"GET\",\r\n dataType: 'json',\r\n contentType: 'application/json',\r\n }\r\n return r\r\n }\r\n }\r\n}\r\n\r\nfunction defineGenerators() {\r\n return {\r\n 'JavaScript': function (block) {\r\n let url = Blockly.JavaScript.valueToCode(this, \"URL\", Blockly.JavaScript.ORDER_NONE);\r\n let props = '' +\r\n '{\\n' +\r\n 'async:true,\\n' +\r\n 'crossDomain:true,\\n' +\r\n 'dataType:\\'json\\',' +\r\n 'contentType:\\'application/json\\',\\n' +\r\n 'url:' + url + ',\\n' +\r\n 'method:\\'GET\\'\\n' +\r\n '}';\r\n\r\n let success = Blockly.JavaScript.statementToCode(block, 'SUCCESS');\r\n let successAsStr = getSuccessStr(this.id, success);\r\n let error = Blockly.JavaScript.statementToCode(block, 'ERROR');\r\n let errorAsStr = getErrorStr(this.id, error);\r\n let propsStr = props;\r\n propsStr = propsStr.slice(0, -1) + \", success: \" + successAsStr + \"}\";\r\n propsStr = propsStr.slice(0, -1) + \", error: \" + errorAsStr + \"}\";\r\n let execute = '$.ajax(' + propsStr + ');'\r\n return execute\r\n }\r\n }\r\n}\r\n\r\nconst SimpleRestService = function (props) {\r\n const name = 'rest_get_simple';\r\n Blockly.Blocks[name] = defineBlock(props.context);\r\n\r\n let generators = defineGenerators(props.context);\r\n for (let i in generators) {\r\n Blockly[i][name] = generators[i]\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n};\r\n\r\nexport default SimpleRestService;","/* global Blockly */\r\n/* global $ */\r\n/* global Util */\r\nimport React from 'react';\r\nimport RestCore from \"../AssistingBlocks/RestCore\";\r\n\r\nconst RestService = function (prop) {\r\n const name = 'rest_service';\r\n\r\n let blockInstance = RestCore(prop);\r\n Object.assign(blockInstance, {\r\n\r\n init: function() {\r\n // customization\r\n this.coreColor = Blockly.Msg.CONNECTIONS_HUE;\r\n this.setColour(Blockly.Msg.CONNECTIONS_HUE);\r\n \r\n // expand/collapse button\r\n this.initToggleButton();\r\n\r\n // block header: rest method selector and url\r\n this.initRestUrl(false /* use all four verbs */, false /* do not put on new row */);\r\n\r\n // init header tabs and rest parameters\r\n this.initHeaderTabs();\r\n\r\n // init \"test\" button\r\n this.appendDummyInput('TEST')\r\n .appendField(new Blockly.FieldButton( 'Set Schema', this.testButton, function(){\r\n this.openTestPage();\r\n }.bind(this)),'TEST')\r\n .setOnNewRow(true);\r\n\r\n // init success/error blocks\r\n this.initRestResults();\r\n\r\n this.setPreviousStatement(true, null);\r\n this.setNextStatement(true, null);\r\n this.setTooltip('Invoke a RESTful API request.');\r\n this.setHelpUrl(Blockly.BASE_HELP_URL+\"#connections\");\r\n this.setOnChange(this.changeHandler);\r\n },\r\n\r\n // render default state for \"delete/edit row for table view\" action\r\n initTableViewAction(method) {\r\n // selected method\r\n this.setFieldValue(method, 'METHOD');\r\n \r\n // create text function for url/id\r\n let urlBlock = this.workspace.newBlock(\"text_join\");\r\n var urlTextBlock = this.workspace.newBlock(\"fixed_width_text\")\r\n urlTextBlock.setDisplayWidth(39);\r\n urlTextBlock.setShadow(true);\r\n urlBlock.inputList[1].connection.connect(urlTextBlock.outputConnection);\r\n var urlIdBlock = this.workspace.newBlock(\"fixed_width_text\")\r\n urlIdBlock.setDisplayWidth(9);\r\n urlIdBlock.setShadow(true);\r\n urlBlock.inputList[2].connection.connect(urlIdBlock.outputConnection);\r\n let urlInput = this.getInput('URL');\r\n urlInput.connection.connect(urlBlock.outputConnection);\r\n setTimeout(function() {\r\n // amatveev: if any input block is placed in first row of this block, its text bubble is not rendered for some reason\r\n // rendering it again or moving by moveInputBefore fixes it; the underlying issue is still unknown\r\n urlTextBlock.initSvg();\r\n urlTextBlock.render();\r\n urlIdBlock.initSvg();\r\n urlIdBlock.render();\r\n urlBlock.initSvg();\r\n urlBlock.render();\r\n });\r\n\r\n // render username and password\r\n let usernameBlock = this.workspace.newBlock(\"fixed_width_text\");\r\n usernameBlock.setDisplayWidth(29);\r\n usernameBlock.setShadow(true);\r\n this.getInput('USERNAME').connection.connect(usernameBlock.outputConnection);\r\n let passwordBlock = this.workspace.newBlock(\"password_text\");\r\n passwordBlock.setDisplayWidth(29);\r\n passwordBlock.setShadow(true);\r\n this.getInput('PASSWORD').connection.connect(passwordBlock.outputConnection);\r\n\r\n // render rest_params for url blocks\r\n let headersBlock = this.workspace.newBlock(\"rest_params\");\r\n this.getInput('HEADERS').connection.connect(headersBlock.outputConnection);\r\n let queryStringsBlock = this.workspace.newBlock(\"rest_params\");\r\n this.getInput('QUERY_STRINGS').connection.connect(queryStringsBlock.outputConnection);\r\n let dataBlock = this.workspace.newBlock(\"rest_params\");\r\n this.getInput('DATA').connection.connect(dataBlock.outputConnection);\r\n\r\n // render raw data\r\n let rawBlock = this.workspace.newBlock(\"rest-raw-data\");\r\n this.getInput('RAWDATA').connection.connect(rawBlock.outputConnection);\r\n \r\n // render\r\n this.initSvg();\r\n this.render();\r\n },\r\n\r\n domToMutation: function(xml) { \r\n this.domToMutationCore(xml);\r\n },\r\n\r\n mutationToDom: function() {\r\n var mutationObj = this.mutationToDomCore();\r\n let mutation = Util.dom(\"mutation\", mutationObj);\r\n return mutation;\r\n },\r\n \r\n changeHandler: function(event) {\r\n this.changeHandlerCore(event);\r\n },\r\n\r\n // run test request\r\n openTestPage: function() {\r\n this.openTestPageCore(prop.context);\r\n },\r\n\r\n openHelpPage: function(){\r\n Blockly.WidgetDiv.hide();\r\n Blockly.WidgetDiv.show(this);\r\n let dom;\r\n dom = Util.dom('iframe', {src:\"http://localhost:3000/docs#connections\", position: 'absolute',width: '800px', height: '900px'})\r\n Blockly.WidgetDiv.DIV.style.right = 0;\r\n Blockly.WidgetDiv.DIV.style.width = 'auto';\r\n Blockly.WidgetDiv.DIV.style.height = 'auto';\r\n Blockly.WidgetDiv.DIV.appendChild(dom);\r\n },\r\n });\r\n \r\n Blockly.Blocks[name] = blockInstance;\r\n\r\n Blockly.JavaScript[name] = function(block) {\r\n let success = Blockly.JavaScript.statementToCode(block, 'SUCCESS');\r\n success += `// indicate that we have finished loading records successfully\r\n if (BlocklyModule && BlocklyModule.onRestAjaxFinished)\r\n BlocklyModule.onRestAjaxFinished(true);`;\r\n let error = Blockly.JavaScript.statementToCode(block, 'ERROR');\r\n error += `// indicate that we have finished loading records with error\r\n if (BlocklyModule && BlocklyModule.onRestAjaxFinished)\r\n BlocklyModule.onRestAjaxFinished(false);`;\r\n return block.getJavascriptCore(prop.context, success, error, true);\r\n };\r\n\r\n return (\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\n \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\n \r\n )\r\n};\r\n\r\nexport default RestService;\r\n","/* global Blockly */\r\nimport util from \"../../../utils/es5Utils\";\r\nimport SimpleRestService from \"../Connections/SimpleRestService\";\r\nimport RestService from \"../Connections/RestService\";\r\n\r\nimport _ from 'underscore'\r\n\r\nconst Legacy = function(props){\r\n var widgets = util.widgetsOfType(props.context,'textbox');\r\n var widgetNames = _.map(widgets,x=>{\r\n let occurrences = _.filter(widgets,y=>{return x.name===y.name}).length;\r\n let name = occurrences>1?x.name+` (${x.pageName})`:x.name;\r\n return [name,x.id]\r\n });\r\n\r\n widgetNames = widgetNames.length>0?widgetNames:[['< no textboxes >','none']];\r\n\r\n Blockly.Blocks['setter'] = {\r\n init(){\r\n this.appendValueInput('VALUE')\r\n .appendField(\"Set\")\r\n .appendField(new Blockly.FieldDropdown(widgetNames),\"ID\")\r\n .appendField(\"to\");\r\n this.setPreviousStatement(true,null);\r\n this.setNextStatement(true,null);\r\n this.setColour(Blockly.Msg.WIDGET_VALUES_HUE);\r\n this.setTooltip('Set the text inside a text box.');\r\n this.setHelpUrl(Blockly.BASE_HELP_URL+'#widget-values');\r\n }\r\n };\r\n\r\n Blockly.JavaScript['setter'] = function(block){\r\n let id = block.getFieldValue('ID');\r\n let value = Blockly.JavaScript.valueToCode(block, 'VALUE', Blockly.JavaScript.ORDER_NONE);\r\n let code = `document.getElementById('${id}').value = ${value};`;\r\n return code;\r\n };\r\n\r\n Blockly.Blocks['getter'] = {\r\n init(){\r\n this.appendDummyInput('VALUE')\r\n .appendField(\"get\")\r\n .appendField(new Blockly.FieldDropdown(widgetNames),\"ID\");\r\n this.setPreviousStatement(false);\r\n this.setNextStatement(false);\r\n this.setOutput(true);\r\n this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);\r\n this.setColour(Blockly.Msg.WIDGET_VALUES_HUE);\r\n this.setTooltip('Get the text inside a text box.');\r\n this.setHelpUrl(Blockly.BASE_HELP_URL+'#widget-values');\r\n }\r\n };\r\n\r\n Blockly.JavaScript['getter'] = function(block){\r\n let id = block.getFieldValue('ID');\r\n return [`document.getElementById('${id}').value`, Blockly.JavaScript.ORDER_NONE];\r\n }\r\n\r\n SimpleRestService(props.context);\r\n RestService(props.context);\r\n\r\n return null;\r\n}\r\nexport default Legacy","/* global Blockly */\r\nimport React from 'react';\r\nimport _ from \"underscore\";\r\nimport parse from \"html-react-parser\";\r\n\r\nconst MyBlockSearch = ({ libraries: libraryObj }) => {\r\n if (_.isEmpty(libraryObj)) { return null; }\r\n let libraries = [];\r\n\r\n function _getParsedBlocksFromLibrary (library) {\r\n return _.values(library.childComponents).map(block => {\r\n const {xml} = block.component;\r\n if (xml) {\r\n const parsedBlock = Blockly.Xml.textToDom(xml);\r\n let xmlText = \"\";\r\n\r\n if (parsedBlock.getElementsByTagName(\"variables\").length > 0) {\r\n let blockXml = parsedBlock.getElementsByTagName(\"variables\")[0];\r\n xmlText += Blockly.Xml.domToText(blockXml);\r\n }\r\n\r\n if (parsedBlock.getElementsByTagName(\"block\").length > 0) {\r\n let blockXml = parsedBlock.getElementsByTagName(\"block\")[0];\r\n blockXml.firstChild.setAttribute('code', block.code);\r\n xmlText += Blockly.Xml.domToText(blockXml);\r\n }\r\n\r\n return xmlText\r\n }\r\n\r\n return null;\r\n });\r\n }\r\n\r\n _.keys(libraryObj).map((libraryKey) => {\r\n libraries.push({\r\n name: libraryKey,\r\n parsedBlocks: _getParsedBlocksFromLibrary(libraryObj[libraryKey])\r\n })\r\n });\r\n\r\n function removeSelfClosingTags(xml) {\r\n let split = xml.split(\"/>\");\r\n let newXml = \"\";\r\n for (let i = 0; i < split.length - 1;i++) {\r\n let edsplit = split[i].split(\"<\");\r\n newXml += split[i] + \">\";\r\n }\r\n return newXml + split[split.length-1];\r\n }\r\n\r\n return libraries.map(library => {\r\n return (\r\n <>\r\n