@kineticdata/react 5.1.2 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/assets/task/icons/drag-handle.svg +3 -0
  2. package/assets/task/icons/plus_small.svg +2 -4
  3. package/lib/apis/agent/adapters.js +16 -12
  4. package/lib/apis/agent/bridges.js +54 -41
  5. package/lib/apis/agent/handlers.js +51 -38
  6. package/lib/apis/core/activity.js +19 -11
  7. package/lib/apis/core/attributeDefinitions.js +54 -46
  8. package/lib/apis/core/attributeDefinitions.test.js +47 -55
  9. package/lib/apis/core/authentication.js +58 -63
  10. package/lib/apis/core/backgroundJobs.js +38 -30
  11. package/lib/apis/core/bridgeModelAttributeMappings.js +42 -34
  12. package/lib/apis/core/bridgeModelAttributes.js +47 -37
  13. package/lib/apis/core/bridgeModelMappings.js +42 -34
  14. package/lib/apis/core/bridgeModelQualificationMappings.js +42 -34
  15. package/lib/apis/core/bridgeModelQualifications.js +42 -34
  16. package/lib/apis/core/bridgeModels.js +56 -46
  17. package/lib/apis/core/bridgeModels.test.js +64 -80
  18. package/lib/apis/core/bridgedresources.js +64 -72
  19. package/lib/apis/core/bridgedresources.test.js +33 -30
  20. package/lib/apis/core/categories.js +59 -52
  21. package/lib/apis/core/categories.test.js +36 -33
  22. package/lib/apis/core/fileResources.js +41 -33
  23. package/lib/apis/core/filestores.js +42 -34
  24. package/lib/apis/core/formTypes.js +50 -44
  25. package/lib/apis/core/forms.js +53 -49
  26. package/lib/apis/core/forms.test.js +60 -74
  27. package/lib/apis/core/kapps.js +45 -39
  28. package/lib/apis/core/kapps.test.js +45 -52
  29. package/lib/apis/core/logs.js +20 -16
  30. package/lib/apis/core/memberships.js +23 -20
  31. package/lib/apis/core/meta.js +31 -19
  32. package/lib/apis/core/notices.js +17 -9
  33. package/lib/apis/core/oauthClients.js +49 -45
  34. package/lib/apis/core/platformComponents.js +73 -57
  35. package/lib/apis/core/platformItems.js +22 -13
  36. package/lib/apis/core/profile.js +28 -21
  37. package/lib/apis/core/profile.test.js +20 -17
  38. package/lib/apis/core/securityPolicyDefinitions.js +48 -41
  39. package/lib/apis/core/securityPolicyDefinitions.test.js +50 -60
  40. package/lib/apis/core/space.js +23 -16
  41. package/lib/apis/core/space.test.js +31 -38
  42. package/lib/apis/core/submissions.js +213 -186
  43. package/lib/apis/core/submissions.test.js +39 -36
  44. package/lib/apis/core/teams.js +51 -44
  45. package/lib/apis/core/teams.test.js +42 -39
  46. package/lib/apis/core/translations.js +123 -130
  47. package/lib/apis/core/translations.test.js +278 -368
  48. package/lib/apis/core/users.js +56 -49
  49. package/lib/apis/core/users.test.js +42 -39
  50. package/lib/apis/core/version.js +20 -11
  51. package/lib/apis/core/webApis.js +42 -34
  52. package/lib/apis/core/webhooks.js +48 -41
  53. package/lib/apis/core/webhooks.test.js +50 -60
  54. package/lib/apis/core/webhooksJobs.js +30 -26
  55. package/lib/apis/core/workflows.js +52 -44
  56. package/lib/apis/http.js +121 -80
  57. package/lib/apis/http.test.js +137 -38
  58. package/lib/apis/index.js +506 -50
  59. package/lib/apis/system/index.js +363 -215
  60. package/lib/apis/task/index.js +294 -227
  61. package/lib/components/agent/bridge/BridgeForm.js +50 -50
  62. package/lib/components/agent/bridge/BridgeTable.js +16 -9
  63. package/lib/components/agent/filestore/FilestoreForm.js +49 -48
  64. package/lib/components/agent/filestore/FilestoreTable.js +16 -9
  65. package/lib/components/agent/handler/AgentHandlerForm.js +24 -27
  66. package/lib/components/agent/handler/AgentHandlerTable.js +17 -10
  67. package/lib/components/common/AttributeSelect.js +15 -9
  68. package/lib/components/common/BridgeSelect.js +48 -43
  69. package/lib/components/common/ComponentConfigContext.js +9 -2
  70. package/lib/components/common/ContentEditable.js +36 -60
  71. package/lib/components/common/FormSelect.js +70 -58
  72. package/lib/components/common/NodeSelect.js +23 -19
  73. package/lib/components/common/Scroller.js +24 -23
  74. package/lib/components/common/StaticSelect.js +57 -50
  75. package/lib/components/common/TableInput.js +54 -57
  76. package/lib/components/common/TeamSelect.js +42 -39
  77. package/lib/components/common/ToastContainer.js +170 -0
  78. package/lib/components/common/Typeahead.js +121 -138
  79. package/lib/components/common/UserSelect.js +42 -41
  80. package/lib/components/common/authentication/AuthInterceptor.js +15 -19
  81. package/lib/components/common/authentication/AuthInterceptor.test.js +46 -64
  82. package/lib/components/common/authentication/AuthenticationContainer.js +350 -454
  83. package/lib/components/common/authentication/RequestInterceptor.js +16 -19
  84. package/lib/components/common/code_input/CodeInput.js +92 -122
  85. package/lib/components/common/code_input/draftHelpers.js +96 -90
  86. package/lib/components/common/code_input/languageHelpers.js +49 -47
  87. package/lib/components/common/code_input/languageHelpers.test.js +21 -16
  88. package/lib/components/common/defaults/Toast.js +26 -0
  89. package/lib/components/common/defaults/index.js +13 -0
  90. package/lib/components/core/CoreFormModal.js +26 -24
  91. package/lib/components/core/CoreModal.js +37 -31
  92. package/lib/components/core/attribute_definition/AttributeDefinitionForm.js +24 -23
  93. package/lib/components/core/attribute_definition/AttributeDefinitionTable.js +25 -18
  94. package/lib/components/core/bridge_model/BridgeModelForm.js +27 -37
  95. package/lib/components/core/bridge_model/BridgeModelTable.js +17 -10
  96. package/lib/components/core/bridge_model_attribute/BridgeModelAttributeForm.js +17 -16
  97. package/lib/components/core/bridge_model_attribute/BridgeModelAttributeTable.js +25 -21
  98. package/lib/components/core/bridge_model_qualification/BridgeModelQualificationForm.js +20 -20
  99. package/lib/components/core/bridge_model_qualification/BridgeModelQualificationTable.js +27 -22
  100. package/lib/components/core/category/CategoryForm.js +22 -22
  101. package/lib/components/core/category/CategoryTable.js +28 -16
  102. package/lib/components/core/core_form/CoreForm.js +209 -285
  103. package/lib/components/core/core_form/CoreForm.test.js +12 -10
  104. package/lib/components/core/core_form/defaults/index.js +52 -44
  105. package/lib/components/core/core_form/globals.js +14 -5
  106. package/lib/components/core/field_definition/FieldDefinitionForm.js +23 -21
  107. package/lib/components/core/field_definition/FieldDefinitionTable.js +26 -15
  108. package/lib/components/core/file_resource/FileResourceForm.js +38 -37
  109. package/lib/components/core/file_resource/FileResourceTable.js +16 -12
  110. package/lib/components/core/form/FormForm.js +56 -61
  111. package/lib/components/core/form/FormTable.js +47 -33
  112. package/lib/components/core/form_type/FormTypeForm.js +14 -13
  113. package/lib/components/core/form_type/FormTypeTable.js +15 -9
  114. package/lib/components/core/i18n/I18n.js +54 -61
  115. package/lib/components/core/i18n/I18nContext.js +9 -2
  116. package/lib/components/core/i18n/I18nProvider.js +40 -43
  117. package/lib/components/core/i18n/Moment.js +40 -50
  118. package/lib/components/core/index_definition/IndexDefinitionForm.js +23 -24
  119. package/lib/components/core/index_definition/IndexDefinitionTable.js +31 -16
  120. package/lib/components/core/index_job/IndexJobTable.js +20 -15
  121. package/lib/components/core/kapp/KappForm.js +57 -58
  122. package/lib/components/core/kapp/KappTable.js +34 -44
  123. package/lib/components/core/log/LogTable.js +42 -34
  124. package/lib/components/core/oauth_client/OAuthClientForm.js +17 -17
  125. package/lib/components/core/oauth_client/OAuthClientTable.js +12 -8
  126. package/lib/components/core/platform_component/AgentComponentForm.js +15 -15
  127. package/lib/components/core/platform_component/AgentComponentTable.js +10 -5
  128. package/lib/components/core/platform_component/TaskComponentForm.js +14 -14
  129. package/lib/components/core/profile/ProfileForm.js +40 -39
  130. package/lib/components/core/security_definition/SecurityDefinitionForm.js +28 -25
  131. package/lib/components/core/security_definition/SecurityDefinitionTable.js +27 -17
  132. package/lib/components/core/space/SpaceForm.js +79 -90
  133. package/lib/components/core/submission/DatastoreSubmissionFilters.js +39 -40
  134. package/lib/components/core/submission/DatastoreSubmissionTable.js +37 -34
  135. package/lib/components/core/submission/FormSubmissionFilters.js +79 -75
  136. package/lib/components/core/submission/FormSubmissionTable.js +64 -39
  137. package/lib/components/core/submission/KappSubmissionTable.js +67 -48
  138. package/lib/components/core/submission/SubmissionForm.js +126 -55
  139. package/lib/components/core/submission/SubmissionTable.js +24 -20
  140. package/lib/components/core/submission/helpers.js +37 -33
  141. package/lib/components/core/submission/helpers.test.js +69 -20
  142. package/lib/components/core/team/TeamForm.js +24 -21
  143. package/lib/components/core/team/TeamTable.js +27 -16
  144. package/lib/components/core/translation/ContextForm.js +13 -10
  145. package/lib/components/core/translation/ContextTable.js +13 -10
  146. package/lib/components/core/translation/EntryForm.js +27 -24
  147. package/lib/components/core/translation/EntryTable.js +19 -16
  148. package/lib/components/core/translation/LocaleForm.js +16 -13
  149. package/lib/components/core/translation/LocaleTable.js +12 -8
  150. package/lib/components/core/user/UserForm.js +38 -37
  151. package/lib/components/core/user/UserTable.js +42 -20
  152. package/lib/components/core/webapi/WebApiForm.js +87 -80
  153. package/lib/components/core/webapi/WebApiTable.js +28 -17
  154. package/lib/components/core/webhook/WebhookForm.js +33 -32
  155. package/lib/components/core/webhook/WebhookTable.js +41 -29
  156. package/lib/components/core/webhook_job/WebhookJobTable.js +58 -35
  157. package/lib/components/form/Form.helpers.js +182 -108
  158. package/lib/components/form/Form.js +467 -524
  159. package/lib/components/form/Form.models.js +39 -24
  160. package/lib/components/form/FormState.js +8 -5
  161. package/lib/components/form/KitchenSinkForm.js +135 -4
  162. package/lib/components/form/defaults/AttributesField.js +48 -59
  163. package/lib/components/form/defaults/CheckboxField.js +14 -6
  164. package/lib/components/form/defaults/CodeField.js +15 -7
  165. package/lib/components/form/defaults/FormButtons.js +12 -4
  166. package/lib/components/form/defaults/FormError.js +12 -4
  167. package/lib/components/form/defaults/FormField.js +15 -7
  168. package/lib/components/form/defaults/FormLayout.js +12 -4
  169. package/lib/components/form/defaults/FormMultiField.js +15 -7
  170. package/lib/components/form/defaults/PasswordField.js +14 -6
  171. package/lib/components/form/defaults/RadioField.js +15 -7
  172. package/lib/components/form/defaults/SampleTeamsRolesFIeld.js +17 -9
  173. package/lib/components/form/defaults/SelectField.js +16 -8
  174. package/lib/components/form/defaults/SelectMultiField.js +15 -7
  175. package/lib/components/form/defaults/TableField.js +14 -6
  176. package/lib/components/form/defaults/TeamField.js +15 -7
  177. package/lib/components/form/defaults/TeamMultiField.js +15 -7
  178. package/lib/components/form/defaults/TextField.js +14 -6
  179. package/lib/components/form/defaults/TextMultiField.js +26 -28
  180. package/lib/components/form/defaults/UserField.js +15 -7
  181. package/lib/components/form/defaults/UserMultiField.js +15 -7
  182. package/lib/components/form/defaults/index.js +48 -41
  183. package/lib/components/form/tests/Form.test.js +568 -864
  184. package/lib/components/form/tests/components.js +15 -25
  185. package/lib/components/form/tests/helpers.test.js +35 -33
  186. package/lib/components/index.js +1034 -135
  187. package/lib/components/system/SystemBackgroundTasksTable.js +14 -10
  188. package/lib/components/system/SystemCassandraForm.js +98 -0
  189. package/lib/components/system/SystemElasticSearchForm.js +98 -0
  190. package/lib/components/system/SystemFilestoreForm.js +36 -28
  191. package/lib/components/system/SystemForm.js +19 -16
  192. package/lib/components/system/SystemIngressForm.js +85 -36
  193. package/lib/components/system/SystemSecurityForm.js +17 -14
  194. package/lib/components/system/SystemSmtpForm.js +13 -13
  195. package/lib/components/system/SystemTaskAdapterForm.js +49 -21
  196. package/lib/components/system/SystemTrustedCertificateForm.js +40 -0
  197. package/lib/components/system/SystemTrustedCertificatesTable.js +74 -0
  198. package/lib/components/system/SystemUserForm.js +15 -14
  199. package/lib/components/system/helpers.js +281 -98
  200. package/lib/components/system/helpers.test.js +16 -12
  201. package/lib/components/system/spaces/SystemSpaceForm.js +25 -24
  202. package/lib/components/system/spaces/SystemTenantForm.js +112 -68
  203. package/lib/components/system/spaces/SystemTenantTable.js +12 -8
  204. package/lib/components/table/Table.js +295 -227
  205. package/lib/components/table/Table.redux.js +339 -355
  206. package/lib/components/table/Table.redux.test.js +49 -47
  207. package/lib/components/table/Table.test.js +146 -132
  208. package/lib/components/table/defaults/BodyCell.js +12 -6
  209. package/lib/components/table/defaults/BodyRow.js +10 -4
  210. package/lib/components/table/defaults/BooleanFilter.js +17 -11
  211. package/lib/components/table/defaults/ColumnControl.js +26 -0
  212. package/lib/components/table/defaults/EmptyBodyRow.js +12 -6
  213. package/lib/components/table/defaults/FilterLayout.js +17 -11
  214. package/lib/components/table/defaults/Footer.js +11 -5
  215. package/lib/components/table/defaults/FooterCell.js +10 -4
  216. package/lib/components/table/defaults/FooterRow.js +10 -4
  217. package/lib/components/table/defaults/Header.js +10 -4
  218. package/lib/components/table/defaults/HeaderCell.js +16 -10
  219. package/lib/components/table/defaults/HeaderRow.js +10 -4
  220. package/lib/components/table/defaults/PaginationControl.js +18 -9
  221. package/lib/components/table/defaults/TableBody.js +10 -4
  222. package/lib/components/table/defaults/TableLayout.js +12 -6
  223. package/lib/components/table/defaults/TextFilter.js +16 -10
  224. package/lib/components/table/defaults/index.js +43 -33
  225. package/lib/components/task/builder/Connector.js +100 -111
  226. package/lib/components/task/builder/ConnectorForm.js +17 -11
  227. package/lib/components/task/builder/Node.js +101 -83
  228. package/lib/components/task/builder/NodeForm.js +30 -27
  229. package/lib/components/task/builder/NodeParametersForm.js +27 -24
  230. package/lib/components/task/builder/SvgCanvas.js +67 -96
  231. package/lib/components/task/builder/SvgText.js +19 -134
  232. package/lib/components/task/builder/TaskDefinitionConfigForm.js +27 -22
  233. package/lib/components/task/builder/TreeBuilder.js +140 -115
  234. package/lib/components/task/builder/builder.redux.js +311 -326
  235. package/lib/components/task/builder/constants.js +94 -45
  236. package/lib/components/task/builder/helpers.js +184 -173
  237. package/lib/components/task/builder/helpers.test.js +20 -18
  238. package/lib/components/task/builder/models.js +121 -98
  239. package/lib/components/task/category/TaskCategoryForm.js +31 -29
  240. package/lib/components/task/category/TaskCategoryTable.js +12 -8
  241. package/lib/components/task/common/UsageTable.js +16 -12
  242. package/lib/components/task/engine/EngineSettingsForm.js +13 -11
  243. package/lib/components/task/errors/RunErrorTable.js +50 -27
  244. package/lib/components/task/errors/SystemErrorsTable.js +13 -9
  245. package/lib/components/task/handlers/HandlerForm.js +55 -55
  246. package/lib/components/task/handlers/HandlerTable.js +35 -19
  247. package/lib/components/task/handlers/MissingHandlerTable.js +12 -8
  248. package/lib/components/task/policy_rule/PolicyRuleForm.js +33 -32
  249. package/lib/components/task/policy_rule/PolicyRuleTable.js +12 -8
  250. package/lib/components/task/runs/CreateManualTriggerForm.js +17 -15
  251. package/lib/components/task/runs/RunTable.js +45 -29
  252. package/lib/components/task/runs/RunTaskTable.js +10 -6
  253. package/lib/components/task/sources/SourceForm.js +47 -47
  254. package/lib/components/task/sources/SourceTable.js +29 -18
  255. package/lib/components/task/triggers/TriggerTable.js +71 -41
  256. package/lib/components/task/workflows/LinkedWorkflowForm.js +48 -54
  257. package/lib/components/task/workflows/LinkedWorkflowTable.js +46 -26
  258. package/lib/components/task/workflows/MissingRoutineTable.js +12 -8
  259. package/lib/components/task/workflows/WorkflowForm.js +49 -44
  260. package/lib/components/task/workflows/WorkflowTable.js +47 -29
  261. package/lib/helpers/SearchBuilder.js +73 -127
  262. package/lib/helpers/SearchBuilder.test.js +184 -175
  263. package/lib/helpers/index.js +116 -74
  264. package/lib/index.js +87 -38
  265. package/lib/reducer.js +11 -3
  266. package/lib/saga.js +42 -38
  267. package/lib/store.js +59 -35
  268. package/package.json +17 -29
  269. package/proxyhelper.js +122 -57
  270. package/assets/discussions/images/avi_128.png +0 -0
  271. package/assets/discussions/images/excel_128.png +0 -0
  272. package/assets/discussions/images/html_128.png +0 -0
  273. package/assets/discussions/images/illustrator_128.png +0 -0
  274. package/assets/discussions/images/indesign_128.png +0 -0
  275. package/assets/discussions/images/movie_128.png +0 -0
  276. package/assets/discussions/images/mpeg_128.png +0 -0
  277. package/assets/discussions/images/pdf_128.png +0 -0
  278. package/assets/discussions/images/photoshop_128.png +0 -0
  279. package/assets/discussions/images/powerpoint_128.png +0 -0
  280. package/assets/discussions/images/txt_128.png +0 -0
  281. package/assets/discussions/images/unknown_128.png +0 -0
  282. package/assets/discussions/images/word_128.png +0 -0
  283. package/assets/discussions/styles/_discussion.scss +0 -506
  284. package/lib/apis/discussions/index.js +0 -395
  285. package/lib/apis/socket/index.js +0 -77
  286. package/lib/apis/socket/socket.js +0 -350
  287. package/lib/apis/socket/socket.test.js +0 -90
  288. package/lib/apis/socket/timer.js +0 -45
  289. package/lib/apis/socket/timer.test.js +0 -51
  290. package/lib/apis/socket/topic.js +0 -185
  291. package/lib/apis/topics/index.js +0 -19
  292. package/lib/components/discussions/ChatInputForm.js +0 -424
  293. package/lib/components/discussions/DateBanner.js +0 -10
  294. package/lib/components/discussions/Discussion.js +0 -202
  295. package/lib/components/discussions/DiscussionForm.js +0 -227
  296. package/lib/components/discussions/InvitationForm.js +0 -107
  297. package/lib/components/discussions/MessageHistory.js +0 -110
  298. package/lib/components/discussions/MessagesByDate.js +0 -40
  299. package/lib/components/discussions/MessagesList.js +0 -30
  300. package/lib/components/discussions/MoreMessagesBanner.js +0 -26
  301. package/lib/components/discussions/ScrollHelper.js +0 -84
  302. package/lib/components/discussions/SystemMessage.js +0 -88
  303. package/lib/components/discussions/SystemMessageGroup.js +0 -15
  304. package/lib/components/discussions/UserMessage.js +0 -163
  305. package/lib/components/discussions/UserMessageGroup.js +0 -34
  306. package/lib/components/discussions/redux.js +0 -178
  307. package/lib/components/discussions/sagas.js +0 -500
  308. package/lib/helpers/discussions/canManage.js +0 -30
  309. package/lib/helpers/discussions/canManage.test.js +0 -69
  310. package/lib/helpers/discussions/generateSystemMessageContent.js +0 -131
  311. package/lib/helpers/discussions/generateSystemMessageContent.test.js +0 -450
  312. package/lib/models/discussions.js +0 -76
  313. package/lib/models/index.js +0 -1
