Created
April 27, 2023 18:30
-
-
Save ajot/8252b64ec7f3b4601cf656acbfe9d704 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":"2-Lego Average Number of Pieces (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":352,"left":2096,"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":352,"left":1584,"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":["b9ce1f9b-a95d-4f34-a1c8-53d7a333f992"]},{"top":352,"left":560,"uuid":"01d9890c-9bbd-45d8-90cd-e8f5c1c7e2cb","comment":{"body":"Analyze the data using Pandas, and generate a bar plot using Seaborn, and Matplotlib.","visible":true,"pluginId":"averageNumberOfPieces-comment"},"pluginId":"averageNumberOfPieces","blockType":"code","dimensions":{"width":510,"height":582},"editorType":"PythonQuery","environment":"production","resourceName":"PythonQuery","incomingOnSuccessEdges":["c36539a8-9754-4b8e-b714-da193738752b"]},{"top":352,"left":1120,"uuid":"b9ce1f9b-a95d-4f34-a1c8-53d7a333f992","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":["01d9890c-9bbd-45d8-90cd-e8f5c1c7e2cb"]},{"top":352,"left":48,"uuid":"c36539a8-9754-4b8e-b714-da193738752b","comment":{"body":"Get the Lego sets data from Retool Database","visible":true,"pluginId":"getLegoSetsData-comment"},"pluginId":"getLegoSetsData2","blockType":"default","editorType":"SqlQueryUnified","environment":"production","resourceName":"e6126c69-42db-442e-bd1e-e3a838fcfc06","incomingOnSuccessEdges":["994490cc-9c93-4bd0-b12e-5e075758547e"]}],"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]]],\"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\",\"~m1682619772246\",\"^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]]],\"averageNumberOfPieces\",[\"^0\",[\"^ \",\"n\",\"pluginTemplate\",\"v\",[\"^ \",\"id\",\"averageNumberOfPieces\",\"^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 \\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# group the dataset by year and calculate the mean of pieces per set for each year\\npieces_per_set_per_year = lego_sets.groupby('year')['num_parts'].mean().reset_index()\\n\\n# create a line plot of pieces per set over the years\\nplt.figure(figsize=(14, 6)) # set the figure size\\nsns.lineplot(x=\\\"year\\\", y=\\\"num_parts\\\", data=pieces_per_set_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(\\\"Average Number of Pieces per Set over the Years\\\") \\nplt.xlabel(\\\"Year\\\") \\nplt.ylabel(\\\"Average Number of Pieces per Set\\\") \\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# return the image data\\nreturn 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\",\"~m1681834592691\",\"^B\",\"~m1681834596385\",\"^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\",\"lego6.png\",\"privateParams\",[\"^:\",[]],\"runWhenPageLoadsDelay\",\"\",\"data\",null,\"uploadData\",\"{{ averageNumberOfPieces.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\",\"~m1681834832795\",\"^B\",\"~m1682619775921\",\"^C\",\"\",\"^D\",null]]],\"getLegoSetsData2\",[\"^0\",[\"^ \",\"n\",\"pluginTemplate\",\"v\",[\"^ \",\"id\",\"getLegoSetsData2\",\"^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\",\"~m1681835276335\",\"^B\",\"~m1681835276335\",\"^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