n8n-editor-ui 1.77.0 → 1.77.2
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/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DI9LKNPl.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-C9LVFaJT.js} +1 -1
- package/dist/assets/{AuthView-DM7o3O4n.js → AuthView-C383xWYW.js} +2 -2
- package/dist/assets/{CanvasChat-D_6gR76j.js → CanvasChat-BGlghV3T.js} +13 -19
- package/dist/assets/{CanvasControls-Nhfb4Lvl.js → CanvasControls-Crujpx17.js} +1 -1
- package/dist/assets/{ChangePasswordView-BaAm4ZVG.js → ChangePasswordView-DXzIgEaK.js} +3 -3
- package/dist/assets/CollectionParameter-C_1RVSJv.js +4 -0
- package/dist/assets/{ConcurrentExecutionsHeader-DIjBdza6.js → ConcurrentExecutionsHeader-D9E-tPI2.js} +2 -2
- package/dist/assets/{CredentialsView-Xu6hENWr.js → CredentialsView-Db-yh1UW.js} +4 -4
- package/dist/assets/{ErrorView-DUTGEeMV.js → ErrorView-DVEUcXeM.js} +1 -1
- package/dist/assets/{ExecutionsView-BUxJO71n.js → ExecutionsView-CqcJ1jBb.js} +5 -5
- package/dist/assets/{FileSaver.min-BEdek61R.js → FileSaver.min-DRMcruyG.js} +1 -1
- package/dist/assets/{FixedCollectionParameter-C347CzJX.js → FixedCollectionParameter-rnJQitY7.js} +1 -1
- package/dist/assets/{ForgotMyPasswordView-COBAL4BR.js → ForgotMyPasswordView-CCuBQ23v.js} +3 -3
- package/dist/assets/{Logo-D0YIkpeq.js → Logo-vj6e7OLa.js} +1 -1
- package/dist/assets/{MainHeader-C9fFpTj2.js → MainHeader-Bz40v4tX.js} +9 -9
- package/dist/assets/{MainSidebar-DqTz49bY.js → MainSidebar-7b7uQIcC.js} +2 -2
- package/dist/assets/{NodeCreation-BfPITu8g.js → NodeCreation-KBmCqr6_.js} +4 -4
- package/dist/assets/{NodeCreator-CK6kn0Jv.js → NodeCreator-DTMPwVj5.js} +4 -4
- package/dist/assets/{NodeViewSwitcher-Ccwulgc_.js → NodeViewSwitcher-O6VqzxIl.js} +21 -21
- package/dist/assets/{ProjectCardBadge-Dzk3JBiy.js → ProjectCardBadge-OKM1Xgdw.js} +1 -1
- package/dist/assets/{ProjectHeader-DScDlb97.js → ProjectHeader-6S5uaHXh.js} +1 -1
- package/dist/assets/{ProjectSettings-BKBT1ZQ3.js → ProjectSettings-BnHtiDEV.js} +2 -2
- package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-vHkaCcgH.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-IciN-pmV.js} +1 -1
- package/dist/assets/{ResourcesListLayout-Bm25PbPe.js → ResourcesListLayout-D4r1wqjJ.js} +1 -1
- package/dist/assets/{RunDataJson-DdPA-vUg.js → RunDataJson-wyo45w7C.js} +14 -14
- package/dist/assets/{RunDataJsonActions-DQOpbX-O.js → RunDataJsonActions-D46WL4YN.js} +2 -2
- package/dist/assets/{RunDataSearch-CouFZTIv.js → RunDataSearch-B3EyVssL.js} +1 -1
- package/dist/assets/{RunDataTable-BTSlSsV8.js → RunDataTable-DGMN5nF6.js} +2 -2
- package/dist/assets/{SamlOnboarding-ByjacAW7.js → SamlOnboarding-CnXUkDfT.js} +3 -3
- package/dist/assets/{SettingsApiView-Bcy_zE6E.js → SettingsApiView-EFylgnqH.js} +1 -1
- package/dist/assets/{SettingsCommunityNodesView-Cjl8HKbz.js → SettingsCommunityNodesView-9KrggWFu.js} +4 -4
- package/dist/assets/{SettingsExternalSecrets-BdjUgns5.js → SettingsExternalSecrets-DBPzjP3z.js} +1 -1
- package/dist/assets/{SettingsLdapView-JZznK2gT.js → SettingsLdapView-Bg2KWXN0.js} +1 -1
- package/dist/assets/{SettingsLogStreamingView-Dr-YFp2W.js → SettingsLogStreamingView-tgIsDBAk.js} +1 -1
- package/dist/assets/{SettingsPersonalView-inpY_nzK.js → SettingsPersonalView-CDJ8_Cuz.js} +1 -1
- package/dist/assets/{SettingsSourceControl-Cg7lS-SE.js → SettingsSourceControl-ap8XMKcG.js} +1 -1
- package/dist/assets/{SettingsSso-NG13hUzi.js → SettingsSso-B91oi5bN.js} +1 -1
- package/dist/assets/{SettingsUsageAndPlan-BgSLN2VF.js → SettingsUsageAndPlan-Bb6yK99X.js} +1 -1
- package/dist/assets/{SettingsUsersView-DUmnh2jo.js → SettingsUsersView-Ci2z6Jpz.js} +1 -1
- package/dist/assets/{SettingsView-DdHGr_vR.js → SettingsView-CStRsQ-w.js} +1 -1
- package/dist/assets/{SetupView-ByLBPzaO.js → SetupView-B5zAoB3c.js} +3 -3
- package/dist/assets/{SetupWorkflowCredentialsButton-Dv3O2B1n.js → SetupWorkflowCredentialsButton-Cro6GHxL.js} +1 -1
- package/dist/assets/{SetupWorkflowFromTemplateView-DFn8kOzj.js → SetupWorkflowFromTemplateView-CcwL92Id.js} +3 -3
- package/dist/assets/{SigninView-DIJ4QhSe.js → SigninView-DsPEhU2L.js} +3 -3
- package/dist/assets/{SignoutView-CzgpQ3SX.js → SignoutView-BIckw4fs.js} +1 -1
- package/dist/assets/{SignupView-Ki2_QcUU.js → SignupView-DdJWtYpI.js} +3 -3
- package/dist/assets/{TemplateDetails-BSeVX-wU.js → TemplateDetails-C41VgGvk.js} +1 -1
- package/dist/assets/{TemplateList-CM9EZ6da.js → TemplateList-DkS7PdQW.js} +1 -1
- package/dist/assets/{TemplatesCollectionView-DQMG3Nx0.js → TemplatesCollectionView-BV7HXuai.js} +5 -5
- package/dist/assets/{TemplatesSearchView-BG5Bfpq9.js → TemplatesSearchView-BKY_Lw-C.js} +3 -3
- package/dist/assets/{TemplatesView-D3vhmKK2.js → TemplatesView-C312c1EZ.js} +1 -1
- package/dist/assets/{TemplatesWorkflowView-BVZExmo-.js → TemplatesWorkflowView-BfzWwupR.js} +5 -5
- package/dist/assets/{TestDefinitionEditView-DeYXSHuX.js → TestDefinitionEditView-CwoHUF5w.js} +3 -3
- package/dist/assets/{TestDefinitionListView-Dm0Wfpbk.js → TestDefinitionListView-2tWTEUz0.js} +1 -1
- package/dist/assets/{TestDefinitionRootView-v_AUC4gJ.js → TestDefinitionRootView-gJRxCHz3.js} +1 -1
- package/dist/assets/{VariablesView-BBjPCn4K.js → VariablesView-DqbIksP3.js} +2 -2
- package/dist/assets/{WorkerView-wAx-DxZp.js → WorkerView-DSPfcsXN.js} +5 -5
- package/dist/assets/{WorkflowActivator-KzTynbZM.js → WorkflowActivator-Bm8OihqN.js} +2 -2
- package/dist/assets/{WorkflowExecutionsInfoAccordion-BWYv1FIv.js → WorkflowExecutionsInfoAccordion-B78-cQSW.js} +1 -1
- package/dist/assets/{WorkflowExecutionsLandingPage-LwIHX7rs.js → WorkflowExecutionsLandingPage-C39BBF2o.js} +2 -2
- package/dist/assets/{WorkflowExecutionsPreview-D68OCpWf.js → WorkflowExecutionsPreview-CdlK3mFb.js} +5 -5
- package/dist/assets/{WorkflowExecutionsView-C47WjaF2.js → WorkflowExecutionsView-a-Pjy5V5.js} +5 -5
- package/dist/assets/{WorkflowHistory-VBfitRhR.js → WorkflowHistory-Bwqmh22i.js} +3 -3
- package/dist/assets/{WorkflowOnboardingView-X9Yz2kZe.js → WorkflowOnboardingView-CipWLUUf.js} +1 -1
- package/dist/assets/{WorkflowPreview-D0IqMbWq.js → WorkflowPreview-CAjmdxrY.js} +1 -1
- package/dist/assets/{WorkflowsView-CXhmco5U.js → WorkflowsView-DP6J_TRf.js} +7 -7
- package/dist/assets/{easyAiWorkflowUtils-B7xBZAZO.js → easyAiWorkflowUtils-BLdDr_bc.js} +1 -1
- package/dist/assets/{index-BW7gX0J2.js → index-DablXALM.js} +54 -54
- package/dist/assets/{polyfills-DNwgos9f.js → polyfills-DfOJfMlf.js} +257 -847
- package/dist/assets/{pushConnection.store-C6PSl50Z.js → pushConnection.store-DmLr_C_P.js} +1 -1
- package/dist/assets/{templateActions-BHlzMnfj.js → templateActions--1waaCku.js} +1 -1
- package/dist/assets/{useBeforeUnload-BudMrcxz.js → useBeforeUnload-C9Q3IFHU.js} +1 -1
- package/dist/assets/{useCanvasOperations-ZjLeZwpS.js → useCanvasOperations-CEPzjX8I.js} +545 -669
- package/dist/assets/{useExecutionDebugging-C_Y6ee_L.js → useExecutionDebugging-Pzj1BQ1f.js} +1 -1
- package/dist/assets/{useExecutionHelpers-MX6P-wr8.js → useExecutionHelpers-F_WL-Kvp.js} +1 -1
- package/dist/assets/{usePinnedData-CHMuwypo.js → usePinnedData-BEOJK2e-.js} +1 -1
- package/dist/assets/{usePushConnection-3HzYJp1-.js → usePushConnection-BlvBVLFC.js} +3 -3
- package/dist/assets/{useRunWorkflow-DUK8ev8x.js → useRunWorkflow-CoRVHZg2.js} +3 -3
- package/dist/assets/{useWorkflowActivate-BjJ3P-qa.js → useWorkflowActivate-wvqU9rPU.js} +1 -1
- package/dist/index.html +2 -2
- package/package.json +1 -1
- package/dist/assets/CollectionParameter-B6Y-W51v.js +0 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { gn as createCompounder, go as SetCache, gp as arrayIncludes, gq as cacheHas, gr as baseRest, gs as isArrayLikeObject, gt as baseFlatten, r as ref, K as useUIStore, bo as useNodeTypesStore, T as useWorkflowsStore, a0 as useSourceControlStore, q as computed, al as getResourcePermissions, cR as isPresent, H as watch, dz as getMousePosition$1, aB as STICKY_NODE_TYPE, g as useI18n, gu as NOT_DUPLICATABLE_NODE_TYPES, d as defineComponent, E as onClickOutside, l as unref, c as openBlock, e as createBlock, j as createBaseVNode, i as createVNode, w as withCtx, n as normalizeClass, gv as N8nActionDropdown, B as normalizeStyle, gw as Teleport, f as createCommentVNode, _ as _export_sfc$1, bk as v4, gx as CORE_NODES_CATEGORY, gy as DEFAULT_SUBCATEGORY, p as useSettingsStore, gz as AI_TRANSFORM_NODE_TYPE, gA as sublimeSearch, ba as AI_SUBCATEGORY, bb as AI_CATEGORY_AGENTS, gB as sortBy, fV as i18n, gC as AI_CATEGORY_OTHER_TOOLS, gD as AI_OTHERS_NODE_CREATOR_VIEW, gE as AI_CATEGORY_DOCUMENT_LOADERS, bh as NodeConnectionType, gF as AI_CATEGORY_LANGUAGE_MODELS, gG as AI_CATEGORY_MEMORY, gH as AI_CATEGORY_OUTPUTPARSER, gI as AI_CATEGORY_RETRIEVERS, gJ as AI_CATEGORY_TEXT_SPLITTERS, gK as AI_CATEGORY_TOOLS, gL as AI_WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE, gM as AI_CODE_TOOL_LANGCHAIN_NODE_TYPE, gN as AI_CATEGORY_EMBEDDING, gO as AI_CATEGORY_VECTOR_STORES, gP as AI_UNCATEGORIZED_CATEGORY, aM as useTemplatesStore, eo as AI_NODE_CREATOR_VIEW, dP as TRIGGER_NODE_CREATOR_VIEW, bI as MANUAL_TRIGGER_NODE_TYPE, bJ as WEBHOOK_NODE_TYPE, gQ as EMAIL_IMAP_NODE_TYPE, gR as SCHEDULE_TRIGGER_NODE_TYPE, by as FORM_TRIGGER_NODE_TYPE, g9 as EXECUTE_WORKFLOW_TRIGGER_NODE_TYPE, b7 as CHAT_TRIGGER_NODE_TYPE, gS as OTHER_TRIGGER_NODES_SUBCATEGORY, eH as REGULAR_NODE_CREATOR_VIEW, gT as RSS_READ_NODE_TYPE, gU as EMAIL_SEND_NODE_TYPE, gV as TRANSFORM_DATA_SUBCATEGORY, gW as FILTER_NODE_TYPE, gX as REMOVE_DUPLICATES_NODE_TYPE, gY as SPLIT_OUT_NODE_TYPE, gZ as LIMIT_NODE_TYPE, g_ as SUMMARIZE_NODE_TYPE, g$ as AGGREGATE_NODE_TYPE, h0 as MERGE_NODE_TYPE, co as HTML_NODE_TYPE, h1 as MARKDOWN_NODE_TYPE, h2 as XML_NODE_TYPE, h3 as CRYPTO_NODE_TYPE, h4 as EXTRACT_FROM_FILE_NODE_TYPE, h5 as CONVERT_TO_FILE_NODE_TYPE, h6 as COMPRESSION_NODE_TYPE, h7 as EDIT_IMAGE_NODE_TYPE, h8 as FLOWS_CONTROL_SUBCATEGORY, h9 as IF_NODE_TYPE, ha as SPLIT_IN_BATCHES_NODE_TYPE, hb as HELPERS_SUBCATEGORY, hc as HTTP_REQUEST_NODE_TYPE, hd as CODE_NODE_TYPE, bc as AI_CATEGORY_CHAINS, he as SET_NODE_TYPE, hf as DATETIME_NODE_TYPE, R as defineStore, $ as useCanvasStore, hg as AI_CATEGORY_ROOT_NODES, y as nextTick, bd as AI_CODE_NODE_TYPE, bK as AI_TRANSFORM_NODE_TYPE$1, eQ as CanvasConnectionMode, hh as isValidCanvasConnectionMode, d7 as isValidNodeConnectionType, S as STORES, as as useNDVStore, dE as NODE_CREATOR_OPEN_SOURCES, hi as isVueFlowConnection, d$ as nodeConnectionTypes, be as getNodeInputs, dp as CUSTOM_API_CALL_KEY, aT as useExternalHooks, aj as useTelemetry, hj as effectScope, cj as toRef, h as createElementBlock, s as renderSlot, ca as useSlots, bq as provide, b4 as onUnmounted, aw as onBeforeMount, o as onMounted, hk as
|
|
2
|
-
import { c as capitalize, u as usePinnedData } from "./usePinnedData-
|
|
1
|
+
import { gn as createCompounder, go as SetCache, gp as arrayIncludes, gq as cacheHas, gr as baseRest, gs as isArrayLikeObject, gt as baseFlatten, r as ref, K as useUIStore, bo as useNodeTypesStore, T as useWorkflowsStore, a0 as useSourceControlStore, q as computed, al as getResourcePermissions, cR as isPresent, H as watch, dz as getMousePosition$1, aB as STICKY_NODE_TYPE, g as useI18n, gu as NOT_DUPLICATABLE_NODE_TYPES, d as defineComponent, E as onClickOutside, l as unref, c as openBlock, e as createBlock, j as createBaseVNode, i as createVNode, w as withCtx, n as normalizeClass, gv as N8nActionDropdown, B as normalizeStyle, gw as Teleport, f as createCommentVNode, _ as _export_sfc$1, bk as v4, gx as CORE_NODES_CATEGORY, gy as DEFAULT_SUBCATEGORY, p as useSettingsStore, gz as AI_TRANSFORM_NODE_TYPE, gA as sublimeSearch, ba as AI_SUBCATEGORY, bb as AI_CATEGORY_AGENTS, gB as sortBy, fV as i18n, gC as AI_CATEGORY_OTHER_TOOLS, gD as AI_OTHERS_NODE_CREATOR_VIEW, gE as AI_CATEGORY_DOCUMENT_LOADERS, bh as NodeConnectionType, gF as AI_CATEGORY_LANGUAGE_MODELS, gG as AI_CATEGORY_MEMORY, gH as AI_CATEGORY_OUTPUTPARSER, gI as AI_CATEGORY_RETRIEVERS, gJ as AI_CATEGORY_TEXT_SPLITTERS, gK as AI_CATEGORY_TOOLS, gL as AI_WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE, gM as AI_CODE_TOOL_LANGCHAIN_NODE_TYPE, gN as AI_CATEGORY_EMBEDDING, gO as AI_CATEGORY_VECTOR_STORES, gP as AI_UNCATEGORIZED_CATEGORY, aM as useTemplatesStore, eo as AI_NODE_CREATOR_VIEW, dP as TRIGGER_NODE_CREATOR_VIEW, bI as MANUAL_TRIGGER_NODE_TYPE, bJ as WEBHOOK_NODE_TYPE, gQ as EMAIL_IMAP_NODE_TYPE, gR as SCHEDULE_TRIGGER_NODE_TYPE, by as FORM_TRIGGER_NODE_TYPE, g9 as EXECUTE_WORKFLOW_TRIGGER_NODE_TYPE, b7 as CHAT_TRIGGER_NODE_TYPE, gS as OTHER_TRIGGER_NODES_SUBCATEGORY, eH as REGULAR_NODE_CREATOR_VIEW, gT as RSS_READ_NODE_TYPE, gU as EMAIL_SEND_NODE_TYPE, gV as TRANSFORM_DATA_SUBCATEGORY, gW as FILTER_NODE_TYPE, gX as REMOVE_DUPLICATES_NODE_TYPE, gY as SPLIT_OUT_NODE_TYPE, gZ as LIMIT_NODE_TYPE, g_ as SUMMARIZE_NODE_TYPE, g$ as AGGREGATE_NODE_TYPE, h0 as MERGE_NODE_TYPE, co as HTML_NODE_TYPE, h1 as MARKDOWN_NODE_TYPE, h2 as XML_NODE_TYPE, h3 as CRYPTO_NODE_TYPE, h4 as EXTRACT_FROM_FILE_NODE_TYPE, h5 as CONVERT_TO_FILE_NODE_TYPE, h6 as COMPRESSION_NODE_TYPE, h7 as EDIT_IMAGE_NODE_TYPE, h8 as FLOWS_CONTROL_SUBCATEGORY, h9 as IF_NODE_TYPE, ha as SPLIT_IN_BATCHES_NODE_TYPE, hb as HELPERS_SUBCATEGORY, hc as HTTP_REQUEST_NODE_TYPE, hd as CODE_NODE_TYPE, bc as AI_CATEGORY_CHAINS, he as SET_NODE_TYPE, hf as DATETIME_NODE_TYPE, R as defineStore, $ as useCanvasStore, hg as AI_CATEGORY_ROOT_NODES, y as nextTick, bd as AI_CODE_NODE_TYPE, bK as AI_TRANSFORM_NODE_TYPE$1, eQ as CanvasConnectionMode, hh as isValidCanvasConnectionMode, d7 as isValidNodeConnectionType, S as STORES, as as useNDVStore, dE as NODE_CREATOR_OPEN_SOURCES, hi as isVueFlowConnection, d$ as nodeConnectionTypes, be as getNodeInputs, dp as CUSTOM_API_CALL_KEY, aT as useExternalHooks, aj as useTelemetry, hj as effectScope, cj as toRef, h as createElementBlock, s as renderSlot, ca as useSlots, bq as provide, b4 as onUnmounted, aw as onBeforeMount, o as onMounted, hk as useAttrs, a$ as mergeProps, F as Fragment, d5 as getCurrentInstance, dy as reactive, aW as inject, t as toDisplayString, A as renderList, x as onBeforeUnmount, hl as isMemoSame, hm as getCurrentScope, hn as onScopeDispose, aX as isRef, aY as toRefs$1, ho as customRef, hp as toValue$1, hq as createPropsRestProxy, b0 as resolveDynamicComponent, k as createTextVNode, m as resolveComponent, ap as h, hr as readonly, hs as markRaw, dD as KeyboardShortcutTooltip, ht as CanvasKey, aa as useCssModule, bn as watchEffect, aZ as normalizeProps, hu as CanvasNodeKey, eN as CanvasNodeRenderType, hv as refThrottled, hw as mergeModels, hx as useModel, bp as useNodeHelpers, bH as TitledList, cO as resolveDirective, ax as withDirectives, ac as nodeViewEventBus, hy as CanvasNodeHandleKey, ay as vShow, cZ as Transition$2, br as _sfc_main$y, I as withModifiers, C as createEventBus, bP as isEqual, hz as useActiveElement, d0 as useDeviceSupport, hA as useEventListener$1, aS as createSlots, dk as GRID_SIZE, hB as onKeyDown, hC as onKeyUp, c9 as useThrottleFn, a_ as guardReactiveProps, cr as Suspense, bg as getNodeOutputs, c$ as getTriggerNodeServiceName, eW as sanitizeHtml, bG as nodeIssuesToString, ds as WAIT_NODE_TYPE, dt as SEND_AND_WAIT_OPERATION, du as FORM_NODE_TYPE, dv as WAIT_INDEFINITELY, Z as useRootStore, bR as useCredentialsStore, bU as useHistoryStore, D as useTagsStore, at as useExecutionsStore, a as useToast, a4 as useWorkflowHelpers, b6 as useClipboard, dS as MoveNodeCommand, c3 as RenameNodeCommand, eL as RemoveNodeCommand, eJ as useDataSchema, dZ as NODE_SIZE, hD as AddNodeCommand, b$ as getNodeParameters, dU as getNewNodePosition, hE as DEFAULT_NODE_SIZE, hF as CONFIGURATION_NODE_SIZE, bf as getConnectionTypes, d_ as generateOffsets, hG as CONFIGURABLE_NODE_SIZE, dY as PUSH_NODES_OFFSET, e8 as AddConnectionCommand, ei as RemoveConnectionCommand, dT as UPDATE_WEBHOOK_ID_NODE_TYPES, dN as generateNodesGraph, a8 as EnterpriseEditionFeature, c0 as deepCopy } from "./index-DablXALM.js";
|
|
2
|
+
import { c as capitalize, u as usePinnedData } from "./usePinnedData-BEOJK2e-.js";
|
|
3
3
|
var camelCase = createCompounder(function(result, word, index) {
|
|
4
4
|
word = word.toLowerCase();
|
|
5
5
|
return result + (index ? capitalize(word) : word);
|
|
@@ -5865,36 +5865,27 @@ function calcNextPosition(node2, nextPosition, triggerError, nodeExtent, parentN
|
|
|
5865
5865
|
computedPosition: clampedPos
|
|
5866
5866
|
};
|
|
5867
5867
|
}
|
|
5868
|
-
function getHandlePosition(node2, handle2, fallbackPosition = Position.Left) {
|
|
5868
|
+
function getHandlePosition(node2, handle2, fallbackPosition = Position.Left, center = false) {
|
|
5869
5869
|
const x = ((handle2 == null ? void 0 : handle2.x) ?? 0) + node2.computedPosition.x;
|
|
5870
5870
|
const y = ((handle2 == null ? void 0 : handle2.y) ?? 0) + node2.computedPosition.y;
|
|
5871
5871
|
const { width, height } = handle2 ?? getNodeDimensions(node2);
|
|
5872
|
+
if (center) {
|
|
5873
|
+
return { x: x + width / 2, y: y + height / 2 };
|
|
5874
|
+
}
|
|
5872
5875
|
const position2 = (handle2 == null ? void 0 : handle2.position) ?? fallbackPosition;
|
|
5873
5876
|
switch (position2) {
|
|
5874
5877
|
case Position.Top:
|
|
5875
|
-
return {
|
|
5876
|
-
x: x + width / 2,
|
|
5877
|
-
y
|
|
5878
|
-
};
|
|
5878
|
+
return { x: x + width / 2, y };
|
|
5879
5879
|
case Position.Right:
|
|
5880
|
-
return {
|
|
5881
|
-
x: x + width,
|
|
5882
|
-
y: y + height / 2
|
|
5883
|
-
};
|
|
5880
|
+
return { x: x + width, y: y + height / 2 };
|
|
5884
5881
|
case Position.Bottom:
|
|
5885
|
-
return {
|
|
5886
|
-
x: x + width / 2,
|
|
5887
|
-
y: y + height
|
|
5888
|
-
};
|
|
5882
|
+
return { x: x + width / 2, y: y + height };
|
|
5889
5883
|
case Position.Left:
|
|
5890
|
-
return {
|
|
5891
|
-
x,
|
|
5892
|
-
y: y + height / 2
|
|
5893
|
-
};
|
|
5884
|
+
return { x, y: y + height / 2 };
|
|
5894
5885
|
}
|
|
5895
5886
|
}
|
|
5896
|
-
function
|
|
5897
|
-
if (!bounds
|
|
5887
|
+
function getEdgeHandle(bounds, handleId) {
|
|
5888
|
+
if (!bounds) {
|
|
5898
5889
|
return null;
|
|
5899
5890
|
}
|
|
5900
5891
|
return (!handleId ? bounds[0] : bounds.find((d) => d.id === handleId)) || null;
|
|
@@ -6094,103 +6085,90 @@ function snapPosition(position2, snapGrid = [1, 1]) {
|
|
|
6094
6085
|
y: snapGrid[1] * Math.round(position2.y / snapGrid[1])
|
|
6095
6086
|
};
|
|
6096
6087
|
}
|
|
6097
|
-
|
|
6098
|
-
return {
|
|
6099
|
-
handleDomNode: null,
|
|
6100
|
-
isValid: false,
|
|
6101
|
-
connection: { source: "", target: "", sourceHandle: null, targetHandle: null },
|
|
6102
|
-
endHandle: null
|
|
6103
|
-
};
|
|
6104
|
-
}
|
|
6088
|
+
const alwaysValid$1 = () => true;
|
|
6105
6089
|
function resetRecentHandle(handleDomNode) {
|
|
6106
6090
|
handleDomNode == null ? void 0 : handleDomNode.classList.remove("valid", "connecting", "vue-flow__handle-valid", "vue-flow__handle-connecting");
|
|
6107
6091
|
}
|
|
6108
|
-
function
|
|
6109
|
-
const
|
|
6110
|
-
|
|
6111
|
-
|
|
6112
|
-
|
|
6113
|
-
|
|
6114
|
-
|
|
6115
|
-
|
|
6116
|
-
|
|
6117
|
-
|
|
6118
|
-
|
|
6119
|
-
});
|
|
6092
|
+
function getNodesWithinDistance(position2, nodeLookup, distance2) {
|
|
6093
|
+
const nodes = [];
|
|
6094
|
+
const rect = {
|
|
6095
|
+
x: position2.x - distance2,
|
|
6096
|
+
y: position2.y - distance2,
|
|
6097
|
+
width: distance2 * 2,
|
|
6098
|
+
height: distance2 * 2
|
|
6099
|
+
};
|
|
6100
|
+
for (const node2 of nodeLookup.values()) {
|
|
6101
|
+
if (getOverlappingArea(rect, nodeToRect(node2)) > 0) {
|
|
6102
|
+
nodes.push(node2);
|
|
6120
6103
|
}
|
|
6121
6104
|
}
|
|
6122
|
-
return
|
|
6105
|
+
return nodes;
|
|
6123
6106
|
}
|
|
6124
|
-
|
|
6125
|
-
|
|
6126
|
-
|
|
6127
|
-
const handleBelow = domNodes.find((el) => el.classList.contains("vue-flow__handle"));
|
|
6128
|
-
if (handleBelow) {
|
|
6129
|
-
const handleNodeId = handleBelow.getAttribute("data-nodeid");
|
|
6130
|
-
if (handleNodeId) {
|
|
6131
|
-
const handleType = getHandleType(void 0, handleBelow);
|
|
6132
|
-
const handleId = handleBelow.getAttribute("data-handleid");
|
|
6133
|
-
const validHandleResult = validator({ nodeId: handleNodeId, id: handleId, type: handleType });
|
|
6134
|
-
if (validHandleResult) {
|
|
6135
|
-
const handle2 = handles.find((h2) => h2.nodeId === handleNodeId && h2.type === handleType && h2.id === handleId);
|
|
6136
|
-
return {
|
|
6137
|
-
handle: {
|
|
6138
|
-
id: handleId,
|
|
6139
|
-
type: handleType,
|
|
6140
|
-
nodeId: handleNodeId,
|
|
6141
|
-
x: (handle2 == null ? void 0 : handle2.x) || pos.x,
|
|
6142
|
-
y: (handle2 == null ? void 0 : handle2.y) || pos.y
|
|
6143
|
-
},
|
|
6144
|
-
validHandleResult
|
|
6145
|
-
};
|
|
6146
|
-
}
|
|
6147
|
-
}
|
|
6148
|
-
}
|
|
6107
|
+
const ADDITIONAL_DISTANCE = 250;
|
|
6108
|
+
function getClosestHandle(position2, connectionRadius, nodeLookup, fromHandle) {
|
|
6109
|
+
var _a, _b;
|
|
6149
6110
|
let closestHandles = [];
|
|
6150
6111
|
let minDistance = Number.POSITIVE_INFINITY;
|
|
6151
|
-
|
|
6152
|
-
|
|
6153
|
-
|
|
6154
|
-
|
|
6155
|
-
if (
|
|
6156
|
-
|
|
6157
|
-
|
|
6158
|
-
|
|
6159
|
-
|
|
6160
|
-
|
|
6161
|
-
|
|
6162
|
-
|
|
6163
|
-
|
|
6112
|
+
const closeNodes = getNodesWithinDistance(position2, nodeLookup, connectionRadius + ADDITIONAL_DISTANCE);
|
|
6113
|
+
for (const node2 of closeNodes) {
|
|
6114
|
+
const allHandles = [...((_a = node2.handleBounds) == null ? void 0 : _a.source) ?? [], ...((_b = node2.handleBounds) == null ? void 0 : _b.target) ?? []];
|
|
6115
|
+
for (const handle2 of allHandles) {
|
|
6116
|
+
if (fromHandle.nodeId === handle2.nodeId && fromHandle.type === handle2.type && fromHandle.id === handle2.id) {
|
|
6117
|
+
continue;
|
|
6118
|
+
}
|
|
6119
|
+
const { x, y } = getHandlePosition(node2, handle2, handle2.position, true);
|
|
6120
|
+
const distance2 = Math.sqrt((x - position2.x) ** 2 + (y - position2.y) ** 2);
|
|
6121
|
+
if (distance2 > connectionRadius) {
|
|
6122
|
+
continue;
|
|
6123
|
+
}
|
|
6124
|
+
if (distance2 < minDistance) {
|
|
6125
|
+
closestHandles = [{ ...handle2, x, y }];
|
|
6164
6126
|
minDistance = distance2;
|
|
6127
|
+
} else if (distance2 === minDistance) {
|
|
6128
|
+
closestHandles.push({ ...handle2, x, y });
|
|
6165
6129
|
}
|
|
6166
6130
|
}
|
|
6167
6131
|
}
|
|
6168
6132
|
if (!closestHandles.length) {
|
|
6169
|
-
return
|
|
6170
|
-
}
|
|
6171
|
-
if (closestHandles.length === 1) {
|
|
6172
|
-
return closestHandles[0];
|
|
6133
|
+
return null;
|
|
6173
6134
|
}
|
|
6174
|
-
|
|
6175
|
-
|
|
6176
|
-
|
|
6177
|
-
|
|
6178
|
-
|
|
6179
|
-
}
|
|
6180
|
-
function isValidHandle(event,
|
|
6135
|
+
if (closestHandles.length > 1) {
|
|
6136
|
+
const oppositeHandleType = fromHandle.type === "source" ? "target" : "source";
|
|
6137
|
+
return closestHandles.find((handle2) => handle2.type === oppositeHandleType) ?? closestHandles[0];
|
|
6138
|
+
}
|
|
6139
|
+
return closestHandles[0];
|
|
6140
|
+
}
|
|
6141
|
+
function isValidHandle(event, {
|
|
6142
|
+
handle: handle2,
|
|
6143
|
+
connectionMode,
|
|
6144
|
+
fromNodeId,
|
|
6145
|
+
fromHandleId,
|
|
6146
|
+
fromType,
|
|
6147
|
+
doc,
|
|
6148
|
+
lib,
|
|
6149
|
+
flowId,
|
|
6150
|
+
isValidConnection = alwaysValid$1
|
|
6151
|
+
}, edges, nodes, findNode) {
|
|
6181
6152
|
const isTarget = fromType === "target";
|
|
6182
|
-
const handleDomNode = doc.querySelector(
|
|
6153
|
+
const handleDomNode = handle2 ? doc.querySelector(`.${lib}-flow__handle[data-id="${flowId}-${handle2 == null ? void 0 : handle2.nodeId}-${handle2 == null ? void 0 : handle2.id}-${handle2 == null ? void 0 : handle2.type}"]`) : null;
|
|
6183
6154
|
const { x, y } = getEventPosition(event);
|
|
6184
|
-
const
|
|
6185
|
-
const handleToCheck = (
|
|
6186
|
-
const result =
|
|
6155
|
+
const handleBelow = doc.elementFromPoint(x, y);
|
|
6156
|
+
const handleToCheck = (handleBelow == null ? void 0 : handleBelow.classList.contains(`${lib}-flow__handle`)) ? handleBelow : handleDomNode;
|
|
6157
|
+
const result = {
|
|
6158
|
+
handleDomNode: handleToCheck,
|
|
6159
|
+
isValid: false,
|
|
6160
|
+
connection: null,
|
|
6161
|
+
toHandle: null
|
|
6162
|
+
};
|
|
6187
6163
|
if (handleToCheck) {
|
|
6188
|
-
result.handleDomNode = handleToCheck;
|
|
6189
6164
|
const handleType = getHandleType(void 0, handleToCheck);
|
|
6190
6165
|
const handleNodeId = handleToCheck.getAttribute("data-nodeid");
|
|
6191
6166
|
const handleId = handleToCheck.getAttribute("data-handleid");
|
|
6192
6167
|
const connectable = handleToCheck.classList.contains("connectable");
|
|
6193
6168
|
const connectableEnd = handleToCheck.classList.contains("connectableend");
|
|
6169
|
+
if (!handleNodeId || !handleType) {
|
|
6170
|
+
return result;
|
|
6171
|
+
}
|
|
6194
6172
|
const connection = {
|
|
6195
6173
|
source: isTarget ? handleNodeId : fromNodeId,
|
|
6196
6174
|
sourceHandle: isTarget ? handleId : fromHandleId,
|
|
@@ -6200,38 +6178,16 @@ function isValidHandle(event, handle2, connectionMode, fromNodeId, fromHandleId,
|
|
|
6200
6178
|
result.connection = connection;
|
|
6201
6179
|
const isConnectable = connectable && connectableEnd;
|
|
6202
6180
|
const isValid = isConnectable && (connectionMode === ConnectionMode.Strict ? isTarget && handleType === "source" || !isTarget && handleType === "target" : handleNodeId !== fromNodeId || handleId !== fromHandleId);
|
|
6203
|
-
|
|
6204
|
-
|
|
6205
|
-
|
|
6206
|
-
|
|
6207
|
-
|
|
6208
|
-
|
|
6209
|
-
|
|
6210
|
-
result.endHandle = {
|
|
6211
|
-
nodeId: handleNodeId,
|
|
6212
|
-
handleId,
|
|
6213
|
-
type: handleType,
|
|
6214
|
-
position: result.isValid ? handleToCheck.getAttribute("data-handlepos") : null
|
|
6215
|
-
};
|
|
6216
|
-
}
|
|
6181
|
+
result.isValid = isValid && isValidConnection(connection, {
|
|
6182
|
+
nodes,
|
|
6183
|
+
edges,
|
|
6184
|
+
sourceNode: findNode(fromNodeId),
|
|
6185
|
+
targetNode: findNode(handleNodeId)
|
|
6186
|
+
});
|
|
6187
|
+
result.toHandle = handle2;
|
|
6217
6188
|
}
|
|
6218
6189
|
return result;
|
|
6219
6190
|
}
|
|
6220
|
-
function getHandleLookup({ nodes, nodeId, handleId, handleType }) {
|
|
6221
|
-
const handleLookup = [];
|
|
6222
|
-
for (let i = 0; i < nodes.length; i++) {
|
|
6223
|
-
const node2 = nodes[i];
|
|
6224
|
-
const { handleBounds } = node2;
|
|
6225
|
-
let sourceHandles = [];
|
|
6226
|
-
let targetHandles = [];
|
|
6227
|
-
if (handleBounds) {
|
|
6228
|
-
sourceHandles = getHandles(node2, handleBounds, "source", `${nodeId}-${handleId}-${handleType}`);
|
|
6229
|
-
targetHandles = getHandles(node2, handleBounds, "target", `${nodeId}-${handleId}-${handleType}`);
|
|
6230
|
-
}
|
|
6231
|
-
handleLookup.push(...sourceHandles, ...targetHandles);
|
|
6232
|
-
}
|
|
6233
|
-
return handleLookup;
|
|
6234
|
-
}
|
|
6235
6191
|
function getHandleType(edgeUpdaterType, handleDomNode) {
|
|
6236
6192
|
if (edgeUpdaterType) {
|
|
6237
6193
|
return edgeUpdaterType;
|
|
@@ -6251,6 +6207,31 @@ function getConnectionStatus(isInsideConnectionRadius, isHandleValid) {
|
|
|
6251
6207
|
}
|
|
6252
6208
|
return connectionStatus;
|
|
6253
6209
|
}
|
|
6210
|
+
function isConnectionValid(isInsideConnectionRadius, isHandleValid) {
|
|
6211
|
+
let isValid = null;
|
|
6212
|
+
if (isHandleValid) {
|
|
6213
|
+
isValid = true;
|
|
6214
|
+
} else if (isInsideConnectionRadius && !isHandleValid) {
|
|
6215
|
+
isValid = false;
|
|
6216
|
+
}
|
|
6217
|
+
return isValid;
|
|
6218
|
+
}
|
|
6219
|
+
function getHandle(nodeId, handleType, handleId, nodeLookup, connectionMode, withAbsolutePosition = false) {
|
|
6220
|
+
var _a, _b, _c;
|
|
6221
|
+
const node2 = nodeLookup.get(nodeId);
|
|
6222
|
+
if (!node2) {
|
|
6223
|
+
return null;
|
|
6224
|
+
}
|
|
6225
|
+
const handles = connectionMode === ConnectionMode.Strict ? (_a = node2.handleBounds) == null ? void 0 : _a[handleType] : [...((_b = node2.handleBounds) == null ? void 0 : _b.source) ?? [], ...((_c = node2.handleBounds) == null ? void 0 : _c.target) ?? []];
|
|
6226
|
+
const handle2 = (handleId ? handles == null ? void 0 : handles.find((h2) => h2.id === handleId) : handles == null ? void 0 : handles[0]) ?? null;
|
|
6227
|
+
return handle2 && withAbsolutePosition ? { ...handle2, ...getHandlePosition(node2, handle2, handle2.position, true) } : handle2;
|
|
6228
|
+
}
|
|
6229
|
+
const oppositePosition = {
|
|
6230
|
+
[Position.Left]: Position.Right,
|
|
6231
|
+
[Position.Right]: Position.Left,
|
|
6232
|
+
[Position.Top]: Position.Bottom,
|
|
6233
|
+
[Position.Bottom]: Position.Top
|
|
6234
|
+
};
|
|
6254
6235
|
const productionEnvs = ["production", "prod"];
|
|
6255
6236
|
function warn(message, ...args) {
|
|
6256
6237
|
if (isDev()) {
|
|
@@ -6260,14 +6241,16 @@ function warn(message, ...args) {
|
|
|
6260
6241
|
function isDev() {
|
|
6261
6242
|
return !productionEnvs.includes("production");
|
|
6262
6243
|
}
|
|
6263
|
-
function getHandleBounds(
|
|
6264
|
-
const handles = nodeElement.querySelectorAll(`.vue-flow__handle
|
|
6244
|
+
function getHandleBounds(type, nodeElement, nodeBounds, zoom2) {
|
|
6245
|
+
const handles = nodeElement.querySelectorAll(`.vue-flow__handle.${type}`);
|
|
6265
6246
|
const handlesArray = Array.from(handles);
|
|
6266
6247
|
return handlesArray.map((handle2) => {
|
|
6267
6248
|
const handleBounds = handle2.getBoundingClientRect();
|
|
6268
6249
|
return {
|
|
6269
6250
|
id: handle2.getAttribute("data-handleid"),
|
|
6270
6251
|
position: handle2.getAttribute("data-handlepos"),
|
|
6252
|
+
nodeId: handle2.getAttribute("data-nodeid"),
|
|
6253
|
+
type,
|
|
6271
6254
|
x: (handleBounds.left - nodeBounds.left) / zoom2,
|
|
6272
6255
|
y: (handleBounds.top - nodeBounds.top) / zoom2,
|
|
6273
6256
|
...getDimensions(handle2)
|
|
@@ -6361,18 +6344,42 @@ function createGraphNodes(nodes, findNode, triggerError) {
|
|
|
6361
6344
|
}
|
|
6362
6345
|
return nextNodes;
|
|
6363
6346
|
}
|
|
6364
|
-
function
|
|
6347
|
+
function addConnectionToLookup(type, connection, connectionKey, connectionLookup, nodeId, handleId) {
|
|
6348
|
+
let key = nodeId;
|
|
6349
|
+
const nodeMap = connectionLookup.get(key) || /* @__PURE__ */ new Map();
|
|
6350
|
+
connectionLookup.set(key, nodeMap.set(connectionKey, connection));
|
|
6351
|
+
key = `${nodeId}-${type}`;
|
|
6352
|
+
const typeMap = connectionLookup.get(key) || /* @__PURE__ */ new Map();
|
|
6353
|
+
connectionLookup.set(key, typeMap.set(connectionKey, connection));
|
|
6354
|
+
if (handleId) {
|
|
6355
|
+
key = `${nodeId}-${type}-${handleId}`;
|
|
6356
|
+
const handleMap = connectionLookup.get(key) || /* @__PURE__ */ new Map();
|
|
6357
|
+
connectionLookup.set(key, handleMap.set(connectionKey, connection));
|
|
6358
|
+
}
|
|
6359
|
+
}
|
|
6360
|
+
function updateConnectionLookup(connectionLookup, edgeLookup, edges) {
|
|
6365
6361
|
connectionLookup.clear();
|
|
6362
|
+
edgeLookup.clear();
|
|
6366
6363
|
for (const edge2 of edges) {
|
|
6367
|
-
const {
|
|
6368
|
-
const
|
|
6369
|
-
const
|
|
6370
|
-
const
|
|
6371
|
-
|
|
6372
|
-
|
|
6373
|
-
|
|
6374
|
-
|
|
6364
|
+
const { source: sourceNode, target: targetNode, sourceHandle = null, targetHandle = null } = edge2;
|
|
6365
|
+
const connection = { edgeId: edge2.id, source: sourceNode, target: targetNode, sourceHandle, targetHandle };
|
|
6366
|
+
const sourceKey = `${sourceNode}-${sourceHandle}--${targetNode}-${targetHandle}`;
|
|
6367
|
+
const targetKey = `${targetNode}-${targetHandle}--${sourceNode}-${sourceHandle}`;
|
|
6368
|
+
addConnectionToLookup("source", connection, targetKey, connectionLookup, sourceNode, sourceHandle);
|
|
6369
|
+
addConnectionToLookup("target", connection, sourceKey, connectionLookup, targetNode, targetHandle);
|
|
6370
|
+
edgeLookup.set(edge2.id, edge2);
|
|
6371
|
+
}
|
|
6372
|
+
}
|
|
6373
|
+
function areSetsEqual(a, b) {
|
|
6374
|
+
if (a.size !== b.size) {
|
|
6375
|
+
return false;
|
|
6376
|
+
}
|
|
6377
|
+
for (const item of a) {
|
|
6378
|
+
if (!b.has(item)) {
|
|
6379
|
+
return false;
|
|
6380
|
+
}
|
|
6375
6381
|
}
|
|
6382
|
+
return true;
|
|
6376
6383
|
}
|
|
6377
6384
|
function createGraphEdges(nextEdges, isValidConnection, findNode, findEdge, onError, defaultEdgeOptions, nodes, edges) {
|
|
6378
6385
|
const validEdges = [];
|
|
@@ -6712,6 +6719,7 @@ function useHandle({
|
|
|
6712
6719
|
onEdgeUpdateEnd
|
|
6713
6720
|
}) {
|
|
6714
6721
|
const {
|
|
6722
|
+
id: flowId,
|
|
6715
6723
|
vueFlowRef,
|
|
6716
6724
|
connectionMode,
|
|
6717
6725
|
connectionRadius,
|
|
@@ -6729,12 +6737,12 @@ function useHandle({
|
|
|
6729
6737
|
viewport,
|
|
6730
6738
|
edges,
|
|
6731
6739
|
nodes,
|
|
6732
|
-
isValidConnection: isValidConnectionProp
|
|
6740
|
+
isValidConnection: isValidConnectionProp,
|
|
6741
|
+
nodeLookup
|
|
6733
6742
|
} = useVueFlow();
|
|
6734
6743
|
let connection = null;
|
|
6735
6744
|
let isValid = false;
|
|
6736
6745
|
let handleDomNode = null;
|
|
6737
|
-
let previousConnection = null;
|
|
6738
6746
|
function handlePointerDown(event) {
|
|
6739
6747
|
var _a;
|
|
6740
6748
|
const isTarget = toValue$1(type) === "target";
|
|
@@ -6743,35 +6751,47 @@ function useHandle({
|
|
|
6743
6751
|
if (isMouseTriggered && event.button === 0 || !isMouseTriggered) {
|
|
6744
6752
|
let onPointerMove = function(event2) {
|
|
6745
6753
|
connectionPosition = getEventPosition(event2, containerBounds);
|
|
6746
|
-
|
|
6747
|
-
event2,
|
|
6748
|
-
doc,
|
|
6754
|
+
closestHandle = getClosestHandle(
|
|
6749
6755
|
pointToRendererPoint(connectionPosition, viewport.value, false, [1, 1]),
|
|
6750
6756
|
connectionRadius.value,
|
|
6751
|
-
|
|
6752
|
-
|
|
6753
|
-
event2,
|
|
6754
|
-
handle22,
|
|
6755
|
-
connectionMode.value,
|
|
6756
|
-
toValue$1(nodeId),
|
|
6757
|
-
toValue$1(handleId),
|
|
6758
|
-
isTarget ? "target" : "source",
|
|
6759
|
-
isValidConnectionHandler,
|
|
6760
|
-
doc,
|
|
6761
|
-
edges.value,
|
|
6762
|
-
nodes.value,
|
|
6763
|
-
findNode
|
|
6764
|
-
)
|
|
6757
|
+
nodeLookup.value,
|
|
6758
|
+
fromHandle
|
|
6765
6759
|
);
|
|
6766
|
-
closestHandle = handle2;
|
|
6767
6760
|
if (!autoPanStarted) {
|
|
6768
6761
|
autoPan();
|
|
6769
6762
|
autoPanStarted = true;
|
|
6770
6763
|
}
|
|
6771
|
-
|
|
6772
|
-
|
|
6773
|
-
|
|
6774
|
-
|
|
6764
|
+
const result = isValidHandle(
|
|
6765
|
+
event2,
|
|
6766
|
+
{
|
|
6767
|
+
handle: closestHandle,
|
|
6768
|
+
connectionMode: connectionMode.value,
|
|
6769
|
+
fromNodeId: toValue$1(nodeId),
|
|
6770
|
+
fromHandleId: toValue$1(handleId),
|
|
6771
|
+
fromType: isTarget ? "target" : "source",
|
|
6772
|
+
isValidConnection: isValidConnectionHandler,
|
|
6773
|
+
doc,
|
|
6774
|
+
lib: "vue",
|
|
6775
|
+
flowId,
|
|
6776
|
+
nodeLookup: nodeLookup.value
|
|
6777
|
+
},
|
|
6778
|
+
edges.value,
|
|
6779
|
+
nodes.value,
|
|
6780
|
+
findNode
|
|
6781
|
+
);
|
|
6782
|
+
handleDomNode = result.handleDomNode;
|
|
6783
|
+
connection = result.connection;
|
|
6784
|
+
isValid = isConnectionValid(!!closestHandle, result.isValid);
|
|
6785
|
+
const newConnection2 = {
|
|
6786
|
+
// from stays the same
|
|
6787
|
+
...previousConnection,
|
|
6788
|
+
isValid,
|
|
6789
|
+
to: closestHandle && isValid ? rendererPointToPoint({ x: closestHandle.x, y: closestHandle.y }, viewport.value) : connectionPosition,
|
|
6790
|
+
toHandle: result.toHandle,
|
|
6791
|
+
toPosition: isValid && result.toHandle ? result.toHandle.position : oppositePosition[fromHandle.position],
|
|
6792
|
+
toNode: result.toHandle ? nodeLookup.value.get(result.toHandle.nodeId) : null
|
|
6793
|
+
};
|
|
6794
|
+
if (isValid && closestHandle && (previousConnection == null ? void 0 : previousConnection.toHandle) && newConnection2.toHandle && previousConnection.toHandle.type === newConnection2.toHandle.type && previousConnection.toHandle.nodeId === newConnection2.toHandle.nodeId && previousConnection.toHandle.id === newConnection2.toHandle.id && previousConnection.to.x === newConnection2.to.x && previousConnection.to.y === newConnection2.to.y) {
|
|
6775
6795
|
return;
|
|
6776
6796
|
}
|
|
6777
6797
|
updateConnection(
|
|
@@ -6782,10 +6802,10 @@ function useHandle({
|
|
|
6782
6802
|
},
|
|
6783
6803
|
viewport.value
|
|
6784
6804
|
) : connectionPosition,
|
|
6785
|
-
|
|
6805
|
+
result.toHandle,
|
|
6786
6806
|
getConnectionStatus(!!closestHandle, isValid)
|
|
6787
6807
|
);
|
|
6788
|
-
previousConnection =
|
|
6808
|
+
previousConnection = newConnection2;
|
|
6789
6809
|
if (!closestHandle && !isValid && !handleDomNode) {
|
|
6790
6810
|
return resetRecentHandle(prevActiveHandle);
|
|
6791
6811
|
}
|
|
@@ -6793,8 +6813,8 @@ function useHandle({
|
|
|
6793
6813
|
resetRecentHandle(prevActiveHandle);
|
|
6794
6814
|
prevActiveHandle = handleDomNode;
|
|
6795
6815
|
handleDomNode.classList.add("connecting", "vue-flow__handle-connecting");
|
|
6796
|
-
handleDomNode.classList.toggle("valid", isValid);
|
|
6797
|
-
handleDomNode.classList.toggle("vue-flow__handle-valid", isValid);
|
|
6816
|
+
handleDomNode.classList.toggle("valid", !!isValid);
|
|
6817
|
+
handleDomNode.classList.toggle("vue-flow__handle-valid", !!isValid);
|
|
6798
6818
|
}
|
|
6799
6819
|
}, onPointerUp = function(event2) {
|
|
6800
6820
|
if ((closestHandle || handleDomNode) && connection && isValid) {
|
|
@@ -6834,15 +6854,13 @@ function useHandle({
|
|
|
6834
6854
|
if (!containerBounds || !handleType) {
|
|
6835
6855
|
return;
|
|
6836
6856
|
}
|
|
6857
|
+
const fromHandleInternal = getHandle(toValue$1(nodeId), handleType, toValue$1(handleId), nodeLookup.value, connectionMode.value);
|
|
6858
|
+
if (!fromHandleInternal) {
|
|
6859
|
+
return;
|
|
6860
|
+
}
|
|
6837
6861
|
let prevActiveHandle;
|
|
6838
6862
|
let connectionPosition = getEventPosition(event, containerBounds);
|
|
6839
6863
|
let autoPanStarted = false;
|
|
6840
|
-
const handleLookup = getHandleLookup({
|
|
6841
|
-
nodes: nodes.value,
|
|
6842
|
-
nodeId: toValue$1(nodeId),
|
|
6843
|
-
handleId: toValue$1(handleId),
|
|
6844
|
-
handleType
|
|
6845
|
-
});
|
|
6846
6864
|
const autoPan = () => {
|
|
6847
6865
|
if (!autoPanOnConnect.value) {
|
|
6848
6866
|
return;
|
|
@@ -6851,10 +6869,30 @@ function useHandle({
|
|
|
6851
6869
|
panBy({ x: xMovement, y: yMovement });
|
|
6852
6870
|
autoPanId = requestAnimationFrame(autoPan);
|
|
6853
6871
|
};
|
|
6872
|
+
const fromHandle = {
|
|
6873
|
+
...fromHandleInternal,
|
|
6874
|
+
nodeId: toValue$1(nodeId),
|
|
6875
|
+
type: handleType,
|
|
6876
|
+
position: fromHandleInternal.position
|
|
6877
|
+
};
|
|
6878
|
+
const fromNodeInternal = nodeLookup.value.get(toValue$1(nodeId));
|
|
6879
|
+
const from = getHandlePosition(fromNodeInternal, fromHandle, Position.Left, true);
|
|
6880
|
+
const newConnection = {
|
|
6881
|
+
inProgress: true,
|
|
6882
|
+
isValid: null,
|
|
6883
|
+
from,
|
|
6884
|
+
fromHandle,
|
|
6885
|
+
fromPosition: fromHandle.position,
|
|
6886
|
+
fromNode: fromNodeInternal,
|
|
6887
|
+
to: connectionPosition,
|
|
6888
|
+
toHandle: null,
|
|
6889
|
+
toPosition: oppositePosition[fromHandle.position],
|
|
6890
|
+
toNode: null
|
|
6891
|
+
};
|
|
6854
6892
|
startConnection(
|
|
6855
6893
|
{
|
|
6856
6894
|
nodeId: toValue$1(nodeId),
|
|
6857
|
-
|
|
6895
|
+
id: toValue$1(handleId),
|
|
6858
6896
|
type: handleType,
|
|
6859
6897
|
position: (clickedHandle == null ? void 0 : clickedHandle.getAttribute("data-handlepos")) || Position.Top
|
|
6860
6898
|
},
|
|
@@ -6864,6 +6902,7 @@ function useHandle({
|
|
|
6864
6902
|
}
|
|
6865
6903
|
);
|
|
6866
6904
|
emits.connectStart({ event, nodeId: toValue$1(nodeId), handleId: toValue$1(handleId), handleType });
|
|
6905
|
+
let previousConnection = newConnection;
|
|
6867
6906
|
doc.addEventListener("mousemove", onPointerMove);
|
|
6868
6907
|
doc.addEventListener("mouseup", onPointerUp);
|
|
6869
6908
|
doc.addEventListener("touchmove", onPointerMove);
|
|
@@ -6871,47 +6910,58 @@ function useHandle({
|
|
|
6871
6910
|
}
|
|
6872
6911
|
}
|
|
6873
6912
|
function handleClick(event) {
|
|
6913
|
+
var _a, _b;
|
|
6874
6914
|
if (!connectOnClick.value) {
|
|
6875
6915
|
return;
|
|
6876
6916
|
}
|
|
6877
6917
|
const isTarget = toValue$1(type) === "target";
|
|
6878
6918
|
if (!connectionClickStartHandle.value) {
|
|
6879
6919
|
emits.clickConnectStart({ event, nodeId: toValue$1(nodeId), handleId: toValue$1(handleId) });
|
|
6880
|
-
startConnection(
|
|
6881
|
-
|
|
6882
|
-
|
|
6883
|
-
|
|
6884
|
-
|
|
6885
|
-
|
|
6886
|
-
|
|
6887
|
-
|
|
6888
|
-
|
|
6889
|
-
|
|
6890
|
-
|
|
6891
|
-
|
|
6892
|
-
|
|
6893
|
-
|
|
6920
|
+
startConnection(
|
|
6921
|
+
{ nodeId: toValue$1(nodeId), type: toValue$1(type), id: toValue$1(handleId), position: Position.Top },
|
|
6922
|
+
void 0,
|
|
6923
|
+
true
|
|
6924
|
+
);
|
|
6925
|
+
return;
|
|
6926
|
+
}
|
|
6927
|
+
let isValidConnectionHandler = toValue$1(isValidConnection) || isValidConnectionProp.value || alwaysValid;
|
|
6928
|
+
const node2 = findNode(toValue$1(nodeId));
|
|
6929
|
+
if (!isValidConnectionHandler && node2) {
|
|
6930
|
+
isValidConnectionHandler = (!isTarget ? node2.isValidTargetPos : node2.isValidSourcePos) || alwaysValid;
|
|
6931
|
+
}
|
|
6932
|
+
if (node2 && (typeof node2.connectable === "undefined" ? nodesConnectable.value : node2.connectable) === false) {
|
|
6933
|
+
return;
|
|
6934
|
+
}
|
|
6935
|
+
const doc = getHostForElement(event.target);
|
|
6936
|
+
const result = isValidHandle(
|
|
6937
|
+
event,
|
|
6938
|
+
{
|
|
6939
|
+
handle: {
|
|
6894
6940
|
nodeId: toValue$1(nodeId),
|
|
6895
6941
|
id: toValue$1(handleId),
|
|
6896
|
-
type: toValue$1(type)
|
|
6942
|
+
type: toValue$1(type),
|
|
6943
|
+
position: Position.Top
|
|
6897
6944
|
},
|
|
6898
|
-
connectionMode.value,
|
|
6899
|
-
connectionClickStartHandle.value.nodeId,
|
|
6900
|
-
connectionClickStartHandle.value.
|
|
6901
|
-
connectionClickStartHandle.value.type,
|
|
6902
|
-
isValidConnectionHandler,
|
|
6945
|
+
connectionMode: connectionMode.value,
|
|
6946
|
+
fromNodeId: connectionClickStartHandle.value.nodeId,
|
|
6947
|
+
fromHandleId: connectionClickStartHandle.value.id || null,
|
|
6948
|
+
fromType: connectionClickStartHandle.value.type,
|
|
6949
|
+
isValidConnection: isValidConnectionHandler,
|
|
6903
6950
|
doc,
|
|
6904
|
-
|
|
6905
|
-
|
|
6906
|
-
|
|
6907
|
-
|
|
6908
|
-
|
|
6909
|
-
|
|
6910
|
-
|
|
6911
|
-
|
|
6912
|
-
|
|
6913
|
-
|
|
6951
|
+
lib: "vue",
|
|
6952
|
+
flowId,
|
|
6953
|
+
nodeLookup: nodeLookup.value
|
|
6954
|
+
},
|
|
6955
|
+
edges.value,
|
|
6956
|
+
nodes.value,
|
|
6957
|
+
findNode
|
|
6958
|
+
);
|
|
6959
|
+
const isOwnHandle = ((_a = result.connection) == null ? void 0 : _a.source) === ((_b = result.connection) == null ? void 0 : _b.target);
|
|
6960
|
+
if (result.isValid && result.connection && !isOwnHandle) {
|
|
6961
|
+
emits.connect(result.connection);
|
|
6914
6962
|
}
|
|
6963
|
+
emits.clickConnectEnd(event);
|
|
6964
|
+
endConnection(event, true);
|
|
6915
6965
|
}
|
|
6916
6966
|
return {
|
|
6917
6967
|
handlePointerDown,
|
|
@@ -7746,8 +7796,8 @@ function useActions(state, nodeLookup, edgeLookup) {
|
|
|
7746
7796
|
if (doUpdate) {
|
|
7747
7797
|
const nodeBounds = update.nodeElement.getBoundingClientRect();
|
|
7748
7798
|
node2.dimensions = dimensions;
|
|
7749
|
-
node2.handleBounds.source = getHandleBounds("
|
|
7750
|
-
node2.handleBounds.target = getHandleBounds("
|
|
7799
|
+
node2.handleBounds.source = getHandleBounds("source", update.nodeElement, nodeBounds, zoom2);
|
|
7800
|
+
node2.handleBounds.target = getHandleBounds("target", update.nodeElement, nodeBounds, zoom2);
|
|
7751
7801
|
changes.push({
|
|
7752
7802
|
id: node2.id,
|
|
7753
7803
|
type: "dimensions",
|
|
@@ -7902,7 +7952,7 @@ function useActions(state, nodeLookup, edgeLookup) {
|
|
|
7902
7952
|
state.nodes,
|
|
7903
7953
|
state.edges
|
|
7904
7954
|
);
|
|
7905
|
-
updateConnectionLookup(state.connectionLookup, validEdges);
|
|
7955
|
+
updateConnectionLookup(state.connectionLookup, edgeLookup.value, validEdges);
|
|
7906
7956
|
state.edges = validEdges;
|
|
7907
7957
|
};
|
|
7908
7958
|
const setElements = (elements) => {
|
|
@@ -8040,7 +8090,7 @@ function useActions(state, nodeLookup, edgeLookup) {
|
|
|
8040
8090
|
state.edges
|
|
8041
8091
|
);
|
|
8042
8092
|
state.edges.splice(state.edges.indexOf(prevEdge), 1, validEdge);
|
|
8043
|
-
updateConnectionLookup(state.connectionLookup, [validEdge]);
|
|
8093
|
+
updateConnectionLookup(state.connectionLookup, edgeLookup.value, [validEdge]);
|
|
8044
8094
|
return validEdge;
|
|
8045
8095
|
}
|
|
8046
8096
|
return false;
|
|
@@ -8058,7 +8108,7 @@ function useActions(state, nodeLookup, edgeLookup) {
|
|
|
8058
8108
|
};
|
|
8059
8109
|
const applyEdgeChanges2 = (changes) => {
|
|
8060
8110
|
const changedEdges = applyChanges(changes, state.edges);
|
|
8061
|
-
updateConnectionLookup(state.connectionLookup, changedEdges);
|
|
8111
|
+
updateConnectionLookup(state.connectionLookup, edgeLookup.value, changedEdges);
|
|
8062
8112
|
return changedEdges;
|
|
8063
8113
|
};
|
|
8064
8114
|
const updateNode = (id2, nodeUpdate, options = { replace: false }) => {
|
|
@@ -8370,6 +8420,7 @@ const _sfc_main$f$1 = /* @__PURE__ */ defineComponent({
|
|
|
8370
8420
|
const type = toRef(() => props.type ?? "source");
|
|
8371
8421
|
const isValidConnection = toRef(() => props.isValidConnection ?? null);
|
|
8372
8422
|
const {
|
|
8423
|
+
id: flowId,
|
|
8373
8424
|
connectionStartHandle,
|
|
8374
8425
|
connectionClickStartHandle,
|
|
8375
8426
|
connectionEndHandle,
|
|
@@ -8385,13 +8436,13 @@ const _sfc_main$f$1 = /* @__PURE__ */ defineComponent({
|
|
|
8385
8436
|
const isConnecting = toRef(
|
|
8386
8437
|
() => {
|
|
8387
8438
|
var _a, _b, _c, _d, _e, _f;
|
|
8388
|
-
return ((_a = connectionStartHandle.value) == null ? void 0 : _a.nodeId) === nodeId && ((_b = connectionStartHandle.value) == null ? void 0 : _b.
|
|
8439
|
+
return ((_a = connectionStartHandle.value) == null ? void 0 : _a.nodeId) === nodeId && ((_b = connectionStartHandle.value) == null ? void 0 : _b.id) === __props.id && ((_c = connectionStartHandle.value) == null ? void 0 : _c.type) === type.value || ((_d = connectionEndHandle.value) == null ? void 0 : _d.nodeId) === nodeId && ((_e = connectionEndHandle.value) == null ? void 0 : _e.id) === __props.id && ((_f = connectionEndHandle.value) == null ? void 0 : _f.type) === type.value;
|
|
8389
8440
|
}
|
|
8390
8441
|
);
|
|
8391
8442
|
const isClickConnecting = toRef(
|
|
8392
8443
|
() => {
|
|
8393
8444
|
var _a, _b, _c;
|
|
8394
|
-
return ((_a = connectionClickStartHandle.value) == null ? void 0 : _a.nodeId) === nodeId && ((_b = connectionClickStartHandle.value) == null ? void 0 : _b.
|
|
8445
|
+
return ((_a = connectionClickStartHandle.value) == null ? void 0 : _a.nodeId) === nodeId && ((_b = connectionClickStartHandle.value) == null ? void 0 : _b.id) === __props.id && ((_c = connectionClickStartHandle.value) == null ? void 0 : _c.type) === type.value;
|
|
8395
8446
|
}
|
|
8396
8447
|
);
|
|
8397
8448
|
const { handlePointerDown, handleClick } = useHandle({
|
|
@@ -8446,6 +8497,8 @@ const _sfc_main$f$1 = /* @__PURE__ */ defineComponent({
|
|
|
8446
8497
|
position: __props.position,
|
|
8447
8498
|
x: (handleBounds.left - nodeBounds.left) / zoom2,
|
|
8448
8499
|
y: (handleBounds.top - nodeBounds.top) / zoom2,
|
|
8500
|
+
type: type.value,
|
|
8501
|
+
nodeId,
|
|
8449
8502
|
...getDimensions(handle2.value)
|
|
8450
8503
|
};
|
|
8451
8504
|
node2.handleBounds[type.value] = [...node2.handleBounds[type.value] ?? [], nextBounds];
|
|
@@ -8480,7 +8533,7 @@ const _sfc_main$f$1 = /* @__PURE__ */ defineComponent({
|
|
|
8480
8533
|
return openBlock(), createElementBlock("div", {
|
|
8481
8534
|
ref_key: "handle",
|
|
8482
8535
|
ref: handle2,
|
|
8483
|
-
"data-id": `${unref(nodeId)}-${__props.id}-${type.value}`,
|
|
8536
|
+
"data-id": `${unref(flowId)}-${unref(nodeId)}-${__props.id}-${type.value}`,
|
|
8484
8537
|
"data-handleid": __props.id,
|
|
8485
8538
|
"data-nodeid": unref(nodeId),
|
|
8486
8539
|
"data-handlepos": _ctx.position,
|
|
@@ -8647,15 +8700,13 @@ const _sfc_main$d$1 = /* @__PURE__ */ defineComponent({
|
|
|
8647
8700
|
markerStart: {},
|
|
8648
8701
|
markerEnd: {},
|
|
8649
8702
|
interactionWidth: { default: 20 },
|
|
8650
|
-
style: {},
|
|
8651
8703
|
labelStyle: {},
|
|
8652
|
-
labelShowBg: { type: Boolean
|
|
8704
|
+
labelShowBg: { type: Boolean },
|
|
8653
8705
|
labelBgStyle: {},
|
|
8654
8706
|
labelBgPadding: {},
|
|
8655
8707
|
labelBgBorderRadius: {}
|
|
8656
8708
|
},
|
|
8657
8709
|
setup(__props, { expose: __expose }) {
|
|
8658
|
-
const props = createPropsRestProxy(__props, ["interactionWidth", "labelShowBg"]);
|
|
8659
8710
|
const pathEl = ref(null);
|
|
8660
8711
|
const interactionEl = ref(null);
|
|
8661
8712
|
const labelEl = ref(null);
|
|
@@ -8667,16 +8718,15 @@ const _sfc_main$d$1 = /* @__PURE__ */ defineComponent({
|
|
|
8667
8718
|
});
|
|
8668
8719
|
return (_ctx, _cache) => {
|
|
8669
8720
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
8670
|
-
createBaseVNode("path", {
|
|
8721
|
+
createBaseVNode("path", mergeProps(unref(attrs), {
|
|
8671
8722
|
id: _ctx.id,
|
|
8672
8723
|
ref_key: "pathEl",
|
|
8673
8724
|
ref: pathEl,
|
|
8674
8725
|
d: _ctx.path,
|
|
8675
|
-
|
|
8676
|
-
class: normalizeClass(["vue-flow__edge-path", unref(attrs).class]),
|
|
8726
|
+
class: "vue-flow__edge-path",
|
|
8677
8727
|
"marker-end": _ctx.markerEnd,
|
|
8678
8728
|
"marker-start": _ctx.markerStart
|
|
8679
|
-
}, null,
|
|
8729
|
+
}), null, 16, _hoisted_1$7$1),
|
|
8680
8730
|
_ctx.interactionWidth ? (openBlock(), createElementBlock("path", {
|
|
8681
8731
|
key: 0,
|
|
8682
8732
|
ref_key: "interactionEl",
|
|
@@ -9396,7 +9446,7 @@ class Storage {
|
|
|
9396
9446
|
edgeLookup,
|
|
9397
9447
|
emits,
|
|
9398
9448
|
id: id2,
|
|
9399
|
-
vueFlowVersion: "1.
|
|
9449
|
+
vueFlowVersion: "1.42.1",
|
|
9400
9450
|
$destroy: () => {
|
|
9401
9451
|
this.remove(id2);
|
|
9402
9452
|
}
|
|
@@ -9644,13 +9694,14 @@ const _sfc_main$a$1 = /* @__PURE__ */ defineComponent({
|
|
|
9644
9694
|
multiSelectionKeyCode,
|
|
9645
9695
|
multiSelectionActive,
|
|
9646
9696
|
edgeLookup,
|
|
9647
|
-
nodeLookup
|
|
9697
|
+
nodeLookup,
|
|
9698
|
+
connectionLookup,
|
|
9699
|
+
defaultEdgeOptions
|
|
9648
9700
|
} = useVueFlow();
|
|
9649
9701
|
const container = ref(null);
|
|
9650
|
-
const
|
|
9651
|
-
const
|
|
9702
|
+
const selectedNodeIds = ref(/* @__PURE__ */ new Set());
|
|
9703
|
+
const selectedEdgeIds = ref(/* @__PURE__ */ new Set());
|
|
9652
9704
|
const containerBounds = ref();
|
|
9653
|
-
const edgeIdLookup = ref(/* @__PURE__ */ new Map());
|
|
9654
9705
|
const hasActiveSelection = toRef(() => elementsSelectable.value && (__props.isSelecting || userSelectionActive.value));
|
|
9655
9706
|
let selectionInProgress = false;
|
|
9656
9707
|
let selectionStarted = false;
|
|
@@ -9675,12 +9726,6 @@ const _sfc_main$a$1 = /* @__PURE__ */ defineComponent({
|
|
|
9675
9726
|
handler == null ? void 0 : handler(event);
|
|
9676
9727
|
};
|
|
9677
9728
|
}
|
|
9678
|
-
function resetUserSelection() {
|
|
9679
|
-
userSelectionActive.value = false;
|
|
9680
|
-
userSelectionRect.value = null;
|
|
9681
|
-
prevSelectedNodesCount.value = 0;
|
|
9682
|
-
prevSelectedEdgesCount.value = 0;
|
|
9683
|
-
}
|
|
9684
9729
|
function onClick(event) {
|
|
9685
9730
|
if (selectionInProgress) {
|
|
9686
9731
|
selectionInProgress = false;
|
|
@@ -9699,7 +9744,7 @@ const _sfc_main$a$1 = /* @__PURE__ */ defineComponent({
|
|
|
9699
9744
|
emits.paneScroll(event);
|
|
9700
9745
|
}
|
|
9701
9746
|
function onPointerDown(event) {
|
|
9702
|
-
var _a, _b, _c
|
|
9747
|
+
var _a, _b, _c;
|
|
9703
9748
|
containerBounds.value = (_a = vueFlowRef.value) == null ? void 0 : _a.getBoundingClientRect();
|
|
9704
9749
|
if (!elementsSelectable.value || !__props.isSelecting || event.button !== 0 || event.target !== container.value || !containerBounds.value) {
|
|
9705
9750
|
return;
|
|
@@ -9708,11 +9753,6 @@ const _sfc_main$a$1 = /* @__PURE__ */ defineComponent({
|
|
|
9708
9753
|
const { x, y } = getMousePosition(event, containerBounds.value);
|
|
9709
9754
|
selectionStarted = true;
|
|
9710
9755
|
selectionInProgress = false;
|
|
9711
|
-
edgeIdLookup.value = /* @__PURE__ */ new Map();
|
|
9712
|
-
for (const [id2, edge2] of edgeLookup.value) {
|
|
9713
|
-
edgeIdLookup.value.set(edge2.source, ((_d = edgeIdLookup.value.get(edge2.source)) == null ? void 0 : _d.add(id2)) || /* @__PURE__ */ new Set([id2]));
|
|
9714
|
-
edgeIdLookup.value.set(edge2.target, ((_e = edgeIdLookup.value.get(edge2.target)) == null ? void 0 : _e.add(id2)) || /* @__PURE__ */ new Set([id2]));
|
|
9715
|
-
}
|
|
9716
9756
|
removeSelectedElements();
|
|
9717
9757
|
userSelectionRect.value = {
|
|
9718
9758
|
width: 0,
|
|
@@ -9725,6 +9765,7 @@ const _sfc_main$a$1 = /* @__PURE__ */ defineComponent({
|
|
|
9725
9765
|
emits.selectionStart(event);
|
|
9726
9766
|
}
|
|
9727
9767
|
function onPointerMove(event) {
|
|
9768
|
+
var _a;
|
|
9728
9769
|
if (!containerBounds.value || !userSelectionRect.value) {
|
|
9729
9770
|
return;
|
|
9730
9771
|
}
|
|
@@ -9739,32 +9780,33 @@ const _sfc_main$a$1 = /* @__PURE__ */ defineComponent({
|
|
|
9739
9780
|
width: Math.abs(mouseX - startX),
|
|
9740
9781
|
height: Math.abs(mouseY - startY)
|
|
9741
9782
|
};
|
|
9742
|
-
const
|
|
9743
|
-
|
|
9744
|
-
|
|
9745
|
-
viewport.value,
|
|
9746
|
-
|
|
9747
|
-
|
|
9783
|
+
const prevSelectedNodeIds = selectedNodeIds.value;
|
|
9784
|
+
const prevSelectedEdgeIds = selectedEdgeIds.value;
|
|
9785
|
+
selectedNodeIds.value = new Set(
|
|
9786
|
+
getNodesInside(nodes.value, nextUserSelectRect, viewport.value, selectionMode.value === SelectionMode.Partial, true).map(
|
|
9787
|
+
(node2) => node2.id
|
|
9788
|
+
)
|
|
9748
9789
|
);
|
|
9749
|
-
|
|
9750
|
-
const
|
|
9751
|
-
for (const
|
|
9752
|
-
|
|
9753
|
-
|
|
9754
|
-
|
|
9755
|
-
|
|
9756
|
-
|
|
9790
|
+
selectedEdgeIds.value = /* @__PURE__ */ new Set();
|
|
9791
|
+
const edgesSelectable = ((_a = defaultEdgeOptions.value) == null ? void 0 : _a.selectable) ?? true;
|
|
9792
|
+
for (const nodeId of selectedNodeIds.value) {
|
|
9793
|
+
const connections = connectionLookup.value.get(nodeId);
|
|
9794
|
+
if (!connections) {
|
|
9795
|
+
continue;
|
|
9796
|
+
}
|
|
9797
|
+
for (const { edgeId } of connections.values()) {
|
|
9798
|
+
const edge2 = edgeLookup.value.get(edgeId);
|
|
9799
|
+
if (edge2 && (edge2.selectable ?? edgesSelectable)) {
|
|
9800
|
+
selectedEdgeIds.value.add(edgeId);
|
|
9757
9801
|
}
|
|
9758
9802
|
}
|
|
9759
9803
|
}
|
|
9760
|
-
if (
|
|
9761
|
-
|
|
9762
|
-
const changes = getSelectionChanges(nodeLookup.value, selectedNodeIds, true);
|
|
9804
|
+
if (!areSetsEqual(prevSelectedNodeIds, selectedNodeIds.value)) {
|
|
9805
|
+
const changes = getSelectionChanges(nodeLookup.value, selectedNodeIds.value, true);
|
|
9763
9806
|
emits.nodesChange(changes);
|
|
9764
9807
|
}
|
|
9765
|
-
if (
|
|
9766
|
-
|
|
9767
|
-
const changes = getSelectionChanges(edgeLookup.value, selectedEdgeIds);
|
|
9808
|
+
if (!areSetsEqual(prevSelectedEdgeIds, selectedEdgeIds.value)) {
|
|
9809
|
+
const changes = getSelectionChanges(edgeLookup.value, selectedEdgeIds.value);
|
|
9768
9810
|
emits.edgesChange(changes);
|
|
9769
9811
|
}
|
|
9770
9812
|
userSelectionRect.value = nextUserSelectRect;
|
|
@@ -9780,10 +9822,9 @@ const _sfc_main$a$1 = /* @__PURE__ */ defineComponent({
|
|
|
9780
9822
|
if (!userSelectionActive.value && userSelectionRect.value && event.target === container.value) {
|
|
9781
9823
|
onClick(event);
|
|
9782
9824
|
}
|
|
9783
|
-
|
|
9784
|
-
|
|
9785
|
-
|
|
9786
|
-
resetUserSelection();
|
|
9825
|
+
userSelectionActive.value = false;
|
|
9826
|
+
userSelectionRect.value = null;
|
|
9827
|
+
nodesSelectionActive.value = selectedNodeIds.value.size > 0;
|
|
9787
9828
|
emits.selectionEnd(event);
|
|
9788
9829
|
if (__props.selectionKeyPressed) {
|
|
9789
9830
|
selectionInProgress = false;
|
|
@@ -10321,14 +10362,14 @@ const EdgeWrapper = defineComponent({
|
|
|
10321
10362
|
} else {
|
|
10322
10363
|
sourceNodeHandles = [...sourceNode.handleBounds.source || [], ...sourceNode.handleBounds.target || []];
|
|
10323
10364
|
}
|
|
10324
|
-
const sourceHandle =
|
|
10365
|
+
const sourceHandle = getEdgeHandle(sourceNodeHandles, edge2.value.sourceHandle);
|
|
10325
10366
|
let targetNodeHandles;
|
|
10326
10367
|
if (connectionMode.value === ConnectionMode.Strict) {
|
|
10327
10368
|
targetNodeHandles = targetNode.handleBounds.target;
|
|
10328
10369
|
} else {
|
|
10329
10370
|
targetNodeHandles = [...targetNode.handleBounds.target || [], ...targetNode.handleBounds.source || []];
|
|
10330
10371
|
}
|
|
10331
|
-
const targetHandle =
|
|
10372
|
+
const targetHandle = getEdgeHandle(targetNodeHandles, edge2.value.targetHandle);
|
|
10332
10373
|
const sourcePosition = (sourceHandle == null ? void 0 : sourceHandle.position) || Position.Bottom;
|
|
10333
10374
|
const targetPosition = (targetHandle == null ? void 0 : targetHandle.position) || Position.Top;
|
|
10334
10375
|
const { x: sourceX, y: sourceY } = getHandlePosition(sourceNode, sourceHandle, sourcePosition);
|
|
@@ -10515,12 +10556,6 @@ const EdgeWrapper = defineComponent({
|
|
|
10515
10556
|
}
|
|
10516
10557
|
});
|
|
10517
10558
|
const EdgeWrapper$1 = EdgeWrapper;
|
|
10518
|
-
const oppositePosition = {
|
|
10519
|
-
[Position.Left]: Position.Right,
|
|
10520
|
-
[Position.Right]: Position.Left,
|
|
10521
|
-
[Position.Top]: Position.Bottom,
|
|
10522
|
-
[Position.Bottom]: Position.Top
|
|
10523
|
-
};
|
|
10524
10559
|
const ConnectionLine = defineComponent({
|
|
10525
10560
|
name: "ConnectionLine",
|
|
10526
10561
|
compatConfig: { MODE: 3 },
|
|
@@ -10561,11 +10596,11 @@ const ConnectionLine = defineComponent({
|
|
|
10561
10596
|
() => connectionLineOptions.value.markerEnd ? `url(#${getMarkerId(connectionLineOptions.value.markerEnd, id2)})` : ""
|
|
10562
10597
|
);
|
|
10563
10598
|
return () => {
|
|
10564
|
-
var _a2, _b, _c
|
|
10599
|
+
var _a2, _b, _c;
|
|
10565
10600
|
if (!fromNode.value || !connectionStartHandle.value) {
|
|
10566
10601
|
return null;
|
|
10567
10602
|
}
|
|
10568
|
-
const startHandleId = connectionStartHandle.value.
|
|
10603
|
+
const startHandleId = connectionStartHandle.value.id;
|
|
10569
10604
|
const handleType = connectionStartHandle.value.type;
|
|
10570
10605
|
const fromHandleBounds = fromNode.value.handleBounds;
|
|
10571
10606
|
let handleBounds = (fromHandleBounds == null ? void 0 : fromHandleBounds[handleType]) || [];
|
|
@@ -10580,24 +10615,24 @@ const ConnectionLine = defineComponent({
|
|
|
10580
10615
|
const fromPosition = (fromHandle == null ? void 0 : fromHandle.position) || Position.Top;
|
|
10581
10616
|
const { x: fromX, y: fromY } = getHandlePosition(fromNode.value, fromHandle, fromPosition);
|
|
10582
10617
|
let toHandle = null;
|
|
10583
|
-
if (toNode.value
|
|
10618
|
+
if (toNode.value) {
|
|
10584
10619
|
if (connectionMode.value === ConnectionMode.Strict) {
|
|
10585
|
-
toHandle = ((
|
|
10620
|
+
toHandle = ((_a2 = toNode.value.handleBounds[handleType === "source" ? "target" : "source"]) == null ? void 0 : _a2.find(
|
|
10586
10621
|
(d) => {
|
|
10587
10622
|
var _a3;
|
|
10588
|
-
return d.id === ((_a3 = connectionEndHandle.value) == null ? void 0 : _a3.
|
|
10623
|
+
return d.id === ((_a3 = connectionEndHandle.value) == null ? void 0 : _a3.id);
|
|
10589
10624
|
}
|
|
10590
10625
|
)) || null;
|
|
10591
10626
|
} else {
|
|
10592
|
-
toHandle = ((
|
|
10627
|
+
toHandle = ((_b = [...toNode.value.handleBounds.source || [], ...toNode.value.handleBounds.target || []]) == null ? void 0 : _b.find(
|
|
10593
10628
|
(d) => {
|
|
10594
10629
|
var _a3;
|
|
10595
|
-
return d.id === ((_a3 = connectionEndHandle.value) == null ? void 0 : _a3.
|
|
10630
|
+
return d.id === ((_a3 = connectionEndHandle.value) == null ? void 0 : _a3.id);
|
|
10596
10631
|
}
|
|
10597
10632
|
)) || null;
|
|
10598
10633
|
}
|
|
10599
10634
|
}
|
|
10600
|
-
const toPosition = ((
|
|
10635
|
+
const toPosition = ((_c = connectionEndHandle.value) == null ? void 0 : _c.position) ?? (fromPosition ? oppositePosition[fromPosition] : null);
|
|
10601
10636
|
if (!fromPosition || !toPosition) {
|
|
10602
10637
|
return null;
|
|
10603
10638
|
}
|
|
@@ -11804,8 +11839,7 @@ var noop$1 = { value: () => {
|
|
|
11804
11839
|
} };
|
|
11805
11840
|
function dispatch$1() {
|
|
11806
11841
|
for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {
|
|
11807
|
-
if (!(t = arguments[i] + "") || t in _ || /[\s.]/.test(t))
|
|
11808
|
-
throw new Error("illegal type: " + t);
|
|
11842
|
+
if (!(t = arguments[i] + "") || t in _ || /[\s.]/.test(t)) throw new Error("illegal type: " + t);
|
|
11809
11843
|
_[t] = [];
|
|
11810
11844
|
}
|
|
11811
11845
|
return new Dispatch$1(_);
|
|
@@ -11816,10 +11850,8 @@ function Dispatch$1(_) {
|
|
|
11816
11850
|
function parseTypenames$1$1(typenames, types) {
|
|
11817
11851
|
return typenames.trim().split(/^|\s+/).map(function(t) {
|
|
11818
11852
|
var name = "", i = t.indexOf(".");
|
|
11819
|
-
if (i >= 0)
|
|
11820
|
-
|
|
11821
|
-
if (t && !types.hasOwnProperty(t))
|
|
11822
|
-
throw new Error("unknown type: " + t);
|
|
11853
|
+
if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);
|
|
11854
|
+
if (t && !types.hasOwnProperty(t)) throw new Error("unknown type: " + t);
|
|
11823
11855
|
return { type: t, name };
|
|
11824
11856
|
});
|
|
11825
11857
|
}
|
|
@@ -11828,42 +11860,29 @@ Dispatch$1.prototype = dispatch$1.prototype = {
|
|
|
11828
11860
|
on: function(typename, callback) {
|
|
11829
11861
|
var _ = this._, T = parseTypenames$1$1(typename + "", _), t, i = -1, n = T.length;
|
|
11830
11862
|
if (arguments.length < 2) {
|
|
11831
|
-
while (++i < n)
|
|
11832
|
-
if ((t = (typename = T[i]).type) && (t = get$1(_[t], typename.name)))
|
|
11833
|
-
return t;
|
|
11863
|
+
while (++i < n) if ((t = (typename = T[i]).type) && (t = get$1(_[t], typename.name))) return t;
|
|
11834
11864
|
return;
|
|
11835
11865
|
}
|
|
11836
|
-
if (callback != null && typeof callback !== "function")
|
|
11837
|
-
throw new Error("invalid callback: " + callback);
|
|
11866
|
+
if (callback != null && typeof callback !== "function") throw new Error("invalid callback: " + callback);
|
|
11838
11867
|
while (++i < n) {
|
|
11839
|
-
if (t = (typename = T[i]).type)
|
|
11840
|
-
|
|
11841
|
-
else if (callback == null)
|
|
11842
|
-
for (t in _)
|
|
11843
|
-
_[t] = set$1(_[t], typename.name, null);
|
|
11868
|
+
if (t = (typename = T[i]).type) _[t] = set$1(_[t], typename.name, callback);
|
|
11869
|
+
else if (callback == null) for (t in _) _[t] = set$1(_[t], typename.name, null);
|
|
11844
11870
|
}
|
|
11845
11871
|
return this;
|
|
11846
11872
|
},
|
|
11847
11873
|
copy: function() {
|
|
11848
11874
|
var copy = {}, _ = this._;
|
|
11849
|
-
for (var t in _)
|
|
11850
|
-
copy[t] = _[t].slice();
|
|
11875
|
+
for (var t in _) copy[t] = _[t].slice();
|
|
11851
11876
|
return new Dispatch$1(copy);
|
|
11852
11877
|
},
|
|
11853
11878
|
call: function(type, that) {
|
|
11854
|
-
if ((n = arguments.length - 2) > 0)
|
|
11855
|
-
|
|
11856
|
-
|
|
11857
|
-
if (!this._.hasOwnProperty(type))
|
|
11858
|
-
throw new Error("unknown type: " + type);
|
|
11859
|
-
for (t = this._[type], i = 0, n = t.length; i < n; ++i)
|
|
11860
|
-
t[i].value.apply(that, args);
|
|
11879
|
+
if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];
|
|
11880
|
+
if (!this._.hasOwnProperty(type)) throw new Error("unknown type: " + type);
|
|
11881
|
+
for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);
|
|
11861
11882
|
},
|
|
11862
11883
|
apply: function(type, that, args) {
|
|
11863
|
-
if (!this._.hasOwnProperty(type))
|
|
11864
|
-
|
|
11865
|
-
for (var t = this._[type], i = 0, n = t.length; i < n; ++i)
|
|
11866
|
-
t[i].value.apply(that, args);
|
|
11884
|
+
if (!this._.hasOwnProperty(type)) throw new Error("unknown type: " + type);
|
|
11885
|
+
for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);
|
|
11867
11886
|
}
|
|
11868
11887
|
};
|
|
11869
11888
|
function get$1(type, name) {
|
|
@@ -11880,8 +11899,7 @@ function set$1(type, name, callback) {
|
|
|
11880
11899
|
break;
|
|
11881
11900
|
}
|
|
11882
11901
|
}
|
|
11883
|
-
if (callback != null)
|
|
11884
|
-
type.push({ name, value: callback });
|
|
11902
|
+
if (callback != null) type.push({ name, value: callback });
|
|
11885
11903
|
return type;
|
|
11886
11904
|
}
|
|
11887
11905
|
var xhtml$1 = "http://www.w3.org/1999/xhtml";
|
|
@@ -11894,8 +11912,7 @@ const namespaces$1 = {
|
|
|
11894
11912
|
};
|
|
11895
11913
|
function namespace$1(name) {
|
|
11896
11914
|
var prefix = name += "", i = prefix.indexOf(":");
|
|
11897
|
-
if (i >= 0 && (prefix = name.slice(0, i)) !== "xmlns")
|
|
11898
|
-
name = name.slice(i + 1);
|
|
11915
|
+
if (i >= 0 && (prefix = name.slice(0, i)) !== "xmlns") name = name.slice(i + 1);
|
|
11899
11916
|
return namespaces$1.hasOwnProperty(prefix) ? { space: namespaces$1[prefix], local: name } : name;
|
|
11900
11917
|
}
|
|
11901
11918
|
function creatorInherit$1(name) {
|
|
@@ -11921,13 +11938,11 @@ function selector$1(selector2) {
|
|
|
11921
11938
|
};
|
|
11922
11939
|
}
|
|
11923
11940
|
function selection_select$1(select2) {
|
|
11924
|
-
if (typeof select2 !== "function")
|
|
11925
|
-
select2 = selector$1(select2);
|
|
11941
|
+
if (typeof select2 !== "function") select2 = selector$1(select2);
|
|
11926
11942
|
for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
|
|
11927
11943
|
for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node2, subnode, i = 0; i < n; ++i) {
|
|
11928
11944
|
if ((node2 = group[i]) && (subnode = select2.call(node2, node2.__data__, i, group))) {
|
|
11929
|
-
if ("__data__" in node2)
|
|
11930
|
-
subnode.__data__ = node2.__data__;
|
|
11945
|
+
if ("__data__" in node2) subnode.__data__ = node2.__data__;
|
|
11931
11946
|
subgroup[i] = subnode;
|
|
11932
11947
|
}
|
|
11933
11948
|
}
|
|
@@ -11951,10 +11966,8 @@ function arrayAll$1(select2) {
|
|
|
11951
11966
|
};
|
|
11952
11967
|
}
|
|
11953
11968
|
function selection_selectAll$1(select2) {
|
|
11954
|
-
if (typeof select2 === "function")
|
|
11955
|
-
|
|
11956
|
-
else
|
|
11957
|
-
select2 = selectorAll$1(select2);
|
|
11969
|
+
if (typeof select2 === "function") select2 = arrayAll$1(select2);
|
|
11970
|
+
else select2 = selectorAll$1(select2);
|
|
11958
11971
|
for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {
|
|
11959
11972
|
for (var group = groups[j], n = group.length, node2, i = 0; i < n; ++i) {
|
|
11960
11973
|
if (node2 = group[i]) {
|
|
@@ -12000,8 +12013,7 @@ function selection_selectChildren$1(match) {
|
|
|
12000
12013
|
return this.selectAll(match == null ? children$1 : childrenFilter$1(typeof match === "function" ? match : childMatcher$1(match)));
|
|
12001
12014
|
}
|
|
12002
12015
|
function selection_filter$1(match) {
|
|
12003
|
-
if (typeof match !== "function")
|
|
12004
|
-
match = matcher$1(match);
|
|
12016
|
+
if (typeof match !== "function") match = matcher$1(match);
|
|
12005
12017
|
for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
|
|
12006
12018
|
for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node2, i = 0; i < n; ++i) {
|
|
12007
12019
|
if ((node2 = group[i]) && match.call(node2, node2.__data__, i, group)) {
|
|
@@ -12092,20 +12104,16 @@ function datum$1(node2) {
|
|
|
12092
12104
|
return node2.__data__;
|
|
12093
12105
|
}
|
|
12094
12106
|
function selection_data$1(value, key) {
|
|
12095
|
-
if (!arguments.length)
|
|
12096
|
-
return Array.from(this, datum$1);
|
|
12107
|
+
if (!arguments.length) return Array.from(this, datum$1);
|
|
12097
12108
|
var bind = key ? bindKey$1 : bindIndex$1, parents = this._parents, groups = this._groups;
|
|
12098
|
-
if (typeof value !== "function")
|
|
12099
|
-
value = constant$2(value);
|
|
12109
|
+
if (typeof value !== "function") value = constant$2(value);
|
|
12100
12110
|
for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {
|
|
12101
12111
|
var parent = parents[j], group = groups[j], groupLength = group.length, data = arraylike$1(value.call(parent, parent && parent.__data__, j, parents)), dataLength = data.length, enterGroup = enter[j] = new Array(dataLength), updateGroup = update[j] = new Array(dataLength), exitGroup = exit[j] = new Array(groupLength);
|
|
12102
12112
|
bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);
|
|
12103
12113
|
for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {
|
|
12104
12114
|
if (previous = enterGroup[i0]) {
|
|
12105
|
-
if (i0 >= i1)
|
|
12106
|
-
|
|
12107
|
-
while (!(next = updateGroup[i1]) && ++i1 < dataLength)
|
|
12108
|
-
;
|
|
12115
|
+
if (i0 >= i1) i1 = i0 + 1;
|
|
12116
|
+
while (!(next = updateGroup[i1]) && ++i1 < dataLength) ;
|
|
12109
12117
|
previous._next = next || null;
|
|
12110
12118
|
}
|
|
12111
12119
|
}
|
|
@@ -12125,20 +12133,16 @@ function selection_join$1(onenter, onupdate, onexit) {
|
|
|
12125
12133
|
var enter = this.enter(), update = this, exit = this.exit();
|
|
12126
12134
|
if (typeof onenter === "function") {
|
|
12127
12135
|
enter = onenter(enter);
|
|
12128
|
-
if (enter)
|
|
12129
|
-
enter = enter.selection();
|
|
12136
|
+
if (enter) enter = enter.selection();
|
|
12130
12137
|
} else {
|
|
12131
12138
|
enter = enter.append(onenter + "");
|
|
12132
12139
|
}
|
|
12133
12140
|
if (onupdate != null) {
|
|
12134
12141
|
update = onupdate(update);
|
|
12135
|
-
if (update)
|
|
12136
|
-
update = update.selection();
|
|
12142
|
+
if (update) update = update.selection();
|
|
12137
12143
|
}
|
|
12138
|
-
if (onexit == null)
|
|
12139
|
-
|
|
12140
|
-
else
|
|
12141
|
-
onexit(exit);
|
|
12144
|
+
if (onexit == null) exit.remove();
|
|
12145
|
+
else onexit(exit);
|
|
12142
12146
|
return enter && update ? enter.merge(update).order() : update;
|
|
12143
12147
|
}
|
|
12144
12148
|
function selection_merge$1(context) {
|
|
@@ -12159,8 +12163,7 @@ function selection_order$1() {
|
|
|
12159
12163
|
for (var groups = this._groups, j = -1, m = groups.length; ++j < m; ) {
|
|
12160
12164
|
for (var group = groups[j], i = group.length - 1, next = group[i], node2; --i >= 0; ) {
|
|
12161
12165
|
if (node2 = group[i]) {
|
|
12162
|
-
if (next && node2.compareDocumentPosition(next) ^ 4)
|
|
12163
|
-
next.parentNode.insertBefore(node2, next);
|
|
12166
|
+
if (next && node2.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node2, next);
|
|
12164
12167
|
next = node2;
|
|
12165
12168
|
}
|
|
12166
12169
|
}
|
|
@@ -12168,8 +12171,7 @@ function selection_order$1() {
|
|
|
12168
12171
|
return this;
|
|
12169
12172
|
}
|
|
12170
12173
|
function selection_sort$1(compare) {
|
|
12171
|
-
if (!compare)
|
|
12172
|
-
compare = ascending$1;
|
|
12174
|
+
if (!compare) compare = ascending$1;
|
|
12173
12175
|
function compareNode(a, b) {
|
|
12174
12176
|
return a && b ? compare(a.__data__, b.__data__) : !a - !b;
|
|
12175
12177
|
}
|
|
@@ -12199,16 +12201,14 @@ function selection_node$1() {
|
|
|
12199
12201
|
for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {
|
|
12200
12202
|
for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {
|
|
12201
12203
|
var node2 = group[i];
|
|
12202
|
-
if (node2)
|
|
12203
|
-
return node2;
|
|
12204
|
+
if (node2) return node2;
|
|
12204
12205
|
}
|
|
12205
12206
|
}
|
|
12206
12207
|
return null;
|
|
12207
12208
|
}
|
|
12208
12209
|
function selection_size$1() {
|
|
12209
12210
|
let size = 0;
|
|
12210
|
-
for (const node2 of this)
|
|
12211
|
-
++size;
|
|
12211
|
+
for (const node2 of this) ++size;
|
|
12212
12212
|
return size;
|
|
12213
12213
|
}
|
|
12214
12214
|
function selection_empty$1() {
|
|
@@ -12217,8 +12217,7 @@ function selection_empty$1() {
|
|
|
12217
12217
|
function selection_each$1(callback) {
|
|
12218
12218
|
for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {
|
|
12219
12219
|
for (var group = groups[j], i = 0, n = group.length, node2; i < n; ++i) {
|
|
12220
|
-
if (node2 = group[i])
|
|
12221
|
-
callback.call(node2, node2.__data__, i, group);
|
|
12220
|
+
if (node2 = group[i]) callback.call(node2, node2.__data__, i, group);
|
|
12222
12221
|
}
|
|
12223
12222
|
}
|
|
12224
12223
|
return this;
|
|
@@ -12246,19 +12245,15 @@ function attrConstantNS$1(fullname, value) {
|
|
|
12246
12245
|
function attrFunction$1(name, value) {
|
|
12247
12246
|
return function() {
|
|
12248
12247
|
var v = value.apply(this, arguments);
|
|
12249
|
-
if (v == null)
|
|
12250
|
-
|
|
12251
|
-
else
|
|
12252
|
-
this.setAttribute(name, v);
|
|
12248
|
+
if (v == null) this.removeAttribute(name);
|
|
12249
|
+
else this.setAttribute(name, v);
|
|
12253
12250
|
};
|
|
12254
12251
|
}
|
|
12255
12252
|
function attrFunctionNS$1(fullname, value) {
|
|
12256
12253
|
return function() {
|
|
12257
12254
|
var v = value.apply(this, arguments);
|
|
12258
|
-
if (v == null)
|
|
12259
|
-
|
|
12260
|
-
else
|
|
12261
|
-
this.setAttributeNS(fullname.space, fullname.local, v);
|
|
12255
|
+
if (v == null) this.removeAttributeNS(fullname.space, fullname.local);
|
|
12256
|
+
else this.setAttributeNS(fullname.space, fullname.local, v);
|
|
12262
12257
|
};
|
|
12263
12258
|
}
|
|
12264
12259
|
function selection_attr$1(name, value) {
|
|
@@ -12285,10 +12280,8 @@ function styleConstant$1(name, value, priority) {
|
|
|
12285
12280
|
function styleFunction$1(name, value, priority) {
|
|
12286
12281
|
return function() {
|
|
12287
12282
|
var v = value.apply(this, arguments);
|
|
12288
|
-
if (v == null)
|
|
12289
|
-
|
|
12290
|
-
else
|
|
12291
|
-
this.style.setProperty(name, v, priority);
|
|
12283
|
+
if (v == null) this.style.removeProperty(name);
|
|
12284
|
+
else this.style.setProperty(name, v, priority);
|
|
12292
12285
|
};
|
|
12293
12286
|
}
|
|
12294
12287
|
function selection_style$1(name, value, priority) {
|
|
@@ -12310,10 +12303,8 @@ function propertyConstant$1(name, value) {
|
|
|
12310
12303
|
function propertyFunction$1(name, value) {
|
|
12311
12304
|
return function() {
|
|
12312
12305
|
var v = value.apply(this, arguments);
|
|
12313
|
-
if (v == null)
|
|
12314
|
-
|
|
12315
|
-
else
|
|
12316
|
-
this[name] = v;
|
|
12306
|
+
if (v == null) delete this[name];
|
|
12307
|
+
else this[name] = v;
|
|
12317
12308
|
};
|
|
12318
12309
|
}
|
|
12319
12310
|
function selection_property$1(name, value) {
|
|
@@ -12350,13 +12341,11 @@ ClassList$1.prototype = {
|
|
|
12350
12341
|
};
|
|
12351
12342
|
function classedAdd$1(node2, names) {
|
|
12352
12343
|
var list = classList$1(node2), i = -1, n = names.length;
|
|
12353
|
-
while (++i < n)
|
|
12354
|
-
list.add(names[i]);
|
|
12344
|
+
while (++i < n) list.add(names[i]);
|
|
12355
12345
|
}
|
|
12356
12346
|
function classedRemove$1(node2, names) {
|
|
12357
12347
|
var list = classList$1(node2), i = -1, n = names.length;
|
|
12358
|
-
while (++i < n)
|
|
12359
|
-
list.remove(names[i]);
|
|
12348
|
+
while (++i < n) list.remove(names[i]);
|
|
12360
12349
|
}
|
|
12361
12350
|
function classedTrue$1(names) {
|
|
12362
12351
|
return function() {
|
|
@@ -12377,9 +12366,7 @@ function selection_classed$1(name, value) {
|
|
|
12377
12366
|
var names = classArray$1(name + "");
|
|
12378
12367
|
if (arguments.length < 2) {
|
|
12379
12368
|
var list = classList$1(this.node()), i = -1, n = names.length;
|
|
12380
|
-
while (++i < n)
|
|
12381
|
-
if (!list.contains(names[i]))
|
|
12382
|
-
return false;
|
|
12369
|
+
while (++i < n) if (!list.contains(names[i])) return false;
|
|
12383
12370
|
return true;
|
|
12384
12371
|
}
|
|
12385
12372
|
return this.each((typeof value === "function" ? classedFunction$1 : value ? classedTrue$1 : classedFalse$1)(names, value));
|
|
@@ -12419,15 +12406,13 @@ function selection_html$1(value) {
|
|
|
12419
12406
|
return arguments.length ? this.each(value == null ? htmlRemove$1 : (typeof value === "function" ? htmlFunction$1 : htmlConstant$1)(value)) : this.node().innerHTML;
|
|
12420
12407
|
}
|
|
12421
12408
|
function raise$1() {
|
|
12422
|
-
if (this.nextSibling)
|
|
12423
|
-
this.parentNode.appendChild(this);
|
|
12409
|
+
if (this.nextSibling) this.parentNode.appendChild(this);
|
|
12424
12410
|
}
|
|
12425
12411
|
function selection_raise$1() {
|
|
12426
12412
|
return this.each(raise$1);
|
|
12427
12413
|
}
|
|
12428
12414
|
function lower$1() {
|
|
12429
|
-
if (this.previousSibling)
|
|
12430
|
-
this.parentNode.insertBefore(this, this.parentNode.firstChild);
|
|
12415
|
+
if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);
|
|
12431
12416
|
}
|
|
12432
12417
|
function selection_lower$1() {
|
|
12433
12418
|
return this.each(lower$1);
|
|
@@ -12449,8 +12434,7 @@ function selection_insert$1(name, before) {
|
|
|
12449
12434
|
}
|
|
12450
12435
|
function remove$1() {
|
|
12451
12436
|
var parent = this.parentNode;
|
|
12452
|
-
if (parent)
|
|
12453
|
-
parent.removeChild(this);
|
|
12437
|
+
if (parent) parent.removeChild(this);
|
|
12454
12438
|
}
|
|
12455
12439
|
function selection_remove$1() {
|
|
12456
12440
|
return this.each(remove$1);
|
|
@@ -12477,16 +12461,14 @@ function contextListener$1(listener) {
|
|
|
12477
12461
|
function parseTypenames$2(typenames) {
|
|
12478
12462
|
return typenames.trim().split(/^|\s+/).map(function(t) {
|
|
12479
12463
|
var name = "", i = t.indexOf(".");
|
|
12480
|
-
if (i >= 0)
|
|
12481
|
-
name = t.slice(i + 1), t = t.slice(0, i);
|
|
12464
|
+
if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);
|
|
12482
12465
|
return { type: t, name };
|
|
12483
12466
|
});
|
|
12484
12467
|
}
|
|
12485
12468
|
function onRemove$1(typename) {
|
|
12486
12469
|
return function() {
|
|
12487
12470
|
var on = this.__on;
|
|
12488
|
-
if (!on)
|
|
12489
|
-
return;
|
|
12471
|
+
if (!on) return;
|
|
12490
12472
|
for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {
|
|
12491
12473
|
if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {
|
|
12492
12474
|
this.removeEventListener(o.type, o.listener, o.options);
|
|
@@ -12494,49 +12476,42 @@ function onRemove$1(typename) {
|
|
|
12494
12476
|
on[++i] = o;
|
|
12495
12477
|
}
|
|
12496
12478
|
}
|
|
12497
|
-
if (++i)
|
|
12498
|
-
|
|
12499
|
-
else
|
|
12500
|
-
delete this.__on;
|
|
12479
|
+
if (++i) on.length = i;
|
|
12480
|
+
else delete this.__on;
|
|
12501
12481
|
};
|
|
12502
12482
|
}
|
|
12503
12483
|
function onAdd$1(typename, value, options) {
|
|
12504
12484
|
return function() {
|
|
12505
12485
|
var on = this.__on, o, listener = contextListener$1(value);
|
|
12506
|
-
if (on)
|
|
12507
|
-
|
|
12508
|
-
|
|
12509
|
-
|
|
12510
|
-
|
|
12511
|
-
|
|
12512
|
-
return;
|
|
12513
|
-
}
|
|
12486
|
+
if (on) for (var j = 0, m = on.length; j < m; ++j) {
|
|
12487
|
+
if ((o = on[j]).type === typename.type && o.name === typename.name) {
|
|
12488
|
+
this.removeEventListener(o.type, o.listener, o.options);
|
|
12489
|
+
this.addEventListener(o.type, o.listener = listener, o.options = options);
|
|
12490
|
+
o.value = value;
|
|
12491
|
+
return;
|
|
12514
12492
|
}
|
|
12493
|
+
}
|
|
12515
12494
|
this.addEventListener(typename.type, listener, options);
|
|
12516
12495
|
o = { type: typename.type, name: typename.name, value, listener, options };
|
|
12517
|
-
if (!on)
|
|
12518
|
-
|
|
12519
|
-
else
|
|
12520
|
-
on.push(o);
|
|
12496
|
+
if (!on) this.__on = [o];
|
|
12497
|
+
else on.push(o);
|
|
12521
12498
|
};
|
|
12522
12499
|
}
|
|
12523
12500
|
function selection_on$1(typename, value, options) {
|
|
12524
12501
|
var typenames = parseTypenames$2(typename + ""), i, n = typenames.length, t;
|
|
12525
12502
|
if (arguments.length < 2) {
|
|
12526
12503
|
var on = this.node().__on;
|
|
12527
|
-
if (on)
|
|
12528
|
-
for (
|
|
12529
|
-
|
|
12530
|
-
|
|
12531
|
-
return o.value;
|
|
12532
|
-
}
|
|
12504
|
+
if (on) for (var j = 0, m = on.length, o; j < m; ++j) {
|
|
12505
|
+
for (i = 0, o = on[j]; i < n; ++i) {
|
|
12506
|
+
if ((t = typenames[i]).type === o.type && t.name === o.name) {
|
|
12507
|
+
return o.value;
|
|
12533
12508
|
}
|
|
12534
12509
|
}
|
|
12510
|
+
}
|
|
12535
12511
|
return;
|
|
12536
12512
|
}
|
|
12537
12513
|
on = value ? onAdd$1 : onRemove$1;
|
|
12538
|
-
for (i = 0; i < n; ++i)
|
|
12539
|
-
this.each(on(typenames[i], value, options));
|
|
12514
|
+
for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));
|
|
12540
12515
|
return this;
|
|
12541
12516
|
}
|
|
12542
12517
|
function dispatchEvent$1(node2, type, params) {
|
|
@@ -12545,10 +12520,8 @@ function dispatchEvent$1(node2, type, params) {
|
|
|
12545
12520
|
event = new event(type, params);
|
|
12546
12521
|
} else {
|
|
12547
12522
|
event = window2.document.createEvent("Event");
|
|
12548
|
-
if (params)
|
|
12549
|
-
|
|
12550
|
-
else
|
|
12551
|
-
event.initEvent(type, false, false);
|
|
12523
|
+
if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;
|
|
12524
|
+
else event.initEvent(type, false, false);
|
|
12552
12525
|
}
|
|
12553
12526
|
node2.dispatchEvent(event);
|
|
12554
12527
|
}
|
|
@@ -12568,8 +12541,7 @@ function selection_dispatch$1(type, params) {
|
|
|
12568
12541
|
function* selection_iterator$1() {
|
|
12569
12542
|
for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {
|
|
12570
12543
|
for (var group = groups[j], i = 0, n = group.length, node2; i < n; ++i) {
|
|
12571
|
-
if (node2 = group[i])
|
|
12572
|
-
yield node2;
|
|
12544
|
+
if (node2 = group[i]) yield node2;
|
|
12573
12545
|
}
|
|
12574
12546
|
}
|
|
12575
12547
|
}
|
|
@@ -12627,14 +12599,12 @@ function select$1(selector2) {
|
|
|
12627
12599
|
}
|
|
12628
12600
|
function sourceEvent$1(event) {
|
|
12629
12601
|
let sourceEvent2;
|
|
12630
|
-
while (sourceEvent2 = event.sourceEvent)
|
|
12631
|
-
event = sourceEvent2;
|
|
12602
|
+
while (sourceEvent2 = event.sourceEvent) event = sourceEvent2;
|
|
12632
12603
|
return event;
|
|
12633
12604
|
}
|
|
12634
12605
|
function pointer$1(event, node2) {
|
|
12635
12606
|
event = sourceEvent$1(event);
|
|
12636
|
-
if (node2 === void 0)
|
|
12637
|
-
node2 = event.currentTarget;
|
|
12607
|
+
if (node2 === void 0) node2 = event.currentTarget;
|
|
12638
12608
|
if (node2) {
|
|
12639
12609
|
var svg = node2.ownerSVGElement || node2;
|
|
12640
12610
|
if (svg.createSVGPoint) {
|
|
@@ -12685,8 +12655,7 @@ function define(constructor, factory, prototype) {
|
|
|
12685
12655
|
}
|
|
12686
12656
|
function extend(parent, definition) {
|
|
12687
12657
|
var prototype = Object.create(parent.prototype);
|
|
12688
|
-
for (var key in definition)
|
|
12689
|
-
prototype[key] = definition[key];
|
|
12658
|
+
for (var key in definition) prototype[key] = definition[key];
|
|
12690
12659
|
return prototype;
|
|
12691
12660
|
}
|
|
12692
12661
|
function Color() {
|
|
@@ -12880,15 +12849,12 @@ function rgbn(n) {
|
|
|
12880
12849
|
return new Rgb(n >> 16 & 255, n >> 8 & 255, n & 255, 1);
|
|
12881
12850
|
}
|
|
12882
12851
|
function rgba(r, g, b, a) {
|
|
12883
|
-
if (a <= 0)
|
|
12884
|
-
r = g = b = NaN;
|
|
12852
|
+
if (a <= 0) r = g = b = NaN;
|
|
12885
12853
|
return new Rgb(r, g, b, a);
|
|
12886
12854
|
}
|
|
12887
12855
|
function rgbConvert(o) {
|
|
12888
|
-
if (!(o instanceof Color))
|
|
12889
|
-
|
|
12890
|
-
if (!o)
|
|
12891
|
-
return new Rgb();
|
|
12856
|
+
if (!(o instanceof Color)) o = color$1(o);
|
|
12857
|
+
if (!o) return new Rgb();
|
|
12892
12858
|
o = o.rgb();
|
|
12893
12859
|
return new Rgb(o.r, o.g, o.b, o.opacity);
|
|
12894
12860
|
}
|
|
@@ -12947,32 +12913,22 @@ function hex(value) {
|
|
|
12947
12913
|
return (value < 16 ? "0" : "") + value.toString(16);
|
|
12948
12914
|
}
|
|
12949
12915
|
function hsla(h2, s, l, a) {
|
|
12950
|
-
if (a <= 0)
|
|
12951
|
-
|
|
12952
|
-
else if (
|
|
12953
|
-
h2 = s = NaN;
|
|
12954
|
-
else if (s <= 0)
|
|
12955
|
-
h2 = NaN;
|
|
12916
|
+
if (a <= 0) h2 = s = l = NaN;
|
|
12917
|
+
else if (l <= 0 || l >= 1) h2 = s = NaN;
|
|
12918
|
+
else if (s <= 0) h2 = NaN;
|
|
12956
12919
|
return new Hsl(h2, s, l, a);
|
|
12957
12920
|
}
|
|
12958
12921
|
function hslConvert(o) {
|
|
12959
|
-
if (o instanceof Hsl)
|
|
12960
|
-
|
|
12961
|
-
if (!
|
|
12962
|
-
|
|
12963
|
-
if (!o)
|
|
12964
|
-
return new Hsl();
|
|
12965
|
-
if (o instanceof Hsl)
|
|
12966
|
-
return o;
|
|
12922
|
+
if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);
|
|
12923
|
+
if (!(o instanceof Color)) o = color$1(o);
|
|
12924
|
+
if (!o) return new Hsl();
|
|
12925
|
+
if (o instanceof Hsl) return o;
|
|
12967
12926
|
o = o.rgb();
|
|
12968
12927
|
var r = o.r / 255, g = o.g / 255, b = o.b / 255, min = Math.min(r, g, b), max = Math.max(r, g, b), h2 = NaN, s = max - min, l = (max + min) / 2;
|
|
12969
12928
|
if (s) {
|
|
12970
|
-
if (r === max)
|
|
12971
|
-
|
|
12972
|
-
else
|
|
12973
|
-
h2 = (b - r) / s + 2;
|
|
12974
|
-
else
|
|
12975
|
-
h2 = (r - g) / s + 4;
|
|
12929
|
+
if (r === max) h2 = (g - b) / s + (g < b) * 6;
|
|
12930
|
+
else if (g === max) h2 = (b - r) / s + 2;
|
|
12931
|
+
else h2 = (r - g) / s + 4;
|
|
12976
12932
|
s /= l < 0.5 ? max + min : 2 - max - min;
|
|
12977
12933
|
h2 *= 60;
|
|
12978
12934
|
} else {
|
|
@@ -13085,16 +13041,12 @@ function interpolateString(a, b) {
|
|
|
13085
13041
|
while ((am = reA.exec(a)) && (bm = reB.exec(b))) {
|
|
13086
13042
|
if ((bs = bm.index) > bi) {
|
|
13087
13043
|
bs = b.slice(bi, bs);
|
|
13088
|
-
if (s[i])
|
|
13089
|
-
|
|
13090
|
-
else
|
|
13091
|
-
s[++i] = bs;
|
|
13044
|
+
if (s[i]) s[i] += bs;
|
|
13045
|
+
else s[++i] = bs;
|
|
13092
13046
|
}
|
|
13093
13047
|
if ((am = am[0]) === (bm = bm[0])) {
|
|
13094
|
-
if (s[i])
|
|
13095
|
-
|
|
13096
|
-
else
|
|
13097
|
-
s[++i] = bm;
|
|
13048
|
+
if (s[i]) s[i] += bm;
|
|
13049
|
+
else s[++i] = bm;
|
|
13098
13050
|
} else {
|
|
13099
13051
|
s[++i] = null;
|
|
13100
13052
|
q.push({ i, x: interpolateNumber(am, bm) });
|
|
@@ -13103,14 +13055,11 @@ function interpolateString(a, b) {
|
|
|
13103
13055
|
}
|
|
13104
13056
|
if (bi < b.length) {
|
|
13105
13057
|
bs = b.slice(bi);
|
|
13106
|
-
if (s[i])
|
|
13107
|
-
|
|
13108
|
-
else
|
|
13109
|
-
s[++i] = bs;
|
|
13058
|
+
if (s[i]) s[i] += bs;
|
|
13059
|
+
else s[++i] = bs;
|
|
13110
13060
|
}
|
|
13111
13061
|
return s.length < 2 ? q[0] ? one(q[0].x) : zero(b) : (b = q.length, function(t) {
|
|
13112
|
-
for (var i2 = 0, o; i2 < b; ++i2)
|
|
13113
|
-
s[(o = q[i2]).i] = o.x(t);
|
|
13062
|
+
for (var i2 = 0, o; i2 < b; ++i2) s[(o = q[i2]).i] = o.x(t);
|
|
13114
13063
|
return s.join("");
|
|
13115
13064
|
});
|
|
13116
13065
|
}
|
|
@@ -13125,14 +13074,10 @@ var identity$1 = {
|
|
|
13125
13074
|
};
|
|
13126
13075
|
function decompose(a, b, c, d, e, f) {
|
|
13127
13076
|
var scaleX, scaleY, skewX;
|
|
13128
|
-
if (scaleX = Math.sqrt(a * a + b * b))
|
|
13129
|
-
|
|
13130
|
-
if (
|
|
13131
|
-
|
|
13132
|
-
if (scaleY = Math.sqrt(c * c + d * d))
|
|
13133
|
-
c /= scaleY, d /= scaleY, skewX /= scaleY;
|
|
13134
|
-
if (a * d < b * c)
|
|
13135
|
-
a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;
|
|
13077
|
+
if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;
|
|
13078
|
+
if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;
|
|
13079
|
+
if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;
|
|
13080
|
+
if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;
|
|
13136
13081
|
return {
|
|
13137
13082
|
translateX: e,
|
|
13138
13083
|
translateY: f,
|
|
@@ -13148,13 +13093,10 @@ function parseCss(value) {
|
|
|
13148
13093
|
return m.isIdentity ? identity$1 : decompose(m.a, m.b, m.c, m.d, m.e, m.f);
|
|
13149
13094
|
}
|
|
13150
13095
|
function parseSvg(value) {
|
|
13151
|
-
if (value == null)
|
|
13152
|
-
|
|
13153
|
-
if (!svgNode)
|
|
13154
|
-
svgNode = document.createElementNS("http://www.w3.org/2000/svg", "g");
|
|
13096
|
+
if (value == null) return identity$1;
|
|
13097
|
+
if (!svgNode) svgNode = document.createElementNS("http://www.w3.org/2000/svg", "g");
|
|
13155
13098
|
svgNode.setAttribute("transform", value);
|
|
13156
|
-
if (!(value = svgNode.transform.baseVal.consolidate()))
|
|
13157
|
-
return identity$1;
|
|
13099
|
+
if (!(value = svgNode.transform.baseVal.consolidate())) return identity$1;
|
|
13158
13100
|
value = value.matrix;
|
|
13159
13101
|
return decompose(value.a, value.b, value.c, value.d, value.e, value.f);
|
|
13160
13102
|
}
|
|
@@ -13172,10 +13114,8 @@ function interpolateTransform(parse, pxComma, pxParen, degParen) {
|
|
|
13172
13114
|
}
|
|
13173
13115
|
function rotate(a, b, s, q) {
|
|
13174
13116
|
if (a !== b) {
|
|
13175
|
-
if (a - b > 180)
|
|
13176
|
-
|
|
13177
|
-
else if (b - a > 180)
|
|
13178
|
-
a += 360;
|
|
13117
|
+
if (a - b > 180) b += 360;
|
|
13118
|
+
else if (b - a > 180) a += 360;
|
|
13179
13119
|
q.push({ i: s.push(pop(s) + "rotate(", null, degParen) - 2, x: interpolateNumber(a, b) });
|
|
13180
13120
|
} else if (b) {
|
|
13181
13121
|
s.push(pop(s) + "rotate(" + b + degParen);
|
|
@@ -13206,8 +13146,7 @@ function interpolateTransform(parse, pxComma, pxParen, degParen) {
|
|
|
13206
13146
|
a = b = null;
|
|
13207
13147
|
return function(t) {
|
|
13208
13148
|
var i = -1, n = q.length, o;
|
|
13209
|
-
while (++i < n)
|
|
13210
|
-
s[(o = q[i]).i] = o.x(t);
|
|
13149
|
+
while (++i < n) s[(o = q[i]).i] = o.x(t);
|
|
13211
13150
|
return s.join("");
|
|
13212
13151
|
};
|
|
13213
13152
|
};
|
|
@@ -13272,14 +13211,11 @@ function Timer() {
|
|
|
13272
13211
|
Timer.prototype = timer.prototype = {
|
|
13273
13212
|
constructor: Timer,
|
|
13274
13213
|
restart: function(callback, delay, time) {
|
|
13275
|
-
if (typeof callback !== "function")
|
|
13276
|
-
throw new TypeError("callback is not a function");
|
|
13214
|
+
if (typeof callback !== "function") throw new TypeError("callback is not a function");
|
|
13277
13215
|
time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);
|
|
13278
13216
|
if (!this._next && taskTail !== this) {
|
|
13279
|
-
if (taskTail)
|
|
13280
|
-
|
|
13281
|
-
else
|
|
13282
|
-
taskHead = this;
|
|
13217
|
+
if (taskTail) taskTail._next = this;
|
|
13218
|
+
else taskHead = this;
|
|
13283
13219
|
taskTail = this;
|
|
13284
13220
|
}
|
|
13285
13221
|
this._call = callback;
|
|
@@ -13304,8 +13240,7 @@ function timerFlush() {
|
|
|
13304
13240
|
++frame;
|
|
13305
13241
|
var t = taskHead, e;
|
|
13306
13242
|
while (t) {
|
|
13307
|
-
if ((e = clockNow - t._time) >= 0)
|
|
13308
|
-
t._call.call(void 0, e);
|
|
13243
|
+
if ((e = clockNow - t._time) >= 0) t._call.call(void 0, e);
|
|
13309
13244
|
t = t._next;
|
|
13310
13245
|
}
|
|
13311
13246
|
--frame;
|
|
@@ -13323,15 +13258,13 @@ function wake() {
|
|
|
13323
13258
|
}
|
|
13324
13259
|
function poke() {
|
|
13325
13260
|
var now2 = clock.now(), delay = now2 - clockLast;
|
|
13326
|
-
if (delay > pokeDelay)
|
|
13327
|
-
clockSkew -= delay, clockLast = now2;
|
|
13261
|
+
if (delay > pokeDelay) clockSkew -= delay, clockLast = now2;
|
|
13328
13262
|
}
|
|
13329
13263
|
function nap() {
|
|
13330
13264
|
var t0, t1 = taskHead, t2, time = Infinity;
|
|
13331
13265
|
while (t1) {
|
|
13332
13266
|
if (t1._call) {
|
|
13333
|
-
if (time > t1._time)
|
|
13334
|
-
time = t1._time;
|
|
13267
|
+
if (time > t1._time) time = t1._time;
|
|
13335
13268
|
t0 = t1, t1 = t1._next;
|
|
13336
13269
|
} else {
|
|
13337
13270
|
t2 = t1._next, t1._next = null;
|
|
@@ -13342,19 +13275,14 @@ function nap() {
|
|
|
13342
13275
|
sleep(time);
|
|
13343
13276
|
}
|
|
13344
13277
|
function sleep(time) {
|
|
13345
|
-
if (frame)
|
|
13346
|
-
|
|
13347
|
-
if (timeout$1)
|
|
13348
|
-
timeout$1 = clearTimeout(timeout$1);
|
|
13278
|
+
if (frame) return;
|
|
13279
|
+
if (timeout$1) timeout$1 = clearTimeout(timeout$1);
|
|
13349
13280
|
var delay = time - clockNow;
|
|
13350
13281
|
if (delay > 24) {
|
|
13351
|
-
if (time < Infinity)
|
|
13352
|
-
|
|
13353
|
-
if (interval)
|
|
13354
|
-
interval = clearInterval(interval);
|
|
13282
|
+
if (time < Infinity) timeout$1 = setTimeout(wake, time - clock.now() - clockSkew);
|
|
13283
|
+
if (interval) interval = clearInterval(interval);
|
|
13355
13284
|
} else {
|
|
13356
|
-
if (!interval)
|
|
13357
|
-
clockLast = clock.now(), interval = setInterval(poke, pokeDelay);
|
|
13285
|
+
if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);
|
|
13358
13286
|
frame = 1, setFrame(wake);
|
|
13359
13287
|
}
|
|
13360
13288
|
}
|
|
@@ -13378,10 +13306,8 @@ var ENDING = 5;
|
|
|
13378
13306
|
var ENDED = 6;
|
|
13379
13307
|
function schedule(node2, name, id2, index, group, timing) {
|
|
13380
13308
|
var schedules = node2.__transition;
|
|
13381
|
-
if (!schedules)
|
|
13382
|
-
|
|
13383
|
-
else if (id2 in schedules)
|
|
13384
|
-
return;
|
|
13309
|
+
if (!schedules) node2.__transition = {};
|
|
13310
|
+
else if (id2 in schedules) return;
|
|
13385
13311
|
create(node2, id2, {
|
|
13386
13312
|
name,
|
|
13387
13313
|
index,
|
|
@@ -13400,20 +13326,17 @@ function schedule(node2, name, id2, index, group, timing) {
|
|
|
13400
13326
|
}
|
|
13401
13327
|
function init(node2, id2) {
|
|
13402
13328
|
var schedule2 = get$2(node2, id2);
|
|
13403
|
-
if (schedule2.state > CREATED)
|
|
13404
|
-
throw new Error("too late; already scheduled");
|
|
13329
|
+
if (schedule2.state > CREATED) throw new Error("too late; already scheduled");
|
|
13405
13330
|
return schedule2;
|
|
13406
13331
|
}
|
|
13407
13332
|
function set$2(node2, id2) {
|
|
13408
13333
|
var schedule2 = get$2(node2, id2);
|
|
13409
|
-
if (schedule2.state > STARTED)
|
|
13410
|
-
throw new Error("too late; already running");
|
|
13334
|
+
if (schedule2.state > STARTED) throw new Error("too late; already running");
|
|
13411
13335
|
return schedule2;
|
|
13412
13336
|
}
|
|
13413
13337
|
function get$2(node2, id2) {
|
|
13414
13338
|
var schedule2 = node2.__transition;
|
|
13415
|
-
if (!schedule2 || !(schedule2 = schedule2[id2]))
|
|
13416
|
-
throw new Error("transition not found");
|
|
13339
|
+
if (!schedule2 || !(schedule2 = schedule2[id2])) throw new Error("transition not found");
|
|
13417
13340
|
return schedule2;
|
|
13418
13341
|
}
|
|
13419
13342
|
function create(node2, id2, self) {
|
|
@@ -13423,19 +13346,15 @@ function create(node2, id2, self) {
|
|
|
13423
13346
|
function schedule2(elapsed) {
|
|
13424
13347
|
self.state = SCHEDULED;
|
|
13425
13348
|
self.timer.restart(start2, self.delay, self.time);
|
|
13426
|
-
if (self.delay <= elapsed)
|
|
13427
|
-
start2(elapsed - self.delay);
|
|
13349
|
+
if (self.delay <= elapsed) start2(elapsed - self.delay);
|
|
13428
13350
|
}
|
|
13429
13351
|
function start2(elapsed) {
|
|
13430
13352
|
var i, j, n, o;
|
|
13431
|
-
if (self.state !== SCHEDULED)
|
|
13432
|
-
return stop();
|
|
13353
|
+
if (self.state !== SCHEDULED) return stop();
|
|
13433
13354
|
for (i in schedules) {
|
|
13434
13355
|
o = schedules[i];
|
|
13435
|
-
if (o.name !== self.name)
|
|
13436
|
-
|
|
13437
|
-
if (o.state === STARTED)
|
|
13438
|
-
return timeout(start2);
|
|
13356
|
+
if (o.name !== self.name) continue;
|
|
13357
|
+
if (o.state === STARTED) return timeout(start2);
|
|
13439
13358
|
if (o.state === RUNNING) {
|
|
13440
13359
|
o.state = ENDED;
|
|
13441
13360
|
o.timer.stop();
|
|
@@ -13457,8 +13376,7 @@ function create(node2, id2, self) {
|
|
|
13457
13376
|
});
|
|
13458
13377
|
self.state = STARTING;
|
|
13459
13378
|
self.on.call("start", node2, node2.__data__, self.index, self.group);
|
|
13460
|
-
if (self.state !== STARTING)
|
|
13461
|
-
return;
|
|
13379
|
+
if (self.state !== STARTING) return;
|
|
13462
13380
|
self.state = STARTED;
|
|
13463
13381
|
tween = new Array(n = self.tween.length);
|
|
13464
13382
|
for (i = 0, j = -1; i < n; ++i) {
|
|
@@ -13482,15 +13400,13 @@ function create(node2, id2, self) {
|
|
|
13482
13400
|
self.state = ENDED;
|
|
13483
13401
|
self.timer.stop();
|
|
13484
13402
|
delete schedules[id2];
|
|
13485
|
-
for (var i in schedules)
|
|
13486
|
-
return;
|
|
13403
|
+
for (var i in schedules) return;
|
|
13487
13404
|
delete node2.__transition;
|
|
13488
13405
|
}
|
|
13489
13406
|
}
|
|
13490
13407
|
function interrupt(node2, name) {
|
|
13491
13408
|
var schedules = node2.__transition, schedule2, active, empty2 = true, i;
|
|
13492
|
-
if (!schedules)
|
|
13493
|
-
return;
|
|
13409
|
+
if (!schedules) return;
|
|
13494
13410
|
name = name == null ? null : name + "";
|
|
13495
13411
|
for (i in schedules) {
|
|
13496
13412
|
if ((schedule2 = schedules[i]).name !== name) {
|
|
@@ -13503,8 +13419,7 @@ function interrupt(node2, name) {
|
|
|
13503
13419
|
schedule2.on.call(active ? "interrupt" : "cancel", node2, node2.__data__, schedule2.index, schedule2.group);
|
|
13504
13420
|
delete schedules[i];
|
|
13505
13421
|
}
|
|
13506
|
-
if (empty2)
|
|
13507
|
-
delete node2.__transition;
|
|
13422
|
+
if (empty2) delete node2.__transition;
|
|
13508
13423
|
}
|
|
13509
13424
|
function selection_interrupt(name) {
|
|
13510
13425
|
return this.each(function() {
|
|
@@ -13530,8 +13445,7 @@ function tweenRemove(id2, name) {
|
|
|
13530
13445
|
}
|
|
13531
13446
|
function tweenFunction(id2, name, value) {
|
|
13532
13447
|
var tween0, tween1;
|
|
13533
|
-
if (typeof value !== "function")
|
|
13534
|
-
throw new Error();
|
|
13448
|
+
if (typeof value !== "function") throw new Error();
|
|
13535
13449
|
return function() {
|
|
13536
13450
|
var schedule2 = set$2(this, id2), tween = schedule2.tween;
|
|
13537
13451
|
if (tween !== tween0) {
|
|
@@ -13542,8 +13456,7 @@ function tweenFunction(id2, name, value) {
|
|
|
13542
13456
|
break;
|
|
13543
13457
|
}
|
|
13544
13458
|
}
|
|
13545
|
-
if (i === n)
|
|
13546
|
-
tween1.push(t);
|
|
13459
|
+
if (i === n) tween1.push(t);
|
|
13547
13460
|
}
|
|
13548
13461
|
schedule2.tween = tween1;
|
|
13549
13462
|
};
|
|
@@ -13604,8 +13517,7 @@ function attrFunction$2(name, interpolate2, value) {
|
|
|
13604
13517
|
var string00, string10, interpolate0;
|
|
13605
13518
|
return function() {
|
|
13606
13519
|
var string0, value1 = value(this), string1;
|
|
13607
|
-
if (value1 == null)
|
|
13608
|
-
return void this.removeAttribute(name);
|
|
13520
|
+
if (value1 == null) return void this.removeAttribute(name);
|
|
13609
13521
|
string0 = this.getAttribute(name);
|
|
13610
13522
|
string1 = value1 + "";
|
|
13611
13523
|
return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate2(string00 = string0, value1));
|
|
@@ -13615,8 +13527,7 @@ function attrFunctionNS$2(fullname, interpolate2, value) {
|
|
|
13615
13527
|
var string00, string10, interpolate0;
|
|
13616
13528
|
return function() {
|
|
13617
13529
|
var string0, value1 = value(this), string1;
|
|
13618
|
-
if (value1 == null)
|
|
13619
|
-
return void this.removeAttributeNS(fullname.space, fullname.local);
|
|
13530
|
+
if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);
|
|
13620
13531
|
string0 = this.getAttributeNS(fullname.space, fullname.local);
|
|
13621
13532
|
string1 = value1 + "";
|
|
13622
13533
|
return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate2(string00 = string0, value1));
|
|
@@ -13640,8 +13551,7 @@ function attrTweenNS(fullname, value) {
|
|
|
13640
13551
|
var t0, i0;
|
|
13641
13552
|
function tween() {
|
|
13642
13553
|
var i = value.apply(this, arguments);
|
|
13643
|
-
if (i !== i0)
|
|
13644
|
-
t0 = (i0 = i) && attrInterpolateNS(fullname, i);
|
|
13554
|
+
if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);
|
|
13645
13555
|
return t0;
|
|
13646
13556
|
}
|
|
13647
13557
|
tween._value = value;
|
|
@@ -13651,8 +13561,7 @@ function attrTween(name, value) {
|
|
|
13651
13561
|
var t0, i0;
|
|
13652
13562
|
function tween() {
|
|
13653
13563
|
var i = value.apply(this, arguments);
|
|
13654
|
-
if (i !== i0)
|
|
13655
|
-
t0 = (i0 = i) && attrInterpolate(name, i);
|
|
13564
|
+
if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);
|
|
13656
13565
|
return t0;
|
|
13657
13566
|
}
|
|
13658
13567
|
tween._value = value;
|
|
@@ -13660,12 +13569,9 @@ function attrTween(name, value) {
|
|
|
13660
13569
|
}
|
|
13661
13570
|
function transition_attrTween(name, value) {
|
|
13662
13571
|
var key = "attr." + name;
|
|
13663
|
-
if (arguments.length < 2)
|
|
13664
|
-
|
|
13665
|
-
if (value
|
|
13666
|
-
return this.tween(key, null);
|
|
13667
|
-
if (typeof value !== "function")
|
|
13668
|
-
throw new Error();
|
|
13572
|
+
if (arguments.length < 2) return (key = this.tween(key)) && key._value;
|
|
13573
|
+
if (value == null) return this.tween(key, null);
|
|
13574
|
+
if (typeof value !== "function") throw new Error();
|
|
13669
13575
|
var fullname = namespace$1(name);
|
|
13670
13576
|
return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));
|
|
13671
13577
|
}
|
|
@@ -13698,8 +13604,7 @@ function transition_duration(value) {
|
|
|
13698
13604
|
return arguments.length ? this.each((typeof value === "function" ? durationFunction : durationConstant)(id2, value)) : get$2(this.node(), id2).duration;
|
|
13699
13605
|
}
|
|
13700
13606
|
function easeConstant(id2, value) {
|
|
13701
|
-
if (typeof value !== "function")
|
|
13702
|
-
throw new Error();
|
|
13607
|
+
if (typeof value !== "function") throw new Error();
|
|
13703
13608
|
return function() {
|
|
13704
13609
|
set$2(this, id2).ease = value;
|
|
13705
13610
|
};
|
|
@@ -13711,19 +13616,16 @@ function transition_ease(value) {
|
|
|
13711
13616
|
function easeVarying(id2, value) {
|
|
13712
13617
|
return function() {
|
|
13713
13618
|
var v = value.apply(this, arguments);
|
|
13714
|
-
if (typeof v !== "function")
|
|
13715
|
-
throw new Error();
|
|
13619
|
+
if (typeof v !== "function") throw new Error();
|
|
13716
13620
|
set$2(this, id2).ease = v;
|
|
13717
13621
|
};
|
|
13718
13622
|
}
|
|
13719
13623
|
function transition_easeVarying(value) {
|
|
13720
|
-
if (typeof value !== "function")
|
|
13721
|
-
throw new Error();
|
|
13624
|
+
if (typeof value !== "function") throw new Error();
|
|
13722
13625
|
return this.each(easeVarying(this._id, value));
|
|
13723
13626
|
}
|
|
13724
13627
|
function transition_filter(match) {
|
|
13725
|
-
if (typeof match !== "function")
|
|
13726
|
-
match = matcher$1(match);
|
|
13628
|
+
if (typeof match !== "function") match = matcher$1(match);
|
|
13727
13629
|
for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
|
|
13728
13630
|
for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node2, i = 0; i < n; ++i) {
|
|
13729
13631
|
if ((node2 = group[i]) && match.call(node2, node2.__data__, i, group)) {
|
|
@@ -13734,8 +13636,7 @@ function transition_filter(match) {
|
|
|
13734
13636
|
return new Transition(subgroups, this._parents, this._name, this._id);
|
|
13735
13637
|
}
|
|
13736
13638
|
function transition_merge(transition2) {
|
|
13737
|
-
if (transition2._id !== this._id)
|
|
13738
|
-
throw new Error();
|
|
13639
|
+
if (transition2._id !== this._id) throw new Error();
|
|
13739
13640
|
for (var groups0 = this._groups, groups1 = transition2._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {
|
|
13740
13641
|
for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node2, i = 0; i < n; ++i) {
|
|
13741
13642
|
if (node2 = group0[i] || group1[i]) {
|
|
@@ -13751,8 +13652,7 @@ function transition_merge(transition2) {
|
|
|
13751
13652
|
function start(name) {
|
|
13752
13653
|
return (name + "").trim().split(/^|\s+/).every(function(t) {
|
|
13753
13654
|
var i = t.indexOf(".");
|
|
13754
|
-
if (i >= 0)
|
|
13755
|
-
t = t.slice(0, i);
|
|
13655
|
+
if (i >= 0) t = t.slice(0, i);
|
|
13756
13656
|
return !t || t === "start";
|
|
13757
13657
|
});
|
|
13758
13658
|
}
|
|
@@ -13760,8 +13660,7 @@ function onFunction(id2, name, listener) {
|
|
|
13760
13660
|
var on0, on1, sit = start(name) ? init : set$2;
|
|
13761
13661
|
return function() {
|
|
13762
13662
|
var schedule2 = sit(this, id2), on = schedule2.on;
|
|
13763
|
-
if (on !== on0)
|
|
13764
|
-
(on1 = (on0 = on).copy()).on(name, listener);
|
|
13663
|
+
if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);
|
|
13765
13664
|
schedule2.on = on1;
|
|
13766
13665
|
};
|
|
13767
13666
|
}
|
|
@@ -13772,11 +13671,8 @@ function transition_on(name, listener) {
|
|
|
13772
13671
|
function removeFunction(id2) {
|
|
13773
13672
|
return function() {
|
|
13774
13673
|
var parent = this.parentNode;
|
|
13775
|
-
for (var i in this.__transition)
|
|
13776
|
-
|
|
13777
|
-
return;
|
|
13778
|
-
if (parent)
|
|
13779
|
-
parent.removeChild(this);
|
|
13674
|
+
for (var i in this.__transition) if (+i !== id2) return;
|
|
13675
|
+
if (parent) parent.removeChild(this);
|
|
13780
13676
|
};
|
|
13781
13677
|
}
|
|
13782
13678
|
function transition_remove() {
|
|
@@ -13784,13 +13680,11 @@ function transition_remove() {
|
|
|
13784
13680
|
}
|
|
13785
13681
|
function transition_select(select2) {
|
|
13786
13682
|
var name = this._name, id2 = this._id;
|
|
13787
|
-
if (typeof select2 !== "function")
|
|
13788
|
-
select2 = selector$1(select2);
|
|
13683
|
+
if (typeof select2 !== "function") select2 = selector$1(select2);
|
|
13789
13684
|
for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
|
|
13790
13685
|
for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node2, subnode, i = 0; i < n; ++i) {
|
|
13791
13686
|
if ((node2 = group[i]) && (subnode = select2.call(node2, node2.__data__, i, group))) {
|
|
13792
|
-
if ("__data__" in node2)
|
|
13793
|
-
subnode.__data__ = node2.__data__;
|
|
13687
|
+
if ("__data__" in node2) subnode.__data__ = node2.__data__;
|
|
13794
13688
|
subgroup[i] = subnode;
|
|
13795
13689
|
schedule(subgroup[i], name, id2, i, subgroup, get$2(node2, id2));
|
|
13796
13690
|
}
|
|
@@ -13800,8 +13694,7 @@ function transition_select(select2) {
|
|
|
13800
13694
|
}
|
|
13801
13695
|
function transition_selectAll(select2) {
|
|
13802
13696
|
var name = this._name, id2 = this._id;
|
|
13803
|
-
if (typeof select2 !== "function")
|
|
13804
|
-
select2 = selectorAll$1(select2);
|
|
13697
|
+
if (typeof select2 !== "function") select2 = selectorAll$1(select2);
|
|
13805
13698
|
for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {
|
|
13806
13699
|
for (var group = groups[j], n = group.length, node2, i = 0; i < n; ++i) {
|
|
13807
13700
|
if (node2 = group[i]) {
|
|
@@ -13844,8 +13737,7 @@ function styleFunction$2(name, interpolate2, value) {
|
|
|
13844
13737
|
var string00, string10, interpolate0;
|
|
13845
13738
|
return function() {
|
|
13846
13739
|
var string0 = styleValue$1(this, name), value1 = value(this), string1 = value1 + "";
|
|
13847
|
-
if (value1 == null)
|
|
13848
|
-
string1 = value1 = (this.style.removeProperty(name), styleValue$1(this, name));
|
|
13740
|
+
if (value1 == null) string1 = value1 = (this.style.removeProperty(name), styleValue$1(this, name));
|
|
13849
13741
|
return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate2(string00 = string0, value1));
|
|
13850
13742
|
};
|
|
13851
13743
|
}
|
|
@@ -13853,8 +13745,7 @@ function styleMaybeRemove(id2, name) {
|
|
|
13853
13745
|
var on0, on1, listener0, key = "style." + name, event = "end." + key, remove2;
|
|
13854
13746
|
return function() {
|
|
13855
13747
|
var schedule2 = set$2(this, id2), on = schedule2.on, listener = schedule2.value[key] == null ? remove2 || (remove2 = styleRemove$2(name)) : void 0;
|
|
13856
|
-
if (on !== on0 || listener0 !== listener)
|
|
13857
|
-
(on1 = (on0 = on).copy()).on(event, listener0 = listener);
|
|
13748
|
+
if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);
|
|
13858
13749
|
schedule2.on = on1;
|
|
13859
13750
|
};
|
|
13860
13751
|
}
|
|
@@ -13871,8 +13762,7 @@ function styleTween(name, value, priority) {
|
|
|
13871
13762
|
var t, i0;
|
|
13872
13763
|
function tween() {
|
|
13873
13764
|
var i = value.apply(this, arguments);
|
|
13874
|
-
if (i !== i0)
|
|
13875
|
-
t = (i0 = i) && styleInterpolate(name, i, priority);
|
|
13765
|
+
if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);
|
|
13876
13766
|
return t;
|
|
13877
13767
|
}
|
|
13878
13768
|
tween._value = value;
|
|
@@ -13880,12 +13770,9 @@ function styleTween(name, value, priority) {
|
|
|
13880
13770
|
}
|
|
13881
13771
|
function transition_styleTween(name, value, priority) {
|
|
13882
13772
|
var key = "style." + (name += "");
|
|
13883
|
-
if (arguments.length < 2)
|
|
13884
|
-
|
|
13885
|
-
if (value
|
|
13886
|
-
return this.tween(key, null);
|
|
13887
|
-
if (typeof value !== "function")
|
|
13888
|
-
throw new Error();
|
|
13773
|
+
if (arguments.length < 2) return (key = this.tween(key)) && key._value;
|
|
13774
|
+
if (value == null) return this.tween(key, null);
|
|
13775
|
+
if (typeof value !== "function") throw new Error();
|
|
13889
13776
|
return this.tween(key, styleTween(name, value, priority == null ? "" : priority));
|
|
13890
13777
|
}
|
|
13891
13778
|
function textConstant$2(value) {
|
|
@@ -13911,8 +13798,7 @@ function textTween(value) {
|
|
|
13911
13798
|
var t0, i0;
|
|
13912
13799
|
function tween() {
|
|
13913
13800
|
var i = value.apply(this, arguments);
|
|
13914
|
-
if (i !== i0)
|
|
13915
|
-
t0 = (i0 = i) && textInterpolate(i);
|
|
13801
|
+
if (i !== i0) t0 = (i0 = i) && textInterpolate(i);
|
|
13916
13802
|
return t0;
|
|
13917
13803
|
}
|
|
13918
13804
|
tween._value = value;
|
|
@@ -13920,12 +13806,9 @@ function textTween(value) {
|
|
|
13920
13806
|
}
|
|
13921
13807
|
function transition_textTween(value) {
|
|
13922
13808
|
var key = "text";
|
|
13923
|
-
if (arguments.length < 1)
|
|
13924
|
-
|
|
13925
|
-
if (value
|
|
13926
|
-
return this.tween(key, null);
|
|
13927
|
-
if (typeof value !== "function")
|
|
13928
|
-
throw new Error();
|
|
13809
|
+
if (arguments.length < 1) return (key = this.tween(key)) && key._value;
|
|
13810
|
+
if (value == null) return this.tween(key, null);
|
|
13811
|
+
if (typeof value !== "function") throw new Error();
|
|
13929
13812
|
return this.tween(key, textTween(value));
|
|
13930
13813
|
}
|
|
13931
13814
|
function transition_transition() {
|
|
@@ -13949,8 +13832,7 @@ function transition_end() {
|
|
|
13949
13832
|
var on0, on1, that = this, id2 = that._id, size = that.size();
|
|
13950
13833
|
return new Promise(function(resolve, reject) {
|
|
13951
13834
|
var cancel = { value: reject }, end = { value: function() {
|
|
13952
|
-
if (--size === 0)
|
|
13953
|
-
resolve();
|
|
13835
|
+
if (--size === 0) resolve();
|
|
13954
13836
|
} };
|
|
13955
13837
|
that.each(function() {
|
|
13956
13838
|
var schedule2 = set$2(this, id2), on = schedule2.on;
|
|
@@ -13962,8 +13844,7 @@ function transition_end() {
|
|
|
13962
13844
|
}
|
|
13963
13845
|
schedule2.on = on1;
|
|
13964
13846
|
});
|
|
13965
|
-
if (size === 0)
|
|
13966
|
-
resolve();
|
|
13847
|
+
if (size === 0) resolve();
|
|
13967
13848
|
});
|
|
13968
13849
|
}
|
|
13969
13850
|
var id = 0;
|
|
@@ -14206,8 +14087,7 @@ function zoom() {
|
|
|
14206
14087
|
}).tween("zoom", function() {
|
|
14207
14088
|
var that = this, args = arguments, g = gesture(that, args).event(event), e = extent.apply(that, args), p = point == null ? centroid(e) : typeof point === "function" ? point.apply(that, args) : point, w = Math.max(e[1][0] - e[0][0], e[1][1] - e[0][1]), a = that.__zoom, b = typeof transform === "function" ? transform.apply(that, args) : transform, i = interpolate2(a.invert(p).concat(w / a.k), b.invert(p).concat(w / b.k));
|
|
14208
14089
|
return function(t) {
|
|
14209
|
-
if (t === 1)
|
|
14210
|
-
t = b;
|
|
14090
|
+
if (t === 1) t = b;
|
|
14211
14091
|
else {
|
|
14212
14092
|
var l = i(t), k = w / l[2];
|
|
14213
14093
|
t = new Transform(k, p[0] - l[0] * k, p[1] - l[1] * k);
|
|
@@ -14229,8 +14109,7 @@ function zoom() {
|
|
|
14229
14109
|
}
|
|
14230
14110
|
Gesture.prototype = {
|
|
14231
14111
|
event: function(event) {
|
|
14232
|
-
if (event)
|
|
14233
|
-
this.sourceEvent = event;
|
|
14112
|
+
if (event) this.sourceEvent = event;
|
|
14234
14113
|
return this;
|
|
14235
14114
|
},
|
|
14236
14115
|
start: function() {
|
|
@@ -14241,12 +14120,9 @@ function zoom() {
|
|
|
14241
14120
|
return this;
|
|
14242
14121
|
},
|
|
14243
14122
|
zoom: function(key, transform) {
|
|
14244
|
-
if (this.mouse && key !== "mouse")
|
|
14245
|
-
|
|
14246
|
-
if (this.
|
|
14247
|
-
this.touch0[1] = transform.invert(this.touch0[0]);
|
|
14248
|
-
if (this.touch1 && key !== "touch")
|
|
14249
|
-
this.touch1[1] = transform.invert(this.touch1[0]);
|
|
14123
|
+
if (this.mouse && key !== "mouse") this.mouse[1] = transform.invert(this.mouse[0]);
|
|
14124
|
+
if (this.touch0 && key !== "touch") this.touch0[1] = transform.invert(this.touch0[0]);
|
|
14125
|
+
if (this.touch1 && key !== "touch") this.touch1[1] = transform.invert(this.touch1[0]);
|
|
14250
14126
|
this.that.__zoom = transform;
|
|
14251
14127
|
this.emit("zoom");
|
|
14252
14128
|
return this;
|
|
@@ -14275,16 +14151,14 @@ function zoom() {
|
|
|
14275
14151
|
}
|
|
14276
14152
|
};
|
|
14277
14153
|
function wheeled(event, ...args) {
|
|
14278
|
-
if (!filter2.apply(this, arguments))
|
|
14279
|
-
return;
|
|
14154
|
+
if (!filter2.apply(this, arguments)) return;
|
|
14280
14155
|
var g = gesture(this, args).event(event), t = this.__zoom, k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], t.k * Math.pow(2, wheelDelta.apply(this, arguments)))), p = pointer$1(event);
|
|
14281
14156
|
if (g.wheel) {
|
|
14282
14157
|
if (g.mouse[0][0] !== p[0] || g.mouse[0][1] !== p[1]) {
|
|
14283
14158
|
g.mouse[1] = t.invert(g.mouse[0] = p);
|
|
14284
14159
|
}
|
|
14285
14160
|
clearTimeout(g.wheel);
|
|
14286
|
-
} else if (t.k === k)
|
|
14287
|
-
return;
|
|
14161
|
+
} else if (t.k === k) return;
|
|
14288
14162
|
else {
|
|
14289
14163
|
g.mouse = [p, t.invert(p)];
|
|
14290
14164
|
interrupt(this);
|
|
@@ -14299,8 +14173,7 @@ function zoom() {
|
|
|
14299
14173
|
}
|
|
14300
14174
|
}
|
|
14301
14175
|
function mousedowned(event, ...args) {
|
|
14302
|
-
if (touchending || !filter2.apply(this, arguments))
|
|
14303
|
-
return;
|
|
14176
|
+
if (touchending || !filter2.apply(this, arguments)) return;
|
|
14304
14177
|
var currentTarget = event.currentTarget, g = gesture(this, args, true).event(event), v = select$1(event.view).on("mousemove.zoom", mousemoved, true).on("mouseup.zoom", mouseupped, true), p = pointer$1(event, currentTarget), x0 = event.clientX, y0 = event.clientY;
|
|
14305
14178
|
dragDisable(event.view);
|
|
14306
14179
|
nopropagation$1(event);
|
|
@@ -14323,50 +14196,39 @@ function zoom() {
|
|
|
14323
14196
|
}
|
|
14324
14197
|
}
|
|
14325
14198
|
function dblclicked(event, ...args) {
|
|
14326
|
-
if (!filter2.apply(this, arguments))
|
|
14327
|
-
return;
|
|
14199
|
+
if (!filter2.apply(this, arguments)) return;
|
|
14328
14200
|
var t0 = this.__zoom, p0 = pointer$1(event.changedTouches ? event.changedTouches[0] : event, this), p1 = t0.invert(p0), k1 = t0.k * (event.shiftKey ? 0.5 : 2), t1 = constrain(translate(scale(t0, k1), p0, p1), extent.apply(this, args), translateExtent);
|
|
14329
14201
|
noevent$2(event);
|
|
14330
|
-
if (duration > 0)
|
|
14331
|
-
|
|
14332
|
-
else
|
|
14333
|
-
select$1(this).call(zoom2.transform, t1, p0, event);
|
|
14202
|
+
if (duration > 0) select$1(this).transition().duration(duration).call(schedule2, t1, p0, event);
|
|
14203
|
+
else select$1(this).call(zoom2.transform, t1, p0, event);
|
|
14334
14204
|
}
|
|
14335
14205
|
function touchstarted(event, ...args) {
|
|
14336
|
-
if (!filter2.apply(this, arguments))
|
|
14337
|
-
return;
|
|
14206
|
+
if (!filter2.apply(this, arguments)) return;
|
|
14338
14207
|
var touches = event.touches, n = touches.length, g = gesture(this, args, event.changedTouches.length === n).event(event), started, i, t, p;
|
|
14339
14208
|
nopropagation$1(event);
|
|
14340
14209
|
for (i = 0; i < n; ++i) {
|
|
14341
14210
|
t = touches[i], p = pointer$1(t, this);
|
|
14342
14211
|
p = [p, this.__zoom.invert(p), t.identifier];
|
|
14343
|
-
if (!g.touch0)
|
|
14344
|
-
|
|
14345
|
-
else if (!g.touch1 && g.touch0[2] !== p[2])
|
|
14346
|
-
g.touch1 = p, g.taps = 0;
|
|
14212
|
+
if (!g.touch0) g.touch0 = p, started = true, g.taps = 1 + !!touchstarting;
|
|
14213
|
+
else if (!g.touch1 && g.touch0[2] !== p[2]) g.touch1 = p, g.taps = 0;
|
|
14347
14214
|
}
|
|
14348
|
-
if (touchstarting)
|
|
14349
|
-
touchstarting = clearTimeout(touchstarting);
|
|
14215
|
+
if (touchstarting) touchstarting = clearTimeout(touchstarting);
|
|
14350
14216
|
if (started) {
|
|
14351
|
-
if (g.taps < 2)
|
|
14352
|
-
|
|
14353
|
-
|
|
14354
|
-
}, touchDelay);
|
|
14217
|
+
if (g.taps < 2) touchfirst = p[0], touchstarting = setTimeout(function() {
|
|
14218
|
+
touchstarting = null;
|
|
14219
|
+
}, touchDelay);
|
|
14355
14220
|
interrupt(this);
|
|
14356
14221
|
g.start();
|
|
14357
14222
|
}
|
|
14358
14223
|
}
|
|
14359
14224
|
function touchmoved(event, ...args) {
|
|
14360
|
-
if (!this.__zooming)
|
|
14361
|
-
return;
|
|
14225
|
+
if (!this.__zooming) return;
|
|
14362
14226
|
var g = gesture(this, args).event(event), touches = event.changedTouches, n = touches.length, i, t, p, l;
|
|
14363
14227
|
noevent$2(event);
|
|
14364
14228
|
for (i = 0; i < n; ++i) {
|
|
14365
14229
|
t = touches[i], p = pointer$1(t, this);
|
|
14366
|
-
if (g.touch0 && g.touch0[2] === t.identifier)
|
|
14367
|
-
|
|
14368
|
-
else if (g.touch1 && g.touch1[2] === t.identifier)
|
|
14369
|
-
g.touch1[0] = p;
|
|
14230
|
+
if (g.touch0 && g.touch0[2] === t.identifier) g.touch0[0] = p;
|
|
14231
|
+
else if (g.touch1 && g.touch1[2] === t.identifier) g.touch1[0] = p;
|
|
14370
14232
|
}
|
|
14371
14233
|
t = g.that.__zoom;
|
|
14372
14234
|
if (g.touch1) {
|
|
@@ -14374,41 +14236,32 @@ function zoom() {
|
|
|
14374
14236
|
t = scale(t, Math.sqrt(dp / dl));
|
|
14375
14237
|
p = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2];
|
|
14376
14238
|
l = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2];
|
|
14377
|
-
} else if (g.touch0)
|
|
14378
|
-
|
|
14379
|
-
else
|
|
14380
|
-
return;
|
|
14239
|
+
} else if (g.touch0) p = g.touch0[0], l = g.touch0[1];
|
|
14240
|
+
else return;
|
|
14381
14241
|
g.zoom("touch", constrain(translate(t, p, l), g.extent, translateExtent));
|
|
14382
14242
|
}
|
|
14383
14243
|
function touchended(event, ...args) {
|
|
14384
|
-
if (!this.__zooming)
|
|
14385
|
-
return;
|
|
14244
|
+
if (!this.__zooming) return;
|
|
14386
14245
|
var g = gesture(this, args).event(event), touches = event.changedTouches, n = touches.length, i, t;
|
|
14387
14246
|
nopropagation$1(event);
|
|
14388
|
-
if (touchending)
|
|
14389
|
-
clearTimeout(touchending);
|
|
14247
|
+
if (touchending) clearTimeout(touchending);
|
|
14390
14248
|
touchending = setTimeout(function() {
|
|
14391
14249
|
touchending = null;
|
|
14392
14250
|
}, touchDelay);
|
|
14393
14251
|
for (i = 0; i < n; ++i) {
|
|
14394
14252
|
t = touches[i];
|
|
14395
|
-
if (g.touch0 && g.touch0[2] === t.identifier)
|
|
14396
|
-
|
|
14397
|
-
else if (g.touch1 && g.touch1[2] === t.identifier)
|
|
14398
|
-
delete g.touch1;
|
|
14253
|
+
if (g.touch0 && g.touch0[2] === t.identifier) delete g.touch0;
|
|
14254
|
+
else if (g.touch1 && g.touch1[2] === t.identifier) delete g.touch1;
|
|
14399
14255
|
}
|
|
14400
|
-
if (g.touch1 && !g.touch0)
|
|
14401
|
-
|
|
14402
|
-
if (g.touch0)
|
|
14403
|
-
g.touch0[1] = this.__zoom.invert(g.touch0[0]);
|
|
14256
|
+
if (g.touch1 && !g.touch0) g.touch0 = g.touch1, delete g.touch1;
|
|
14257
|
+
if (g.touch0) g.touch0[1] = this.__zoom.invert(g.touch0[0]);
|
|
14404
14258
|
else {
|
|
14405
14259
|
g.end();
|
|
14406
14260
|
if (g.taps === 2) {
|
|
14407
14261
|
t = pointer$1(t, this);
|
|
14408
14262
|
if (Math.hypot(touchfirst[0] - t[0], touchfirst[1] - t[1]) < tapDistance) {
|
|
14409
14263
|
var p = select$1(this).on("dblclick.zoom");
|
|
14410
|
-
if (p)
|
|
14411
|
-
p.apply(this, arguments);
|
|
14264
|
+
if (p) p.apply(this, arguments);
|
|
14412
14265
|
}
|
|
14413
14266
|
}
|
|
14414
14267
|
}
|
|
@@ -14456,7 +14309,8 @@ const Slots = Symbol("MiniMapSlots");
|
|
|
14456
14309
|
const _hoisted_1$1$1 = ["id", "x", "y", "rx", "ry", "width", "height", "fill", "stroke", "stroke-width", "shape-rendering"];
|
|
14457
14310
|
const __default__$1$1 = {
|
|
14458
14311
|
name: "MiniMapNode",
|
|
14459
|
-
compatConfig: { MODE: 3 }
|
|
14312
|
+
compatConfig: { MODE: 3 },
|
|
14313
|
+
inheritAttrs: false
|
|
14460
14314
|
};
|
|
14461
14315
|
const _sfc_main$1$2 = /* @__PURE__ */ defineComponent({
|
|
14462
14316
|
...__default__$1$1,
|
|
@@ -14471,14 +14325,15 @@ const _sfc_main$1$2 = /* @__PURE__ */ defineComponent({
|
|
|
14471
14325
|
color: {},
|
|
14472
14326
|
shapeRendering: {},
|
|
14473
14327
|
strokeColor: {},
|
|
14474
|
-
strokeWidth: {}
|
|
14328
|
+
strokeWidth: {},
|
|
14329
|
+
hidden: { type: Boolean }
|
|
14475
14330
|
},
|
|
14476
14331
|
emits: ["click", "dblclick", "mouseenter", "mousemove", "mouseleave"],
|
|
14477
14332
|
setup(__props, { emit: emits }) {
|
|
14478
14333
|
const props = __props;
|
|
14479
14334
|
const miniMapSlots = inject(Slots);
|
|
14480
14335
|
const attrs = useAttrs();
|
|
14481
|
-
const
|
|
14336
|
+
const style = toRef(() => attrs.style ?? {});
|
|
14482
14337
|
function onClick(event) {
|
|
14483
14338
|
emits("click", event);
|
|
14484
14339
|
}
|
|
@@ -14495,26 +14350,29 @@ const _sfc_main$1$2 = /* @__PURE__ */ defineComponent({
|
|
|
14495
14350
|
emits("mouseleave", event);
|
|
14496
14351
|
}
|
|
14497
14352
|
return (_ctx, _cache) => {
|
|
14498
|
-
return
|
|
14499
|
-
key:
|
|
14500
|
-
|
|
14501
|
-
|
|
14502
|
-
|
|
14503
|
-
|
|
14504
|
-
|
|
14505
|
-
|
|
14506
|
-
|
|
14507
|
-
|
|
14508
|
-
|
|
14509
|
-
|
|
14510
|
-
|
|
14511
|
-
|
|
14512
|
-
|
|
14513
|
-
|
|
14514
|
-
|
|
14515
|
-
|
|
14516
|
-
|
|
14517
|
-
|
|
14353
|
+
return !_ctx.hidden && _ctx.dimensions.width !== 0 && _ctx.dimensions.height !== 0 ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
14354
|
+
unref(miniMapSlots)[`node-${props.type}`] ? (openBlock(), createBlock(resolveDynamicComponent(unref(miniMapSlots)[`node-${props.type}`]), normalizeProps(mergeProps({ key: 0 }, { ...props, ..._ctx.$attrs })), null, 16)) : (openBlock(), createElementBlock("rect", mergeProps({
|
|
14355
|
+
key: 1,
|
|
14356
|
+
id: _ctx.id
|
|
14357
|
+
}, _ctx.$attrs, {
|
|
14358
|
+
class: ["vue-flow__minimap-node", { selected: _ctx.selected, dragging: _ctx.dragging }],
|
|
14359
|
+
x: _ctx.position.x,
|
|
14360
|
+
y: _ctx.position.y,
|
|
14361
|
+
rx: _ctx.borderRadius,
|
|
14362
|
+
ry: _ctx.borderRadius,
|
|
14363
|
+
width: _ctx.dimensions.width,
|
|
14364
|
+
height: _ctx.dimensions.height,
|
|
14365
|
+
fill: _ctx.color || style.value.background || style.value.backgroundColor,
|
|
14366
|
+
stroke: _ctx.strokeColor,
|
|
14367
|
+
"stroke-width": _ctx.strokeWidth,
|
|
14368
|
+
"shape-rendering": _ctx.shapeRendering,
|
|
14369
|
+
onClick,
|
|
14370
|
+
onDblclick,
|
|
14371
|
+
onMouseenter: onMouseEnter,
|
|
14372
|
+
onMousemove: onMouseMove,
|
|
14373
|
+
onMouseleave: onMouseLeave
|
|
14374
|
+
}), null, 16, _hoisted_1$1$1))
|
|
14375
|
+
], 64)) : createCommentVNode("", true);
|
|
14518
14376
|
};
|
|
14519
14377
|
}
|
|
14520
14378
|
});
|
|
@@ -14723,12 +14581,13 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
|
|
|
14723
14581
|
"stroke-width": _ctx.nodeStrokeWidth,
|
|
14724
14582
|
"shape-rendering": unref(shapeRendering),
|
|
14725
14583
|
type: node2.type,
|
|
14584
|
+
hidden: node2.hidden,
|
|
14726
14585
|
onClick: ($event) => onNodeClick($event, node2),
|
|
14727
14586
|
onDblclick: ($event) => onNodeDblClick($event, node2),
|
|
14728
14587
|
onMouseenter: ($event) => onNodeMouseEnter($event, node2),
|
|
14729
14588
|
onMousemove: ($event) => onNodeMouseMove($event, node2),
|
|
14730
14589
|
onMouseleave: ($event) => onNodeMouseLeave($event, node2)
|
|
14731
|
-
}, null, 8, ["id", "position", "dimensions", "selected", "dragging", "style", "class", "color", "border-radius", "stroke-color", "stroke-width", "shape-rendering", "type", "onClick", "onDblclick", "onMouseenter", "onMousemove", "onMouseleave"]);
|
|
14590
|
+
}, null, 8, ["id", "position", "dimensions", "selected", "dragging", "style", "class", "color", "border-radius", "stroke-color", "stroke-width", "shape-rendering", "type", "hidden", "onClick", "onDblclick", "onMouseenter", "onMousemove", "onMouseleave"]);
|
|
14732
14591
|
}), 128)),
|
|
14733
14592
|
createBaseVNode("path", {
|
|
14734
14593
|
class: "vue-flow__minimap-mask",
|
|
@@ -18066,6 +17925,7 @@ const cssModules$2 = {
|
|
|
18066
17925
|
const CanvasEdgeToolbar = /* @__PURE__ */ _export_sfc$1(_sfc_main$6, [["__cssModules", cssModules$2]]);
|
|
18067
17926
|
const _hoisted_1$3 = ["data-source-node-name", "data-target-node-name"];
|
|
18068
17927
|
const _hoisted_2$2 = ["data-source-node-name", "data-target-node-name", "data-edge-status"];
|
|
17928
|
+
const delayedHoveredTimeout = 300;
|
|
18069
17929
|
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
18070
17930
|
__name: "CanvasEdge",
|
|
18071
17931
|
props: {
|
|
@@ -18112,7 +17972,23 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
18112
17972
|
const connectionType = computed(
|
|
18113
17973
|
() => isValidNodeConnectionType(props.data.source.type) ? props.data.source.type : NodeConnectionType.Main
|
|
18114
17974
|
);
|
|
18115
|
-
const
|
|
17975
|
+
const delayedHovered = ref(props.hovered);
|
|
17976
|
+
const delayedHoveredSetTimeoutRef = ref(null);
|
|
17977
|
+
watch(
|
|
17978
|
+
() => props.hovered,
|
|
17979
|
+
(isHovered) => {
|
|
17980
|
+
if (isHovered) {
|
|
17981
|
+
if (delayedHoveredSetTimeoutRef.value) clearTimeout(delayedHoveredSetTimeoutRef.value);
|
|
17982
|
+
delayedHovered.value = true;
|
|
17983
|
+
} else {
|
|
17984
|
+
delayedHoveredSetTimeoutRef.value = setTimeout(() => {
|
|
17985
|
+
delayedHovered.value = false;
|
|
17986
|
+
}, delayedHoveredTimeout);
|
|
17987
|
+
}
|
|
17988
|
+
},
|
|
17989
|
+
{ immediate: true }
|
|
17990
|
+
);
|
|
17991
|
+
const renderToolbar = computed(() => (props.selected || delayedHovered.value) && !props.readOnly);
|
|
18116
17992
|
const isMainConnection = computed(() => data.value.source.type === NodeConnectionType.Main);
|
|
18117
17993
|
const status2 = computed(() => props.data.status);
|
|
18118
17994
|
const edgeColor = computed(() => {
|