@@ -1,92 +1,107 @@
1
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
- import { isImmutable, List, Map, OrderedMap } from 'immutable';
5
- import { isObject } from 'lodash-es';
6
- import { Intersection, ShapeInfo } from 'kld-intersections';
7
- import * as constants from './constants';
8
- import { dispatch } from '../../../store';
9
- import { processErbTemplate, processRuby } from '../../common/code_input/languageHelpers';
10
- import { Node, Connector, NodeParameter, NodeResultDependency, NodeMessage, Point } from './models';
11
- import { NEW_TASK_DX, NEW_TASK_DY, NEW_TASK_GAP_REQUIED } from './constants';
12
- export var isIE11 = document.documentMode === 11;
13
- export var getRectIntersections = function getRectIntersections(_ref) {
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.treeReturnTask = exports.searchNodeResultDependencies = exports.replace = exports.renameDependencies = exports.parseNodeResultDependencies = exports.normalizeParameter = exports.isPointInNode = exports.isIE11 = exports.getRectIntersections = exports.getNodeType = exports.getNodeShape = exports.getNodeDependencies = exports.getNodeCenter = exports.getNewNodePosition = exports.getConnectorDependencies = exports.getAncestors = exports.buildBindings = exports.addNewTask = void 0;
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
11
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
12
+ var _immutable = require("immutable");
13
+ var _lodashEs = require("lodash-es");
14
+ var _kldIntersections = require("kld-intersections");
15
+ var constants = _interopRequireWildcard(require("./constants"));
16
+ var _store = require("../../../store");
17
+ var _languageHelpers = require("../../common/code_input/languageHelpers");
18
+ var _models = require("./models");
19
+ var _excluded = ["name", "id", "defaultValue"];
20
+ var isIE11 = document.documentMode === 11;
21
+ exports.isIE11 = isIE11;
22
+ var getRectIntersections = function getRectIntersections(_ref) {
14
23
  var dragging = _ref.dragging,
15
- head = _ref.head,
16
- headType = _ref.headType,
17
- tail = _ref.tail,
18
- tailType = _ref.tailType;
24
+ head = _ref.head,
25
+ headType = _ref.headType,
26
+ tail = _ref.tail,
27
+ tailType = _ref.tailType;
19
28
  // Compute the points that make up the full path of the connector before
20
29
  // accounting for intersections. This will either be between the center of two
21
30
  // rects or from a dragging point to the center of a rect.
22
31
  var headCenter = dragging === 'head' ? head : getNodeCenter(headType, head);
23
- var tailCenter = dragging === 'tail' ? tail : getNodeCenter(tailType, tail); // Loop connectors are special in that we just draw them from the center of
32
+ var tailCenter = dragging === 'tail' ? tail : getNodeCenter(tailType, tail);
33
+ // Loop connectors are special in that we just draw them from the center of
24
34
  // the two nodes rather than calculating the intersections and drawing from
25
35
  // there.
26
-
27
36
  if (tailType === 'loop-head' && headType === 'loop-tail') {
28
37
  return [tailCenter, headCenter];
29
- } // Use kld-intersections to define the node shapes and connector lines used
38
+ }
39
+ // Use kld-intersections to define the node shapes and connector lines used
30
40
  // to determine the intersections
31
-
32
-
33
- var line = ShapeInfo.line(tailCenter, headCenter);
41
+ var line = _kldIntersections.ShapeInfo.line(tailCenter, headCenter);
34
42
  var headShape = getNodeShape(headType, head);
35
43
  var tailShape = getNodeShape(tailType, tail);
36
- var headIntersection = Intersection.intersect(headShape, line).points[0];
37
- var tailIntersection = Intersection.intersect(tailShape, line).points[0];
44
+ var headIntersection = _kldIntersections.Intersection.intersect(headShape, line).points[0];
45
+ var tailIntersection = _kldIntersections.Intersection.intersect(tailShape, line).points[0];
38
46
  return [dragging === 'tail' ? tail : tailIntersection || tailCenter, dragging === 'head' ? head : headIntersection || headCenter];
39
47
  };
