-
-
Save ajot/d46a7a01f2cc6c50aa31c369a9f97ae3 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{"name":"1-Lego Sets Per Year (Shared)","description":null,"organizationId":275732,"isEnabled":false,"crontab":"0 0 * * *","timezone":"America/New_York","blockData":[{"top":48,"left":48,"uuid":"994490cc-9c93-4bd0-b12e-5e075758547e","comment":{"body":"This is the entry point for the workflow. ","visible":true,"pluginId":"startTrigger-comment"},"options":{"crontab":"0 0 * * *","timezone":"America/New_York","scheduleType":"interval"},"pluginId":"startTrigger","blockType":"schedule","editorType":"JavascriptQuery","environment":"production","isMinimized":false,"resourceName":"schedule","incomingOnSuccessEdges":[]},{"top":48,"left":560,"uuid":"a3dc06c3-be2e-4b65-9ce7-580e881027ec","comment":{"body":"Get the Lego sets data from Retool Database","visible":true,"pluginId":"getLegoSetsData-comment"},"pluginId":"getLegoSetsData","blockType":"default","editorType":"SqlQueryUnified","environment":"production","resourceName":"e6126c69-42db-442e-bd1e-e3a838fcfc06","incomingOnSuccessEdges":["994490cc-9c93-4bd0-b12e-5e075758547e"]},{"top":48,"left":1072,"uuid":"9f8da8bf-ce89-4179-84ba-d68c36552a42","comment":{"body":"Analyze the data using Pandas, and generate a bar plot using Seaborn, and Matplotlib.","visible":true,"pluginId":"legoSetsPerYear-comment"},"pluginId":"legoSetsPerYear","blockType":"code","dimensions":{"width":666,"height":880},"editorType":"PythonQuery","environment":"production","resourceName":"PythonQuery","incomingOnSuccessEdges":["a3dc06c3-be2e-4b65-9ce7-580e881027ec"]},{"top":960,"left":1584,"uuid":"f0b60629-69fd-45d9-9d1f-5cd6b58d6745","comment":{"body":"Upload the image file to Amazon S3 Bucket","visible":true,"pluginId":"UploadToAmazonS3Bucket-comment"},"pluginId":"UploadToAmazonS3Bucket","blockType":"default","editorType":"S3Query","environment":"production","resourceName":"e0aa33e2-ff6e-47ec-b2b9-e383e32fef8b","incomingOnSuccessEdges":["9f8da8bf-ce89-4179-84ba-d68c36552a42"]},{"top":960,"left":2608,"uuid":"5789d836-cb1b-4016-8b6c-1301670da5f6","comment":{"body":"Include the URL for the image in an email configured using SendGrid","visible":true,"pluginId":"sendEmail-comment"},"pluginId":"sendEmail","blockType":"default","editorType":"OpenAPIQuery","environment":"production","resourceName":"6180d747-3abf-4092-8ad1-bd9db24364e7","incomingOnSuccessEdges":["b7355bd2-4dcf-4f4f-8b47-c20cb036dd58"]},{"top":960,"left":2096,"uuid":"b7355bd2-4dcf-4f4f-8b47-c20cb036dd58","comment":{"body":"Extract the S3 URL from the response sent by Amazon S3","visible":true,"pluginId":"getS3URL-comment"},"pluginId":"getS3URL","blockType":"code","dimensions":{"width":452,"height":338},"editorType":"PythonQuery","environment":"production","resourceName":"PythonQuery","incomingOnSuccessEdges":["f0b60629-69fd-45d9-9d1f-5cd6b58d6745"]}],"templateData":"[\"~#iR\",[\"^ \",\"n\",\"appTemplate\",\"v\",[\"^ \",\"isFetching\",false,\"plugins\",[\"~#iOM\",[\"startTrigger\",[\"^0\",[\"^ \",\"n\",\"pluginTemplate\",\"v\",[\"^ \",\"id\",\"startTrigger\",\"type\",\"datasource\",\"subtype\",\"JavascriptQuery\",\"namespace\",null,\"resourceName\",\"JavascriptQuery\",\"resourceDisplayName\",null,\"template\",[\"^3\",[\"queryRefreshTime\",\"\",\"lastReceivedFromResourceAt\",null,\"queryDisabledMessage\",\"\",\"servedFromCache\",false,\"offlineUserQueryInputs\",\"\",\"successMessage\",\"\",\"queryDisabled\",\"\",\"playgroundQuerySaveId\",\"latest\",\"workflowParams\",null,\"resourceNameOverride\",\"\",\"runWhenModelUpdates\",false,\"showFailureToaster\",true,\"query\",\"return undefined\",\"playgroundQueryUuid\",\"\",\"playgroundQueryId\",null,\"error\",null,\"privateParams\",[\"~#iL\",[]],\"runWhenPageLoadsDelay\",\"\",\"data\",null,\"importedQueryInputs\",[\"^3\",[]],\"isImported\",false,\"showSuccessToaster\",true,\"cacheKeyTtl\",\"\",\"requestSentTimestamp\",null,\"metadata\",null,\"queryRunTime\",null,\"changesetObject\",\"\",\"errorTransformer\",\"// The variable 'data' allows you to reference the request's data in the transformer. \\n// example: return data.find(element => element.isError)\\nreturn data.error\",\"finished\",null,\"confirmationMessage\",null,\"isFetching\",false,\"changeset\",\"\",\"rawData\",null,\"queryTriggerDelay\",\"0\",\"resourceTypeOverride\",null,\"watchedParams\",[\"^:\",[]],\"enableErrorTransformer\",false,\"showLatestVersionUpdatedWarning\",false,\"timestamp\",0,\"evalType\",\"script\",\"importedQueryDefaults\",[\"^3\",[]],\"enableTransformer\",false,\"showUpdateSetValueDynamicallyToggle\",true,\"runWhenPageLoads\",false,\"transformer\",\"// type your code here\\n// example: return formatDataAsArray(data).filter(row => row.quantity > 20)\\nreturn data\",\"events\",[\"^:\",[]],\"queryTimeout\",\"10000\",\"workflowId\",null,\"requireConfirmation\",false,\"queryFailureConditions\",\"\",\"changesetIsObject\",false,\"enableCaching\",false,\"allowedGroups\",[\"^:\",[]],\"offlineQueryType\",\"None\",\"queryThrottleTime\",\"750\",\"updateSetValueDynamically\",false,\"notificationDuration\",\"\"]],\"style\",null,\"position2\",null,\"mobilePosition2\",null,\"mobileAppPosition\",null,\"tabIndex\",null,\"container\",\"\",\"createdAt\",\"~m1681759938931\",\"updatedAt\",\"~m1682100145615\",\"folder\",\"\",\"screen\",null]]],\"getLegoSetsData\",[\"^0\",[\"^ \",\"n\",\"pluginTemplate\",\"v\",[\"^ \",\"id\",\"getLegoSetsData\",\"^4\",\"datasource\",\"^5\",\"SqlQueryUnified\",\"^6\",null,\"^7\",\"e6126c69-42db-442e-bd1e-e3a838fcfc06\",\"^8\",null,\"^9\",[\"^3\",[\"queryRefreshTime\",\"\",\"records\",\"\",\"lastReceivedFromResourceAt\",null,\"databasePasswordOverride\",\"\",\"queryDisabledMessage\",\"\",\"servedFromCache\",false,\"offlineUserQueryInputs\",\"\",\"successMessage\",\"\",\"queryDisabled\",\"\",\"playgroundQuerySaveId\",\"latest\",\"workflowParams\",null,\"resourceNameOverride\",\"\",\"runWhenModelUpdates\",false,\"showFailureToaster\",true,\"query\",\"select * from sets\",\"playgroundQueryUuid\",\"\",\"playgroundQueryId\",null,\"error\",null,\"privateParams\",[\"^:\",[]],\"runWhenPageLoadsDelay\",\"\",\"warningCodes\",[\"^:\",[]],\"data\",null,\"recordId\",\"\",\"importedQueryInputs\",[\"^3\",[]],\"isImported\",false,\"showSuccessToaster\",true,\"dataArray\",[\"^:\",[]],\"cacheKeyTtl\",\"\",\"filterBy\",\"\",\"requestSentTimestamp\",null,\"databaseHostOverride\",\"\",\"metadata\",null,\"editorMode\",\"sql\",\"queryRunTime\",null,\"actionType\",\"\",\"changesetObject\",\"\",\"shouldUseLegacySql\",false,\"errorTransformer\",\"// The variable 'data' allows you to reference the request's data in the transformer. \\n// example: return data.find(element => element.isError)\\nreturn data.error\",\"finished\",null,\"databaseNameOverride\",\"\",\"confirmationMessage\",null,\"isFetching\",false,\"changeset\",\"\",\"rawData\",null,\"queryTriggerDelay\",\"0\",\"resourceTypeOverride\",null,\"watchedParams\",[\"^:\",[]],\"enableErrorTransformer\",false,\"enableBulkUpdates\",false,\"showLatestVersionUpdatedWarning\",false,\"timestamp\",0,\"evalType\",\"script\",\"importedQueryDefaults\",[\"^3\",[]],\"enableTransformer\",false,\"showUpdateSetValueDynamicallyToggle\",true,\"bulkUpdatePrimaryKey\",\"\",\"runWhenPageLoads\",false,\"transformer\",\"// type your code here\\n// example: return formatDataAsArray(data).filter(row => row.quantity > 20)\\nreturn data\",\"events\",[\"^:\",[]],\"tableName\",\"\",\"queryTimeout\",\"120000\",\"workflowId\",null,\"requireConfirmation\",false,\"queryFailureConditions\",\"\",\"changesetIsObject\",false,\"enableCaching\",false,\"allowedGroups\",[\"^:\",[]],\"databaseUsernameOverride\",\"\",\"shouldEnableBatchQuerying\",false,\"doNotThrowOnNoOp\",false,\"offlineQueryType\",\"None\",\"queryThrottleTime\",\"750\",\"updateSetValueDynamically\",false,\"notificationDuration\",\"\"]],\"^;\",null,\"^<\",null,\"^=\",null,\"^>\",null,\"^?\",null,\"^@\",\"\",\"^A\",\"~m1681763675081\",\"^B\",\"~m1681763698982\",\"^C\",\"\",\"^D\",null]]],\"legoSetsPerYear\",[\"^0\",[\"^ \",\"n\",\"pluginTemplate\",\"v\",[\"^ \",\"id\",\"legoSetsPerYear\",\"^4\",\"datasource\",\"^5\",\"PythonQuery\",\"^6\",null,\"^7\",\"PythonQuery\",\"^8\",null,\"^9\",[\"^3\",[\"queryRefreshTime\",\"\",\"lastReceivedFromResourceAt\",null,\"queryDisabledMessage\",\"\",\"servedFromCache\",false,\"offlineUserQueryInputs\",\"\",\"successMessage\",\"\",\"queryDisabled\",\"\",\"playgroundQuerySaveId\",\"latest\",\"workflowParams\",null,\"resourceNameOverride\",\"\",\"runWhenModelUpdates\",false,\"showFailureToaster\",true,\"query\",\"import pandas as pd \\nimport seaborn as sns \\nimport matplotlib.pyplot as plt \\nimport io \\nimport uuid\\n\\n# create a pandas dataframe called lego_sets using the lego set data retrieved in the previous block\\nlego_sets = pd.DataFrame(getLegoSetsData.data) \\n\\n# count the number of sets released per year and store it in a new dataframe called sets_per_year\\nsets_per_year = lego_sets[\\\"year\\\"].value_counts().reset_index() \\n\\n# set the column names of the sets_per_year dataframe\\nsets_per_year.columns = [\\\"year\\\", \\\"count\\\"] \\n\\n# sort the data by year\\nsets_per_year = sets_per_year.sort_values(\\\"year\\\") \\n\\n# create a bar plot\\nplt.figure(figsize=(14, 6)) # set the figure size\\nsns.barplot(x=\\\"year\\\", y=\\\"count\\\", data=sets_per_year) # set the x and y axis, and the data for the plot\\n\\n# add title and labels to the plot\\nplt.title(\\\"Number of LEGO Sets Released per Year\\\") \\nplt.xlabel(\\\"Year\\\") \\nplt.ylabel(\\\"Number of Sets\\\") \\n\\n# rotate x-axis labels for better readability\\nplt.xticks(rotation=90) \\n\\n# display the plot\\nplt.show() \\n\\n# save the plot as a PNG image in a file buffer\\nfile_buffer = io.BytesIO() \\nplt.savefig(file_buffer, format='png') \\nfile_buffer.seek(0) \\n\\n# get the image data from the file buffer\\nimage_data = file_buffer.getvalue() \\n\\n# Generate a random UUID (Universally Unique Identifier)\\nfile_name = str(uuid.uuid4())\\n\\n# Append a file extension\\nfile_name += \\\".png\\\"\\n\\n# return the image data\\nreturn {\\\"file_name\\\": file_name,\\\"image_data\\\": image_data}\\n\",\"playgroundQueryUuid\",\"\",\"playgroundQueryId\",null,\"error\",null,\"privateParams\",[\"^:\",[]],\"runWhenPageLoadsDelay\",\"\",\"data\",null,\"importedQueryInputs\",[\"^3\",[]],\"isImported\",false,\"showSuccessToaster\",true,\"cacheKeyTtl\",\"\",\"requestSentTimestamp\",null,\"metadata\",null,\"queryRunTime\",null,\"changesetObject\",\"\",\"errorTransformer\",\"// The variable 'data' allows you to reference the request's data in the transformer. \\n// example: return data.find(element => element.isError)\\nreturn data.error\",\"finished\",null,\"confirmationMessage\",null,\"isFetching\",false,\"changeset\",\"\",\"rawData\",null,\"queryTriggerDelay\",\"0\",\"resourceTypeOverride\",null,\"watchedParams\",[\"^:\",[]],\"enableErrorTransformer\",false,\"showLatestVersionUpdatedWarning\",false,\"timestamp\",0,\"evalType\",\"script\",\"importedQueryDefaults\",[\"^3\",[]],\"enableTransformer\",false,\"showUpdateSetValueDynamicallyToggle\",true,\"runWhenPageLoads\",false,\"transformer\",\"// type your code here\\n// example: return formatDataAsArray(data).filter(row => row.quantity > 20)\\nreturn data\",\"events\",[\"^:\",[]],\"queryTimeout\",\"120000\",\"workflowId\",null,\"requireConfirmation\",false,\"queryFailureConditions\",\"\",\"changesetIsObject\",false,\"enableCaching\",false,\"allowedGroups\",[\"^:\",[]],\"offlineQueryType\",\"None\",\"queryThrottleTime\",\"750\",\"updateSetValueDynamically\",false,\"notificationDuration\",\"\"]],\"^;\",null,\"^<\",null,\"^=\",null,\"^>\",null,\"^?\",null,\"^@\",\"\",\"^A\",\"~m1681769807340\",\"^B\",\"~m1681835621870\",\"^C\",\"\",\"^D\",null]]],\"UploadToAmazonS3Bucket\",[\"^0\",[\"^ \",\"n\",\"pluginTemplate\",\"v\",[\"^ \",\"id\",\"UploadToAmazonS3Bucket\",\"^4\",\"datasource\",\"^5\",\"S3Query\",\"^6\",null,\"^7\",\"e0aa33e2-ff6e-47ec-b2b9-e383e32fef8b\",\"^8\",null,\"^9\",[\"^3\",[\"queryRefreshTime\",\"\",\"lastReceivedFromResourceAt\",null,\"queryDisabledMessage\",\"\",\"servedFromCache\",false,\"fileKey\",\"\",\"offlineUserQueryInputs\",\"\",\"successMessage\",\"\",\"queryDisabled\",\"\",\"playgroundQuerySaveId\",\"latest\",\"workflowParams\",null,\"resourceNameOverride\",\"\",\"runWhenModelUpdates\",false,\"showFailureToaster\",true,\"delimiter\",\"\",\"query\",\"\",\"playgroundQueryUuid\",\"\",\"playgroundQueryId\",null,\"error\",null,\"tagSet\",\"\",\"uploadFileName\",\"{{ legoSetsPerYear.data.file_name }}\",\"privateParams\",[\"^:\",[]],\"runWhenPageLoadsDelay\",\"\",\"data\",null,\"uploadData\",\"{{ legoSetsPerYear.data.image_data}}\",\"importedQueryInputs\",[\"^3\",[]],\"isImported\",false,\"showSuccessToaster\",true,\"cacheKeyTtl\",\"\",\"requestSentTimestamp\",null,\"metadata\",null,\"queryRunTime\",null,\"actionType\",\"upload\",\"copySource\",\"\",\"changesetObject\",\"\",\"errorTransformer\",\"// The variable 'data' allows you to reference the request's data in the transformer. \\n// example: return data.find(element => element.isError)\\nreturn data.error\",\"finished\",null,\"confirmationMessage\",null,\"isFetching\",false,\"prefix\",\"\",\"changeset\",\"\",\"rawData\",null,\"signedOperationOptions\",\"\",\"queryTriggerDelay\",\"0\",\"resourceTypeOverride\",null,\"watchedParams\",[\"^:\",[]],\"enableErrorTransformer\",false,\"showLatestVersionUpdatedWarning\",false,\"bucketName\",\"YOUR_S3_BUCKET_NAME\",\"timestamp\",0,\"evalType\",\"script\",\"importedQueryDefaults\",[\"^3\",[]],\"signedOperationName\",\"\",\"enableTransformer\",false,\"showUpdateSetValueDynamicallyToggle\",true,\"uploadFileType\",\"image/png\",\"maxKeys\",\"\",\"useRawUploadFileType\",true,\"runWhenPageLoads\",false,\"transformer\",\"// type your code here\\n// example: return formatDataAsArray(data).filter(row => row.quantity > 20)\\nreturn data\",\"events\",[\"^:\",[]],\"queryTimeout\",\"120000\",\"workflowId\",null,\"requireConfirmation\",false,\"queryFailureConditions\",\"\",\"changesetIsObject\",false,\"enableCaching\",false,\"allowedGroups\",[\"^:\",[]],\"offlineQueryType\",\"None\",\"queryThrottleTime\",\"750\",\"updateSetValueDynamically\",false,\"notificationDuration\",\"\"]],\"^;\",null,\"^<\",null,\"^=\",null,\"^>\",null,\"^?\",null,\"^@\",\"\",\"^A\",\"~m1681769963314\",\"^B\",\"~m1682619743510\",\"^C\",\"\",\"^D\",null]]],\"sendEmail\",[\"^0\",[\"^ \",\"n\",\"pluginTemplate\",\"v\",[\"^ \",\"id\",\"sendEmail\",\"^4\",\"datasource\",\"^5\",\"OpenAPIQuery\",\"^6\",null,\"^7\",\"6180d747-3abf-4092-8ad1-bd9db24364e7\",\"^8\",null,\"^9\",[\"^3\",[\"queryRefreshTime\",\"\",\"method\",\"post\",\"operationId\",\"POST_mail-send\",\"lastReceivedFromResourceAt\",null,\"queryDisabledMessage\",\"\",\"servedFromCache\",false,\"server\",\"https://api.sendgrid.com/v3\",\"offlineUserQueryInputs\",\"\",\"successMessage\",\"\",\"queryDisabled\",\"\",\"path\",\"/mail/send\",\"playgroundQuerySaveId\",\"latest\",\"workflowParams\",null,\"resourceNameOverride\",\"\",\"runWhenModelUpdates\",false,\"autoPaginate\",false,\"showFailureToaster\",true,\"query\",\"\",\"playgroundQueryUuid\",\"\",\"playgroundQueryId\",null,\"error\",null,\"privateParams\",[\"^:\",[]],\"runWhenPageLoadsDelay\",\"\",\"parameters\",\"{\\\"body\\\":{\\\"content\\\":[{\\\"value\\\":\\\"<html><body><img src=\\\\\\\"{{getS3URL.data}}\\\\\\\" alt=\\\\\\\"Lego Sets Per Year\\\\\\\"></body></html>\\\",\\\"type\\\":\\\"text/html\\\"}],\\\"subject\\\":\\\"Lego Sets Per Year\\\",\\\"from\\\":{\\\"email\\\":\\\"YOUR_SENDER_EMAIL\\\"},\\\"personalizations\\\":[{\\\"to\\\":[{\\\"email\\\":\\\"TO_EMAIL\\\"}],\\\"from\\\":{\\\"email\\\":\\\"YOUR_SENDER_EMAIL\\\"}}]}}\",\"data\",null,\"specPathOverride\",\"\",\"importedQueryInputs\",[\"^3\",[]],\"isImported\",false,\"showSuccessToaster\",true,\"cacheKeyTtl\",\"\",\"requestSentTimestamp\",null,\"metadata\",null,\"requestBodyDynamicStates\",\"\",\"queryRunTime\",null,\"changesetObject\",\"\",\"requestBody\",null,\"errorTransformer\",\"// The variable 'data' allows you to reference the request's data in the transformer. \\n// example: return data.find(element => element.isError)\\nreturn data.error\",\"specBasePath\",\"https://api.sendgrid.com/v3\",\"finished\",null,\"confirmationMessage\",null,\"isFetching\",false,\"changeset\",\"\",\"rawData\",null,\"queryTriggerDelay\",\"0\",\"resourceTypeOverride\",null,\"watchedParams\",[\"^:\",[]],\"serverVariables\",null,\"enableErrorTransformer\",false,\"autoPaginateLimit\",500,\"showLatestVersionUpdatedWarning\",false,\"timestamp\",0,\"evalType\",\"script\",\"importedQueryDefaults\",[\"^3\",[]],\"enableTransformer\",false,\"showUpdateSetValueDynamicallyToggle\",true,\"parameterDynamicStates\",\"{\\\"body\\\":\\\"{\\\\\\\"content\\\\\\\":\\\\\\\"[{}]\\\\\\\",\\\\\\\"personalizations\\\\\\\":[{}]}\\\"}\",\"runWhenPageLoads\",false,\"transformer\",\"// type your code here\\n// example: return formatDataAsArray(data).filter(row => row.quantity > 20)\\nreturn data\",\"events\",[\"^:\",[]],\"queryTimeout\",\"120000\",\"workflowId\",null,\"requireConfirmation\",false,\"queryFailureConditions\",\"\",\"changesetIsObject\",false,\"enableCaching\",false,\"allowedGroups\",[\"^:\",[]],\"offlineQueryType\",\"None\",\"queryThrottleTime\",\"750\",\"updateSetValueDynamically\",false,\"notificationDuration\",\"\"]],\"^;\",null,\"^<\",null,\"^=\",null,\"^>\",null,\"^?\",null,\"^@\",\"\",\"^A\",\"~m1681832623112\",\"^B\",\"~m1682619729255\",\"^C\",\"\",\"^D\",null]]],\"getS3URL\",[\"^0\",[\"^ \",\"n\",\"pluginTemplate\",\"v\",[\"^ \",\"id\",\"getS3URL\",\"^4\",\"datasource\",\"^5\",\"PythonQuery\",\"^6\",null,\"^7\",\"PythonQuery\",\"^8\",null,\"^9\",[\"^3\",[\"queryRefreshTime\",\"\",\"lastReceivedFromResourceAt\",null,\"queryDisabledMessage\",\"\",\"servedFromCache\",false,\"offlineUserQueryInputs\",\"\",\"successMessage\",\"\",\"queryDisabled\",\"\",\"playgroundQuerySaveId\",\"latest\",\"workflowParams\",null,\"resourceNameOverride\",\"\",\"runWhenModelUpdates\",false,\"showFailureToaster\",true,\"query\",\"import urllib.parse\\n\\nurl = UploadToAmazonS3Bucket.data.signedUrl\\n\\nparsed_url = urllib.parse.urlparse(url)\\nresult_url = parsed_url.scheme + \\\"://\\\" + parsed_url.netloc + parsed_url.path\\n\\nreturn(result_url)\",\"playgroundQueryUuid\",\"\",\"playgroundQueryId\",null,\"error\",null,\"privateParams\",[\"^:\",[]],\"runWhenPageLoadsDelay\",\"\",\"data\",null,\"importedQueryInputs\",[\"^3\",[]],\"isImported\",false,\"showSuccessToaster\",true,\"cacheKeyTtl\",\"\",\"requestSentTimestamp\",null,\"metadata\",null,\"queryRunTime\",null,\"changesetObject\",\"\",\"errorTransformer\",\"// The variable 'data' allows you to reference the request's data in the transformer. \\n// example: return data.find(element => element.isError)\\nreturn data.error\",\"finished\",null,\"confirmationMessage\",null,\"isFetching\",false,\"changeset\",\"\",\"rawData\",null,\"queryTriggerDelay\",\"0\",\"resourceTypeOverride\",null,\"watchedParams\",[\"^:\",[]],\"enableErrorTransformer\",false,\"showLatestVersionUpdatedWarning\",false,\"timestamp\",0,\"evalType\",\"script\",\"importedQueryDefaults\",[\"^3\",[]],\"enableTransformer\",false,\"showUpdateSetValueDynamicallyToggle\",true,\"runWhenPageLoads\",false,\"transformer\",\"// type your code here\\n// example: return formatDataAsArray(data).filter(row => row.quantity > 20)\\nreturn data\",\"events\",[\"^:\",[]],\"queryTimeout\",\"120000\",\"workflowId\",null,\"requireConfirmation\",false,\"queryFailureConditions\",\"\",\"changesetIsObject\",false,\"enableCaching\",false,\"allowedGroups\",[\"^:\",[]],\"offlineQueryType\",\"None\",\"queryThrottleTime\",\"750\",\"updateSetValueDynamically\",false,\"notificationDuration\",\"\"]],\"^;\",null,\"^<\",null,\"^=\",null,\"^>\",null,\"^?\",null,\"^@\",\"\",\"^A\",\"~m1681832799757\",\"^B\",\"~m1681832988119\",\"^C\",\"\",\"^D\",null]]]]],\"^A\",null,\"version\",\"2.118.2\",\"appThemeId\",null,\"appMaxWidth\",\"1560px\",\"preloadedAppJavaScript\",null,\"preloadedAppJSLinks\",[],\"testEntities\",[],\"tests\",[],\"appStyles\",\"\",\"responsiveLayoutDisabled\",false,\"loadingIndicatorsDisabled\",false,\"urlFragmentDefinitions\",[\"^:\",[]],\"pageLoadValueOverrides\",[\"^:\",[]],\"customDocumentTitle\",\"\",\"customDocumentTitleEnabled\",false,\"customShortcuts\",[],\"isGlobalWidget\",false,\"isMobileApp\",false,\"multiScreenMobileApp\",false,\"mobileAppSettings\",[\"^ \",\"mobileOfflineModeEnabled\",false,\"mobileOfflineModeDelaySync\",false,\"mobileOfflineModeBannerMode\",\"default\",\"displaySetting\",[\"^ \",\"landscapeMode\",false,\"tabletMode\",false]],\"folders\",[\"^:\",[]],\"queryStatusVisibility\",true,\"markdownLinkBehavior\",\"never\",\"inAppRetoolPillAppearance\",\"NO_OVERRIDE\",\"rootScreen\",null,\"instrumentationEnabled\",false,\"experimentalFeatures\",[\"^ \",\"sourceControlTemplateDehydration\",false],\"experimentalPerfFeatures\",[\"^ \",\"serverDepGraphEnabled\",false,\"useRuntimeV2\",false,\"runtimeV2OptOut\",false],\"experimentalStabilityFeatures\",[\"^ \",\"lockModelForUpdates\",false],\"experimentalDataTabEnabled\",false]]]","triggerWebhooks":[],"customLibraries":[{"version":"4.17.21","language":"javascript","variable":"_","codeString":"/* Edit library variable below */\n\nconst _ = require('lodash')\n\n/* Add destructured imports from library below\neg. const { pow, log } = require('mathjs') */\n","libraryName":"lodash"},{"version":"2.1.0","language":"javascript","variable":"numbro","codeString":"/* Edit library variable below */\n\nconst numbro = require('numbro')\n\n/* Add destructured imports from library below\neg. const { pow, log } = require('mathjs') */\n","libraryName":"numbro"},{"version":"5.3.2","language":"javascript","variable":"Papa","codeString":"/* Edit library variable below */\n\nconst Papa = require('papaparse')\n\n/* Add destructured imports from library below\neg. const { pow, log } = require('mathjs') */\n","libraryName":"papaparse"},{"version":"0.5.23","language":"javascript","variable":"moment","codeString":"/* Edit library variable below */\n\nconst moment = require('moment-timezone')\n\n/* Add destructured imports from library below\neg. const { pow, log } = require('mathjs') */\n","libraryName":"moment-timezone"},{"version":"3.4.0","language":"javascript","variable":"uuid","codeString":"/* Edit library variable below */\n\nconst uuid = require('uuid')\n\n/* Add destructured imports from library below\neg. const { pow, log } = require('mathjs') */\n","libraryName":"uuid"}],"createdBy":414114,"protected":false} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment