@kineticdata/react 5.1.1 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/task/icons/drag-handle.svg +3 -0
- package/assets/task/icons/plus_small.svg +2 -4
- package/lib/apis/agent/adapters.js +16 -12
- package/lib/apis/agent/bridges.js +54 -41
- package/lib/apis/agent/handlers.js +51 -38
- package/lib/apis/core/activity.js +19 -11
- package/lib/apis/core/attributeDefinitions.js +54 -46
- package/lib/apis/core/attributeDefinitions.test.js +47 -55
- package/lib/apis/core/authentication.js +58 -63
- package/lib/apis/core/backgroundJobs.js +38 -30
- package/lib/apis/core/bridgeModelAttributeMappings.js +42 -34
- package/lib/apis/core/bridgeModelAttributes.js +47 -37
- package/lib/apis/core/bridgeModelMappings.js +42 -34
- package/lib/apis/core/bridgeModelQualificationMappings.js +42 -34
- package/lib/apis/core/bridgeModelQualifications.js +42 -34
- package/lib/apis/core/bridgeModels.js +61 -45
- package/lib/apis/core/bridgeModels.test.js +64 -80
- package/lib/apis/core/bridgedresources.js +64 -71
- package/lib/apis/core/bridgedresources.test.js +34 -31
- package/lib/apis/core/categories.js +59 -52
- package/lib/apis/core/categories.test.js +36 -33
- package/lib/apis/core/fileResources.js +41 -33
- package/lib/apis/core/filestores.js +42 -34
- package/lib/apis/core/formTypes.js +50 -44
- package/lib/apis/core/forms.js +53 -48
- package/lib/apis/core/forms.test.js +60 -74
- package/lib/apis/core/kapps.js +45 -39
- package/lib/apis/core/kapps.test.js +45 -52
- package/lib/apis/core/logs.js +20 -16
- package/lib/apis/core/memberships.js +23 -20
- package/lib/apis/core/meta.js +31 -19
- package/lib/apis/core/notices.js +17 -9
- package/lib/apis/core/oauthClients.js +49 -45
- package/lib/apis/core/platformComponents.js +73 -57
- package/lib/apis/core/platformItems.js +30 -0
- package/lib/apis/core/profile.js +28 -21
- package/lib/apis/core/profile.test.js +20 -17
- package/lib/apis/core/securityPolicyDefinitions.js +48 -41
- package/lib/apis/core/securityPolicyDefinitions.test.js +50 -60
- package/lib/apis/core/space.js +23 -16
- package/lib/apis/core/space.test.js +31 -38
- package/lib/apis/core/submissions.js +220 -172
- package/lib/apis/core/submissions.test.js +81 -51
- package/lib/apis/core/teams.js +51 -44
- package/lib/apis/core/teams.test.js +42 -39
- package/lib/apis/core/translations.js +123 -130
- package/lib/apis/core/translations.test.js +278 -368
- package/lib/apis/core/users.js +56 -49
- package/lib/apis/core/users.test.js +42 -39
- package/lib/apis/core/version.js +20 -11
- package/lib/apis/core/webApis.js +42 -34
- package/lib/apis/core/webhooks.js +48 -41
- package/lib/apis/core/webhooks.test.js +50 -60
- package/lib/apis/core/webhooksJobs.js +30 -26
- package/lib/apis/core/workflows.js +64 -0
- package/lib/apis/http.js +89 -80
- package/lib/apis/http.test.js +37 -38
- package/lib/apis/index.js +506 -48
- package/lib/apis/system/index.js +228 -211
- package/lib/apis/task/index.js +283 -226
- package/lib/components/agent/bridge/BridgeForm.js +50 -50
- package/lib/components/agent/bridge/BridgeTable.js +12 -8
- package/lib/components/agent/filestore/FilestoreForm.js +49 -48
- package/lib/components/agent/filestore/FilestoreTable.js +12 -8
- package/lib/components/agent/handler/AgentHandlerForm.js +24 -27
- package/lib/components/agent/handler/AgentHandlerTable.js +12 -8
- package/lib/components/common/AttributeSelect.js +15 -9
- package/lib/components/common/BridgeSelect.js +48 -43
- package/lib/components/common/ComponentConfigContext.js +9 -2
- package/lib/components/common/ContentEditable.js +36 -60
- package/lib/components/common/FormSelect.js +70 -58
- package/lib/components/common/NodeSelect.js +23 -19
- package/lib/components/common/Scroller.js +24 -23
- package/lib/components/common/StaticSelect.js +57 -50
- package/lib/components/common/TableInput.js +54 -57
- package/lib/components/common/TeamSelect.js +42 -39
- package/lib/components/common/Typeahead.js +121 -138
- package/lib/components/common/UserSelect.js +42 -41
- package/lib/components/common/authentication/AuthInterceptor.js +15 -19
- package/lib/components/common/authentication/AuthInterceptor.test.js +46 -64
- package/lib/components/common/authentication/AuthenticationContainer.js +350 -454
- package/lib/components/common/authentication/RequestInterceptor.js +16 -19
- package/lib/components/common/code_input/CodeInput.js +92 -122
- package/lib/components/common/code_input/draftHelpers.js +96 -90
- package/lib/components/common/code_input/languageHelpers.js +49 -47
- package/lib/components/common/code_input/languageHelpers.test.js +21 -16
- package/lib/components/core/CoreFormModal.js +26 -24
- package/lib/components/core/CoreModal.js +37 -31
- package/lib/components/core/attribute_definition/AttributeDefinitionForm.js +24 -23
- package/lib/components/core/attribute_definition/AttributeDefinitionTable.js +18 -15
- package/lib/components/core/bridge_model/BridgeModelForm.js +27 -37
- package/lib/components/core/bridge_model/BridgeModelTable.js +12 -8
- package/lib/components/core/bridge_model_attribute/BridgeModelAttributeForm.js +17 -16
- package/lib/components/core/bridge_model_attribute/BridgeModelAttributeTable.js +25 -21
- package/lib/components/core/bridge_model_qualification/BridgeModelQualificationForm.js +20 -20
- package/lib/components/core/bridge_model_qualification/BridgeModelQualificationTable.js +27 -22
- package/lib/components/core/category/CategoryForm.js +22 -22
- package/lib/components/core/category/CategoryTable.js +15 -10
- package/lib/components/core/core_form/CoreForm.js +209 -285
- package/lib/components/core/core_form/CoreForm.test.js +12 -10
- package/lib/components/core/core_form/defaults/index.js +52 -44
- package/lib/components/core/core_form/globals.js +14 -5
- package/lib/components/core/field_definition/FieldDefinitionForm.js +23 -21
- package/lib/components/core/field_definition/FieldDefinitionTable.js +15 -10
- package/lib/components/core/file_resource/FileResourceForm.js +38 -37
- package/lib/components/core/file_resource/FileResourceTable.js +16 -12
- package/lib/components/core/form/FormForm.js +56 -61
- package/lib/components/core/form/FormTable.js +25 -22
- package/lib/components/core/form_type/FormTypeForm.js +14 -13
- package/lib/components/core/form_type/FormTypeTable.js +12 -8
- package/lib/components/core/i18n/I18n.js +54 -61
- package/lib/components/core/i18n/I18nContext.js +9 -2
- package/lib/components/core/i18n/I18nProvider.js +40 -43
- package/lib/components/core/i18n/Moment.js +40 -50
- package/lib/components/core/index_definition/IndexDefinitionForm.js +23 -24
- package/lib/components/core/index_definition/IndexDefinitionTable.js +19 -11
- package/lib/components/core/index_job/IndexJobTable.js +20 -15
- package/lib/components/core/kapp/KappForm.js +57 -58
- package/lib/components/core/kapp/KappTable.js +17 -12
- package/lib/components/core/log/LogTable.js +35 -33
- package/lib/components/core/oauth_client/OAuthClientForm.js +17 -17
- package/lib/components/core/oauth_client/OAuthClientTable.js +12 -8
- package/lib/components/core/platform_component/AgentComponentForm.js +15 -15
- package/lib/components/core/platform_component/AgentComponentTable.js +10 -5
- package/lib/components/core/platform_component/TaskComponentForm.js +14 -14
- package/lib/components/core/profile/ProfileForm.js +40 -39
- package/lib/components/core/security_definition/SecurityDefinitionForm.js +28 -25
- package/lib/components/core/security_definition/SecurityDefinitionTable.js +18 -13
- package/lib/components/core/space/SpaceForm.js +79 -90
- package/lib/components/core/submission/DatastoreSubmissionFilters.js +39 -40
- package/lib/components/core/submission/DatastoreSubmissionTable.js +37 -34
- package/lib/components/core/submission/FormSubmissionFilters.js +79 -75
- package/lib/components/core/submission/FormSubmissionTable.js +27 -20
- package/lib/components/core/submission/KappSubmissionTable.js +30 -29
- package/lib/components/core/submission/SubmissionForm.js +126 -55
- package/lib/components/core/submission/SubmissionTable.js +24 -20
- package/lib/components/core/submission/helpers.js +37 -33
- package/lib/components/core/submission/helpers.test.js +69 -20
- package/lib/components/core/team/TeamForm.js +24 -21
- package/lib/components/core/team/TeamTable.js +16 -11
- package/lib/components/core/translation/ContextForm.js +13 -10
- package/lib/components/core/translation/ContextTable.js +13 -10
- package/lib/components/core/translation/EntryForm.js +27 -24
- package/lib/components/core/translation/EntryTable.js +19 -16
- package/lib/components/core/translation/LocaleForm.js +16 -13
- package/lib/components/core/translation/LocaleTable.js +12 -8
- package/lib/components/core/user/UserForm.js +38 -37
- package/lib/components/core/user/UserTable.js +19 -15
- package/lib/components/core/webapi/WebApiForm.js +49 -61
- package/lib/components/core/webapi/WebApiTable.js +14 -10
- package/lib/components/core/webhook/WebhookForm.js +33 -32
- package/lib/components/core/webhook/WebhookTable.js +22 -20
- package/lib/components/core/webhook_job/WebhookJobTable.js +19 -16
- package/lib/components/form/Form.helpers.js +102 -90
- package/lib/components/form/Form.js +467 -524
- package/lib/components/form/Form.models.js +38 -24
- package/lib/components/form/FormState.js +8 -5
- package/lib/components/form/KitchenSinkForm.js +135 -4
- package/lib/components/form/defaults/AttributesField.js +48 -59
- package/lib/components/form/defaults/CheckboxField.js +14 -6
- package/lib/components/form/defaults/CodeField.js +15 -7
- package/lib/components/form/defaults/FormButtons.js +12 -4
- package/lib/components/form/defaults/FormError.js +12 -4
- package/lib/components/form/defaults/FormField.js +15 -7
- package/lib/components/form/defaults/FormLayout.js +12 -4
- package/lib/components/form/defaults/FormMultiField.js +15 -7
- package/lib/components/form/defaults/PasswordField.js +14 -6
- package/lib/components/form/defaults/RadioField.js +15 -7
- package/lib/components/form/defaults/SampleTeamsRolesFIeld.js +17 -9
- package/lib/components/form/defaults/SelectField.js +16 -8
- package/lib/components/form/defaults/SelectMultiField.js +15 -7
- package/lib/components/form/defaults/TableField.js +14 -6
- package/lib/components/form/defaults/TeamField.js +15 -7
- package/lib/components/form/defaults/TeamMultiField.js +15 -7
- package/lib/components/form/defaults/TextField.js +14 -6
- package/lib/components/form/defaults/TextMultiField.js +26 -28
- package/lib/components/form/defaults/UserField.js +15 -7
- package/lib/components/form/defaults/UserMultiField.js +15 -7
- package/lib/components/form/defaults/index.js +48 -41
- package/lib/components/form/tests/Form.test.js +568 -864
- package/lib/components/form/tests/components.js +15 -25
- package/lib/components/form/tests/helpers.test.js +35 -33
- package/lib/components/index.js +981 -133
- package/lib/components/system/SystemBackgroundTasksTable.js +14 -10
- package/lib/components/system/SystemFilestoreForm.js +28 -25
- package/lib/components/system/SystemForm.js +19 -16
- package/lib/components/system/SystemIngressForm.js +10 -9
- package/lib/components/system/SystemSecurityForm.js +17 -14
- package/lib/components/system/SystemSmtpForm.js +13 -13
- package/lib/components/system/SystemTaskAdapterForm.js +21 -17
- package/lib/components/system/SystemUserForm.js +15 -14
- package/lib/components/system/helpers.js +62 -60
- package/lib/components/system/helpers.test.js +16 -12
- package/lib/components/system/spaces/SystemSpaceForm.js +25 -24
- package/lib/components/system/spaces/SystemTenantForm.js +43 -40
- package/lib/components/system/spaces/SystemTenantTable.js +12 -8
- package/lib/components/table/Table.js +219 -225
- package/lib/components/table/Table.redux.js +298 -327
- package/lib/components/table/Table.redux.test.js +49 -47
- package/lib/components/table/Table.test.js +107 -132
- package/lib/components/table/defaults/BodyCell.js +12 -6
- package/lib/components/table/defaults/BodyRow.js +10 -4
- package/lib/components/table/defaults/BooleanFilter.js +17 -11
- package/lib/components/table/defaults/EmptyBodyRow.js +12 -6
- package/lib/components/table/defaults/FilterLayout.js +17 -11
- package/lib/components/table/defaults/Footer.js +11 -5
- package/lib/components/table/defaults/FooterCell.js +10 -4
- package/lib/components/table/defaults/FooterRow.js +10 -4
- package/lib/components/table/defaults/Header.js +10 -4
- package/lib/components/table/defaults/HeaderCell.js +16 -10
- package/lib/components/table/defaults/HeaderRow.js +10 -4
- package/lib/components/table/defaults/PaginationControl.js +18 -9
- package/lib/components/table/defaults/TableBody.js +10 -4
- package/lib/components/table/defaults/TableLayout.js +12 -6
- package/lib/components/table/defaults/TextFilter.js +16 -10
- package/lib/components/table/defaults/index.js +41 -33
- package/lib/components/task/builder/Connector.js +100 -111
- package/lib/components/task/builder/ConnectorForm.js +17 -11
- package/lib/components/task/builder/Node.js +101 -83
- package/lib/components/task/builder/NodeForm.js +30 -27
- package/lib/components/task/builder/NodeParametersForm.js +27 -24
- package/lib/components/task/builder/SvgCanvas.js +67 -96
- package/lib/components/task/builder/SvgText.js +19 -134
- package/lib/components/task/builder/TaskDefinitionConfigForm.js +28 -23
- package/lib/components/task/builder/TreeBuilder.js +140 -115
- package/lib/components/task/builder/builder.redux.js +322 -300
- package/lib/components/task/builder/constants.js +94 -45
- package/lib/components/task/builder/helpers.js +184 -173
- package/lib/components/task/builder/helpers.test.js +20 -18
- package/lib/components/task/builder/models.js +133 -91
- package/lib/components/task/category/TaskCategoryForm.js +31 -29
- package/lib/components/task/category/TaskCategoryTable.js +12 -8
- package/lib/components/task/common/UsageTable.js +16 -12
- package/lib/components/task/engine/EngineSettingsForm.js +13 -11
- package/lib/components/task/errors/RunErrorTable.js +17 -13
- package/lib/components/task/errors/SystemErrorsTable.js +13 -9
- package/lib/components/task/handlers/HandlerForm.js +55 -55
- package/lib/components/task/handlers/HandlerTable.js +12 -8
- package/lib/components/task/handlers/MissingHandlerTable.js +12 -8
- package/lib/components/task/policy_rule/PolicyRuleForm.js +33 -32
- package/lib/components/task/policy_rule/PolicyRuleTable.js +12 -8
- package/lib/components/task/runs/CreateManualTriggerForm.js +17 -15
- package/lib/components/task/runs/RunTable.js +23 -20
- package/lib/components/task/runs/RunTaskTable.js +10 -6
- package/lib/components/task/sources/SourceForm.js +47 -47
- package/lib/components/task/sources/SourceTable.js +14 -11
- package/lib/components/task/triggers/TriggerTable.js +21 -18
- package/lib/components/task/workflows/LinkedWorkflowForm.js +249 -0
- package/lib/components/task/workflows/LinkedWorkflowTable.js +137 -0
- package/lib/components/task/workflows/MissingRoutineTable.js +12 -8
- package/lib/components/task/workflows/WorkflowForm.js +61 -46
- package/lib/components/task/workflows/WorkflowTable.js +17 -14
- package/lib/helpers/SearchBuilder.js +73 -127
- package/lib/helpers/SearchBuilder.test.js +184 -175
- package/lib/helpers/index.js +116 -74
- package/lib/index.js +86 -38
- package/lib/reducer.js +11 -3
- package/lib/saga.js +42 -38
- package/lib/store.js +59 -35
- package/package.json +4 -29
- package/proxyhelper.js +105 -47
- package/assets/discussions/images/avi_128.png +0 -0
- package/assets/discussions/images/excel_128.png +0 -0
- package/assets/discussions/images/html_128.png +0 -0
- package/assets/discussions/images/illustrator_128.png +0 -0
- package/assets/discussions/images/indesign_128.png +0 -0
- package/assets/discussions/images/movie_128.png +0 -0
- package/assets/discussions/images/mpeg_128.png +0 -0
- package/assets/discussions/images/pdf_128.png +0 -0
- package/assets/discussions/images/photoshop_128.png +0 -0
- package/assets/discussions/images/powerpoint_128.png +0 -0
- package/assets/discussions/images/txt_128.png +0 -0
- package/assets/discussions/images/unknown_128.png +0 -0
- package/assets/discussions/images/word_128.png +0 -0
- package/assets/discussions/styles/_discussion.scss +0 -506
- package/lib/apis/discussions/index.js +0 -395
- package/lib/apis/socket/index.js +0 -77
- package/lib/apis/socket/socket.js +0 -350
- package/lib/apis/socket/socket.test.js +0 -90
- package/lib/apis/socket/timer.js +0 -45
- package/lib/apis/socket/timer.test.js +0 -51
- package/lib/apis/socket/topic.js +0 -185
- package/lib/apis/topics/index.js +0 -19
- package/lib/components/discussions/ChatInputForm.js +0 -424
- package/lib/components/discussions/DateBanner.js +0 -10
- package/lib/components/discussions/Discussion.js +0 -202
- package/lib/components/discussions/DiscussionForm.js +0 -227
- package/lib/components/discussions/InvitationForm.js +0 -107
- package/lib/components/discussions/MessageHistory.js +0 -110
- package/lib/components/discussions/MessagesByDate.js +0 -40
- package/lib/components/discussions/MessagesList.js +0 -30
- package/lib/components/discussions/MoreMessagesBanner.js +0 -26
- package/lib/components/discussions/ScrollHelper.js +0 -84
- package/lib/components/discussions/SystemMessage.js +0 -88
- package/lib/components/discussions/SystemMessageGroup.js +0 -15
- package/lib/components/discussions/UserMessage.js +0 -163
- package/lib/components/discussions/UserMessageGroup.js +0 -34
- package/lib/components/discussions/redux.js +0 -178
- package/lib/components/discussions/sagas.js +0 -500
- package/lib/helpers/discussions/canManage.js +0 -30
- package/lib/helpers/discussions/canManage.test.js +0 -69
- package/lib/helpers/discussions/generateSystemMessageContent.js +0 -131
- package/lib/helpers/discussions/generateSystemMessageContent.test.js +0 -450
- package/lib/models/discussions.js +0 -76
- package/lib/models/index.js +0 -1
|
@@ -1,92 +1,107 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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);
|
|
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
|
-
}
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
58
|
+
exports.getNodeType = getNodeType;
|
|
59
|
+
var getNodeShape = function getNodeShape(type, _ref2) {
|
|
49
60
|
var x = _ref2.x,
|
|
50
|
-
|
|
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
|
-
|
|
64
|
+
exports.getNodeShape = getNodeShape;
|
|
65
|
+
var getNodeCenter = function getNodeCenter(type, _ref3) {
|
|
54
66
|
var x = _ref3.x,
|
|
55
|
-
|
|
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
|
-
};
|
|
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
|
-
};
|
|
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
|
-
|
|
83
|
-
|
|
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 (
|
|
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 :
|
|
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
|
-
};
|
|
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
|
-
|
|
114
|
-
|
|
115
|
-
|
|
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
|
-
})
|
|
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
|
-
})
|
|
143
|
+
})
|
|
144
|
+
// filter out any nodes that have no outputs / results
|
|
126
145
|
.filter(function (results) {
|
|
127
146
|
return results.length > 0;
|
|
128
|
-
})
|
|
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 :
|
|
160
|
+
return bindify(Results.get('children').isEmpty() ? tree.bindings : (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, tree.bindings), {}, {
|
|
141
161
|
Results: Results
|
|
142
162
|
}));
|
|
143
|
-
};
|
|
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
|
-
|
|
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
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
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
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
var definitionId = task ? task.definitionId : cloneNode.definitionId;
|
|
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
|
-
});
|
|
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
|
-
});
|
|
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
|
-
|
|
228
|
-
|
|
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
|
-
};
|
|
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
|
-
|
|
269
|
+
// takes a erb / ruby strings and checks for references to @results['Node name']
|
|
239
270
|
// using the language helpers,
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
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
|
-
}
|
|
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
|
-
|
|
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
|
-
|
|
301
|
+
exports.parseNodeResultDependencies = parseNodeResultDependencies;
|
|
302
|
+
var getConnectorDependencies = function getConnectorDependencies(_ref8) {
|
|
275
303
|
var condition = _ref8.condition,
|
|
276
|
-
|
|
304
|
+
id = _ref8.id;
|
|
277
305
|
return parseNodeResultDependencies(['connectors', id, 'condition'], condition);
|
|
278
306
|
};
|
|
279
|
-
|
|
307
|
+
exports.getConnectorDependencies = getConnectorDependencies;
|
|
308
|
+
var getNodeDependencies = function getNodeDependencies(_ref9) {
|
|
280
309
|
var id = _ref9.id,
|
|
281
|
-
|
|
282
|
-
|
|
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
|
-
|
|
292
|
-
|
|
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
|
-
};
|
|
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
|
-
|
|
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
|
-
|
|
306
|
-
|
|
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
|
|
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
|
-
};
|
|
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
|
-
|
|
357
|
+
exports.renameDependencies = renameDependencies;
|
|
358
|
+
var normalizeParameter = function normalizeParameter(_ref12) {
|
|
323
359
|
var name = _ref12.name,
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
414
|
+
exports.treeReturnTask = treeReturnTask;
|
|
415
|
+
var getNewNodePosition = function getNewNodePosition(node, childNodes) {
|
|
379
416
|
if (childNodes.length === 0) {
|
|
380
|
-
return node.position.update('
|
|
381
|
-
return
|
|
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
|
|
389
|
-
return node.position.
|
|
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;
|