40
- export var isPointInNode = function isPointInNode(point) {
48
+ exports.getRectIntersections = getRectIntersections;
49
+ var isPointInNode = function isPointInNode(point) {
41
50
  return function (node) {
42
51
  return point && node && point.x >= node.position.x && point.x <= node.position.x + constants.NODE_WIDTH && point.y >= node.position.y && point.y <= node.position.y + constants.NODE_HEIGHT;
43
52
  };
44
53
  };
45
- export var getNodeType = function getNodeType(node) {
54
+ exports.isPointInNode = isPointInNode;
55
+ var getNodeType = function getNodeType(node) {
46
56
  return node ? node.definitionId.startsWith('system_join_v') ? 'join' : node.definitionId.startsWith('system_junction_v') ? 'junction' : node.definitionId.startsWith('system_loop_head_v') ? 'loop-head' : node.definitionId.startsWith('system_loop_tail_v') ? 'loop-tail' : node.definitionId.startsWith('system_start_v') ? 'start' : null : null;
47
57
  };
48
- export var getNodeShape = function getNodeShape(type, _ref2) {
58
+ exports.getNodeType = getNodeType;
59
+ var getNodeShape = function getNodeShape(type, _ref2) {
49
60
  var x = _ref2.x,
50
- y = _ref2.y;
51
- return type === 'start' ? ShapeInfo.circle(x + constants.NODE_START_RADIUS, y + constants.NODE_START_RADIUS, constants.NODE_START_RADIUS + constants.NODE_PADDING) : ShapeInfo.rectangle(x - constants.NODE_PADDING, y - constants.NODE_PADDING, constants.NODE_WIDTH + 2 * constants.NODE_PADDING, (type === 'join' || type === 'junction' ? constants.NODE_JOIN_JUNCTION_HEIGHT : constants.NODE_HEIGHT) + 2 * constants.NODE_PADDING);
61
+ y = _ref2.y;
62
+ return type === 'start' ? _kldIntersections.ShapeInfo.circle(x + constants.NODE_START_RADIUS, y + constants.NODE_START_RADIUS, constants.NODE_START_RADIUS + constants.NODE_PADDING) : _kldIntersections.ShapeInfo.rectangle(x - constants.NODE_PADDING, y - constants.NODE_PADDING, constants.NODE_WIDTH + 2 * constants.NODE_PADDING, (type === 'join' || type === 'junction' ? constants.NODE_JOIN_JUNCTION_HEIGHT : constants.NODE_HEIGHT) + 2 * constants.NODE_PADDING);
52
63
  };
53
- export var getNodeCenter = function getNodeCenter(type, _ref3) {
64
+ exports.getNodeShape = getNodeShape;
65
+ var getNodeCenter = function getNodeCenter(type, _ref3) {
54
66
  var x = _ref3.x,
55
- y = _ref3.y;
67
+ y = _ref3.y;
56
68
  return {
57
69
  x: x + (type === 'start' ? constants.NODE_START_RADIUS : constants.NODE_CENTER_X),
58
70
  y: y + (type === 'start' ? constants.NODE_START_RADIUS : type === 'join' || type === 'junction' ? constants.NODE_JOIN_JUNCTION_CENTER_Y : constants.NODE_CENTER_Y)
59
71
  };
60
72
  };
61
-
73
+ exports.getNodeCenter = getNodeCenter;
62
74
  var concatMap = function concatMap(map1, map2) {
63
75
  return map2.reduce(function (reduction, value, key) {
64
76
  return reduction.set(key, value);
65
77
  }, map1);
66
- }; // gets the parents for the given node by searching through the tree's
78
+ };
79
+
80
+ // gets the parents for the given node by searching through the tree's
67
81
  // connectors by `headId` then retrieving the parent nodes from the tree's node
68
82
  // map
69
-
70
-
71
83
  var getParents = function getParents(tree, node) {
72
84
  return tree.connectors.toList().filter(function (connector) {
73
85
  return connector.headId === node.id;
74
86
  }).map(function (connector) {
75
87
  return tree.nodes.get(connector.tailId);
76
88
  });
77
- }; // gets the ancestors for the given node by recursively traversing the parent
89
+ };
90
+
91
+ // gets the ancestors for the given node by recursively traversing the parent
78
92
  // nodes, as a map, the result should not contain duplicates and this processes
79
93
  // in depth-first order
80
-
81
-
82
- export var getAncestors = function getAncestors(tree, node) {
83
- var result = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Map();
84
- return (// get the direct parents of the node, adding them to the result and making
94
+ var getAncestors = function getAncestors(tree, node) {
95
+ var result = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : (0, _immutable.Map)();
96
+ return (
97
+ // get the direct parents of the node, adding them to the result and making
85
98
  // recursive call from the parent if necessary
86
99
  getParents(tree, node).reduce(function (reduction, parent) {
87
- return (// if the parent is already inside the result we do not want to re-add and
100
+ return (
101
+ // if the parent is already inside the result we do not want to re-add and
88
102
  // definitely do not want to make a recursive call
89
- reduction.has(parent.id) ? reduction : // make the recursive call for ancestors from the parent node (making
103
+ reduction.has(parent.id) ? reduction :
104
+ // make the recursive call for ancestors from the parent node (making
90
105
  // sure to add it to the result map passed forward), then concat the
91
106
  // result of the recursive call with the our current reduction value (so
92
107
  // sibling recursive calls will not reprocess nodes already present)
@@ -94,66 +109,76 @@ export var getAncestors = function getAncestors(tree, node) {
94
109
  );
95
110
  }, result)
96
111
  );
97
- }; // recursive helper that calls bindify if the current raw value is an object
112
+ };
113
+
114
+ // recursive helper that calls bindify if the current raw value is an object
98
115
  // or returns the leaf value object if not (removing the erb tags at the same
99
116
  // time)
100
-
117
+ exports.getAncestors = getAncestors;
101
118
  var bindify = function bindify(raw) {
102
- return Map(raw).sortBy(function (_, key) {
119
+ return (0, _immutable.Map)(raw).sortBy(function (_, key) {
103
120
  return key;
104
121
  }).map(function (value) {
105
- return isImmutable(value) ? value : isObject(value) ? Map({
122
+ return (0, _immutable.isImmutable)(value) ? value : (0, _lodashEs.isObject)(value) ? (0, _immutable.Map)({
106
123
  children: bindify(value)
107
- }) : Map({
124
+ }) : (0, _immutable.Map)({
108
125
  value: value.replace(/^<%=(.*)%>$/, '$1')
109
126
  });
110
127
  });
111
128
  };
112
-
113
- export var buildBindings = function buildBindings(tree, tasks, node) {
114
- var Results = Map({
115
- children: tree.nodes // convert the node map to use the name as the key
129
+ var buildBindings = function buildBindings(tree, tasks, node) {
130
+ var Results = (0, _immutable.Map)({
131
+ children: tree.nodes
132
+ // convert the node map to use the name as the key
116
133
  .mapKeys(function (_, node) {
117
134
  return node.name;
118
135
  }).sortBy(function (value, key) {
119
136
  return key;
120
- }) // normalize the outputs / results property (routine / handler
137
+ })
138
+ // normalize the outputs / results property (routine / handler
121
139
  // respectively)
122
140
  .map(function (node) {
123
141
  var task = tasks.get(node.definitionId);
124
142
  return task && (task.results || task.outputs) || [];
125
- }) // filter out any nodes that have no outputs / results
143
+ })
144
+ // filter out any nodes that have no outputs / results
126
145
  .filter(function (results) {
127
146
  return results.length > 0;
128
- }) // convert the results list to the bindings map using the name property
147
+ })
148
+ // convert the results list to the bindings map using the name property
129
149
  // of each result object
130
150
  .map(function (results, nodeNode) {
131
- return Map({
132
- children: OrderedMap(results.map(function (result) {
133
- return [result.name, Map({
151
+ return (0, _immutable.Map)({
152
+ children: (0, _immutable.OrderedMap)(results.map(function (result) {
153
+ return [result.name, (0, _immutable.Map)({
134
154
  value: "@results['".concat(nodeNode, "']['").concat(result.name, "']")
135
155
  })];
136
156
  }))
137
157
  });
138
158
  })
139
159
  });
140
- return bindify(Results.get('children').isEmpty() ? tree.bindings : _objectSpread(_objectSpread({}, tree.bindings), {}, {
160
+ return bindify(Results.get('children').isEmpty() ? tree.bindings : (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, tree.bindings), {}, {
141
161
  Results: Results
142
162
  }));
143
- }; // implements the process of adding a new task node and connector to the tree,
163
+ };
164
+
165
+ // implements the process of adding a new task node and connector to the tree,
144
166
  // it curries some parameters that should be applied by the click event in the
145
167
  // parent node, then returns a function called selectTaskDefinition which the
146
168
  // should be called with a task definition, then it stubs out a node and
147
169
  // connector and passes a complete function which should be called with the
148
170
  // fully configured node and connector
149
-
150
- export var addNewTask = function addNewTask(treeKey, tree, parent, position) {
171
+ exports.buildBindings = buildBindings;
172
+ var addNewTask = function addNewTask(treeKey, tree, parent, position, reset) {
151
173
  return {
174
+ cancel: reset,
152
175
  tree: tree,
153
176
  selectCloneNode: function selectCloneNode(cloneNode) {
154
177
  return addNewTaskNext({
155
178
  cloneNode: cloneNode,
179
+ position: position,
156
180
  parent: parent,
181
+ reset: reset,
157
182
  tree: tree,
158
183
  treeKey: treeKey
159
184
  });
@@ -162,6 +187,7 @@ export var addNewTask = function addNewTask(treeKey, tree, parent, position) {
162
187
  return addNewTaskNext({
163
188
  parent: parent,
164
189
  position: position,
190
+ reset: reset,
165
191
  task: task,
166
192
  tree: tree,
167
193
  treeKey: treeKey
@@ -169,118 +195,121 @@ export var addNewTask = function addNewTask(treeKey, tree, parent, position) {
169
195
  }
170
196
  };
171
197
  };
172
-
198
+ exports.addNewTask = addNewTask;
173
199
  var addNewTaskNext = function addNewTaskNext(_ref4) {
174
200
  var cloneNode = _ref4.cloneNode,
175
- parent = _ref4.parent,
176
- position = _ref4.position,
177
- task = _ref4.task,
178
- tree = _ref4.tree,
179
- treeKey = _ref4.treeKey;
201
+ parent = _ref4.parent,
202
+ position = _ref4.position,
203
+ reset = _ref4.reset,
204
+ task = _ref4.task,
205
+ tree = _ref4.tree,
206
+ treeKey = _ref4.treeKey;
180
207
  var connectors = tree.connectors,
181
- nextConnectorId = tree.nextConnectorId,
182
- nextNodeId = tree.nextNodeId,
183
- nodes = tree.nodes;
184
- var definitionId = task ? task.definitionId : cloneNode.definitionId; // stub out the new connector and node, these will be provided via return and
208
+ nextConnectorId = tree.nextConnectorId,
209
+ nextNodeId = tree.nextNodeId,
210
+ nodes = tree.nodes;
211
+ var definitionId = task ? task.definitionId : cloneNode.definitionId;
212
+ // stub out the new connector and node, these will be provided via return and
185
213
  // are meant to be passed to <ConnectorForm> and <NodeForm> respectively to be
186
214
  // further configured by the consumer of the <TreeBuilder>
187
-
188
- var connector = Connector({
215
+ var connector = (0, _models.Connector)({
189
216
  id: nextConnectorId,
190
217
  headId: nextNodeId,
191
218
  tailId: parent.id
192
219
  });
193
- var node = Node({
220
+ var node = (0, _models.Node)({
194
221
  id: nextNodeId,
195
222
  position: position,
196
223
  deferrable: task ? task.deferrable : cloneNode.deferrable,
197
224
  defers: task ? task.deferrable : cloneNode.defers,
198
225
  definitionId: definitionId,
199
226
  visible: task ? task.visible : cloneNode.visible,
200
- parameters: cloneNode ? cloneNode.parameters : List(task.parameters || task.inputs || []).map(normalizeParameter).map(NodeParameter),
201
- messages: cloneNode ? cloneNode.messages : List(task.deferrable ? ['Create', 'Update', 'Complete'] : ['Complete']).map(function (type) {
202
- return NodeMessage({
227
+ parameters: cloneNode ? cloneNode.parameters : (0, _immutable.List)(task.parameters || task.inputs || []).map(normalizeParameter).map(_models.NodeParameter),
228
+ messages: cloneNode ? cloneNode.messages : (0, _immutable.List)(task.deferrable ? ['Create', 'Update', 'Complete'] : ['Complete']).map(function (type) {
229
+ return (0, _models.NodeMessage)({
203
230
  type: type,
204
231
  value: ''
205
232
  });
206
233
  })
207
- }); // add the stubbed connector and node to the current tree, this is done to
234
+ });
235
+ // add the stubbed connector and node to the current tree, this is done to
208
236
  // accommodate the <CodeInput> bindings helper in <ConnectorForm> and
209
237
  // <NodeForm>
210
-
211
238
  var stagedTree = tree.merge({
212
239
  connectors: connectors.set(connector.id, connector),
213
240
  nextConnectorId: nextConnectorId + 1,
214
241
  nextNodeId: nextNodeId + 1,
215
242
  nodes: nodes.set(node.id, node)
216
- }); // return the pieces of data that will be passed to <ConnectorForm> and
243
+ });
244
+ // return the pieces of data that will be passed to <ConnectorForm> and
217
245
  // <NodeForm> instances and also pass a `complete` function that should be
218
246
  // called with the final connector and node records that are to be added to
219
247
  // the tree and persisted
220
-
221
248
  return {
249
+ cancel: reset,
222
250
  connector: connector,
223
251
  node: node,
224
252
  stagedTree: stagedTree,
225
253
  complete: function complete(_ref5) {
226
254
  var connector = _ref5.connector,
227
- node = _ref5.node;
228
- return dispatch('TREE_UPDATE', {
255
+ node = _ref5.node;
256
+ reset();
257
+ return (0, _store.dispatch)('TREE_UPDATE', {
229
258
  treeKey: treeKey,
230
259
  tree: stagedTree.setIn(['connectors', connector.id], connector).setIn(['nodes', node.id], node)
231
260
  });
232
261
  }
233
262
  };
234
- }; // regular expression that extracts the content from a string token which will
235
- // be wrapped with the various delimiters
263
+ };
236
264
 
265
+ // regular expression that extracts the content from a string token which will
266
+ // be wrapped with the various delimiters
267
+ var STRING_CONTENT_REGEX = /((?:%[qQiIwWxs]?)?.)(.*)(.)/;
237
268
 
238
- var STRING_CONTENT_REGEX = /((?:%[qQiIwWxs]?)?.)(.*)(.)/; // takes a erb / ruby strings and checks for references to @results['Node name']
269
+ // takes a erb / ruby strings and checks for references to @results['Node name']
239
270
  // using the language helpers,
240
-
241
- export var parseNodeResultDependencies = function parseNodeResultDependencies(context, value, erb) {
242
- return (erb ? processErbTemplate : processRuby)(value).reduce(function (_ref6, token) {
243
- var _ref7 = _slicedToArray(_ref6, 4),
244
- reduction = _ref7[0],
245
- index = _ref7[1],
246
- last1 = _ref7[2],
247
- last2 = _ref7[3];
248
-
249
- var _token = _slicedToArray(token, 2),
250
- content = _token[0],
251
- type = _token[1]; // if the current token is just whitespace we do not want to
271
+ var parseNodeResultDependencies = function parseNodeResultDependencies(context, value, erb) {
272
+ return (erb ? _languageHelpers.processErbTemplate : _languageHelpers.processRuby)(value).reduce(function (_ref6, token) {
273
+ var _ref7 = (0, _slicedToArray2["default"])(_ref6, 4),
274
+ reduction = _ref7[0],
275
+ index = _ref7[1],
276
+ last1 = _ref7[2],
277
+ last2 = _ref7[3];
278
+ var _token = (0, _slicedToArray2["default"])(token, 2),
279
+ content = _token[0],
280
+ type = _token[1];
281
+ // if the current token is just whitespace we do not want to
252
282
  // change the last1, last2 values, just increment the index
253
-
254
-
255
283
  if ((type === undefined || type === 'erb') && content.match(/\s+/)) {
256
284
  return [reduction, index + content.length, last1, last2];
257
- } // check to see if this token represents a node name dependency,
285
+ }
286
+ // check to see if this token represents a node name dependency,
258
287
  // if it is a string preceded by the [ punctuation preceded by the
259
288
  // @results variable
260
-
261
-
262
- var match = type === 'string' && last1 && last1[0] === '[' && last1[1] === 'punctuation' && last2 && last2[0] === '@results' && last2[1] === 'variable' ? content.match(STRING_CONTENT_REGEX) : null; // if it matched then we add the string's contents to the reduction along
289
+ var match = type === 'string' && last1 && last1[0] === '[' && last1[1] === 'punctuation' && last2 && last2[0] === '@results' && last2[1] === 'variable' ? content.match(STRING_CONTENT_REGEX) : null;
290
+ // if it matched then we add the string's contents to the reduction along
263
291
  // with the index of the contents (using the first part of the match to
264
292
  // because there are different lengths of delimiters ", %^, %Q(, etc.)
265
-
266
- var newReduction = match ? reduction.push(NodeResultDependency({
267
- context: List(context),
293
+ var newReduction = match ? reduction.push((0, _models.NodeResultDependency)({
294
+ context: (0, _immutable.List)(context),
268
295
  name: match[2],
269
296
  index: index + match[1].length
270
297
  })) : reduction;
271
298
  return [newReduction, index + content.length, token, last1];
272
- }, [List(), 0, null, null])[0];
299
+ }, [(0, _immutable.List)(), 0, null, null])[0];
273
300
  };
274
- export var getConnectorDependencies = function getConnectorDependencies(_ref8) {
301
+ exports.parseNodeResultDependencies = parseNodeResultDependencies;
302
+ var getConnectorDependencies = function getConnectorDependencies(_ref8) {
275
303
  var condition = _ref8.condition,
276
- id = _ref8.id;
304
+ id = _ref8.id;
277
305
  return parseNodeResultDependencies(['connectors', id, 'condition'], condition);
278
306
  };
279
- export var getNodeDependencies = function getNodeDependencies(_ref9) {
307
+ exports.getConnectorDependencies = getConnectorDependencies;
308
+ var getNodeDependencies = function getNodeDependencies(_ref9) {
280
309
  var id = _ref9.id,
281
- messages = _ref9.messages,
282
- parameters = _ref9.parameters;
283
- return List().concat(messages.flatMap(function (_ref10, i) {
310
+ messages = _ref9.messages,
311
+ parameters = _ref9.parameters;
312
+ return (0, _immutable.List)().concat(messages.flatMap(function (_ref10, i) {
284
313
  var value = _ref10.value;
285
314
  return parseNodeResultDependencies(['nodes', id, 'messages', i, 'value'], value, true);
286
315
  }), parameters.flatMap(function (_ref11, i) {
@@ -288,25 +317,30 @@ export var getNodeDependencies = function getNodeDependencies(_ref9) {
288
317
  return parseNodeResultDependencies(['nodes', id, 'parameters', i, 'value'], value, true);
289
318
  }));
290
319
  };
291
- export var searchNodeResultDependencies = function searchNodeResultDependencies(tree, nodeName) {
292
- return List().concat(tree.connectors.toList().flatMap(getConnectorDependencies), tree.nodes.toList().flatMap(getNodeDependencies)).filter(function (dependency) {
320
+ exports.getNodeDependencies = getNodeDependencies;
321
+ var searchNodeResultDependencies = function searchNodeResultDependencies(tree, nodeName) {
322
+ return (0, _immutable.List)().concat(tree.connectors.toList().flatMap(getConnectorDependencies), tree.nodes.toList().flatMap(getNodeDependencies)).filter(function (dependency) {
293
323
  return dependency.name === nodeName;
294
324
  });
295
- }; // helper function that curries the dependency record and the new node name and
325
+ };
326
+
327
+ // helper function that curries the dependency record and the new node name and
296
328
  // then it takes the value and it splices the new node name into the value at
297
329
  // the index defined in the dependency record also using the length of the old
298
330
  // name in the dependency record
299
-
300
- export var replace = function replace(dependency, newName) {
331
+ exports.searchNodeResultDependencies = searchNodeResultDependencies;
332
+ var replace = function replace(dependency, newName) {
301
333
  return function (value) {
302
334
  return value.slice(0, dependency.index) + newName + value.slice(dependency.index + dependency.name.length);
303
335
  };
304
336
  };
305
- export var renameDependencies = function renameDependencies() {
306
- var dependencies = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : List();
337
+ exports.replace = replace;
338
+ var renameDependencies = function renameDependencies() {
339
+ var dependencies = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _immutable.List)();
307
340
  var newName = arguments.length > 1 ? arguments[1] : undefined;
308
341
  return function (tree) {
309
- return dependencies // sort the dependencies by index and reverse so that replacements made in
342
+ return dependencies
343
+ // sort the dependencies by index and reverse so that replacements made in
310
344
  // the same value will not affect each other (renaming Fooo to Foo would
311
345
  // change the index of following dependencies)
312
346
  .sortBy(function (dep) {
@@ -315,23 +349,25 @@ export var renameDependencies = function renameDependencies() {
315
349
  return tree.updateIn(dependency.context, replace(dependency, newName));
316
350
  }, tree);
317
351
  };
318
- }; // routines have `inputs` and handlers have `parameters` with slightly different
352
+ };
353
+
354
+ // routines have `inputs` and handlers have `parameters` with slightly different
319
355
  // properties so this is a helper function to take one or the other and return
320
356
  // a consistent object
321
-
322
- export var normalizeParameter = function normalizeParameter(_ref12) {
357
+ exports.renameDependencies = renameDependencies;
358
+ var normalizeParameter = function normalizeParameter(_ref12) {
323
359
  var name = _ref12.name,
324
- id = _ref12.id,
325
- defaultValue = _ref12.defaultValue,
326
- rest = _objectWithoutProperties(_ref12, ["name", "id", "defaultValue"]);
327
-
328
- return _objectSpread({
360
+ id = _ref12.id,
361
+ defaultValue = _ref12.defaultValue,
362
+ rest = (0, _objectWithoutProperties2["default"])(_ref12, _excluded);
363
+ return (0, _objectSpread2["default"])({
329
364
  id: id || name,
330
365
  label: name,
331
366
  value: defaultValue
332
367
  }, rest);
333
368
  };
334
- var defaultOutputs = List([{
369
+ exports.normalizeParameter = normalizeParameter;
370
+ var defaultOutputs = (0, _immutable.List)([{
335
371
  id: 'content',
336
372
  name: 'Content'
337
373
  }, {
@@ -346,8 +382,8 @@ var defaultOutputs = List([{
346
382
  id: 'response_code',
347
383
  name: 'Response Code',
348
384
  defaultValue: '200'
349
- }]).map(Map);
350
- export var treeReturnTask = function treeReturnTask(tree) {
385
+ }]).map(_immutable.Map);
386
+ var treeReturnTask = function treeReturnTask(tree) {
351
387
  return {
352
388
  deferrable: false,
353
389
  definitionId: 'system_tree_return_v1',
@@ -375,46 +411,21 @@ export var treeReturnTask = function treeReturnTask(tree) {
375
411
  results: []
376
412
  };
377
413
  };
378
- export var getNewNodePosition = function getNewNodePosition(node, childNodes) {
414
+ exports.treeReturnTask = treeReturnTask;
415
+ var getNewNodePosition = function getNewNodePosition(node, childNodes) {
379
416
  if (childNodes.length === 0) {
380
- return node.position.update('y', function (y) {
381
- return y + NEW_TASK_DY;
382
- });
383
- } else if (childNodes.length === 1) {
384
- return childNodes[0].position.update('x', function (x) {
385
- return x + NEW_TASK_DX;
417
+ return node.position.update('x', function (x) {
418
+ return x + constants.NEW_TASK_DX;
386
419
  });
387
420
  } else {
388
- var sortedChildren = List(childNodes).sortBy(function (node) {
389
- return node.position.x;
421
+ var maxChild = (0, _immutable.List)(childNodes).sortBy(function (node) {
422
+ return node.position.y;
423
+ }).maxBy(function (node) {
424
+ return node.position.y;
425
+ });
426
+ return maxChild.position.update('y', function (y) {
427
+ return y + constants.NEW_TASK_DY;
390
428
  });
391
- var betweenNodes = sortedChildren.skip(2) // build a list of adjacent pairs of nodes
392
- .reduce(function (reduction, child) {
393
- return reduction.push([reduction.last()[1], child]);
394
- }, List.of([sortedChildren.first(), sortedChildren.get(1)])) // filter out pairs of nodes that don't have enough space between them
395
- // for a new node
396
- .filter(function (_ref13) {
397
- var _ref14 = _slicedToArray(_ref13, 2),
398
- left = _ref14[0],
399
- right = _ref14[1];
400
-
401
- return right.position.x - left.position.x >= NEW_TASK_GAP_REQUIED;
402
- }) // use the first pair of nodes with a large enough space between them
403
- .first();
404
-
405
- if (betweenNodes) {
406
- var _betweenNodes = _slicedToArray(betweenNodes, 2),
407
- left = _betweenNodes[0],
408
- right = _betweenNodes[1];
409
-
410
- return Point({
411
- x: (left.position.x + right.position.x) / 2,
412
- y: (left.position.y + right.position.y) / 2
413
- });
414
- } else {
415
- return sortedChildren.last().position.update('x', function (x) {
416
- return x + NEW_TASK_DX;
417
- });
418
- }
419
429
  }
420
- };
430
+ };
431
+ exports.getNewNodePosition = getNewNodePosition;