mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-18 02:21:13 +00:00
feat(editor): Add drag and drop data mapping (#3708)
* commit package lock * refactor param options out * use action toggle * handle click on toggle * update color toggle * fix toggle * show options * update expression color * update pointer * fix readonly * fix readonly * fix expression spacing * refactor input label * show icon for headers * center icon * fix multi params * add credential options * increase spacing * update expression view * update transition * update el padding * rename side to options * fix label overflow * fix bug with unnessary lines * add overlay * fix bug affecting other pages * clean up spacing * rename * update icon size * fix toggle in users * clean up func * clean up css * use css var * fix overlay bug * clean up input * clean up input * clean up unnessary css * revert * update quotes * rename method * remove console errors * refactor data table * add drag button * make hoverable cells * add drag hint * disabel for output panel * add drag * disable for readonly * Add dragging * add draggable pill * add mapping targets * remove font color * Transferable * fix linting issue * teleport component * fix line * disable for readonly * fix position of data pill * fix position of data pill * ignore import * add droppable state * remove draggable key * update bg color * add value drop * use direct input * remove transition * add animation * shorten name * handle empty value * fix switch bug * fix up animation * add notification * add hint * add tooltip * show draggable hintm * fix multiple expre * fix hoverable * keep options on focus * increase timeouts * fix bug in set node * add transition on hover out * fix tooltip onboarding bug * only update expression if changes * add open delay * fix header highlight issue * update text * dont show tooltip always * update docs url * update ee border * add sticky behav * hide error highlight if dropping * switch out grip icon * increase timeout * add delay * show hint on execprev * add telemetry event * add telemetry event * add telemetry event * fire event on hint showing * fix telemetry event * add path * fix drag hint issue * decrease bottom margin * update mapping keys * remove file * hide overflow * sort params * add space * prevent scrolling * remove dropshadow * force cursor * address some comments * add thead tbody * add size opt
This commit is contained in:
@@ -24,6 +24,7 @@ import {
|
||||
IRootState,
|
||||
IRunDataDisplayMode,
|
||||
IUiState,
|
||||
XYPosition,
|
||||
} from '../Interface';
|
||||
|
||||
const module: Module<IUiState, IRootState> = {
|
||||
@@ -97,8 +98,17 @@ const module: Module<IUiState, IRootState> = {
|
||||
output: {
|
||||
displayMode: 'table',
|
||||
},
|
||||
focusedMappableInput: '',
|
||||
mappingTelemetry: {},
|
||||
},
|
||||
mainPanelPosition: 0.5,
|
||||
draggable: {
|
||||
isDragging: false,
|
||||
type: '',
|
||||
data: '',
|
||||
canDrop: false,
|
||||
stickyPosition: null,
|
||||
},
|
||||
},
|
||||
getters: {
|
||||
areExpressionsDisabled(state: IUiState) {
|
||||
@@ -127,6 +137,13 @@ const module: Module<IUiState, IRootState> = {
|
||||
inputPanelDispalyMode: (state: IUiState) => state.ndv.input.displayMode,
|
||||
outputPanelDispalyMode: (state: IUiState) => state.ndv.output.displayMode,
|
||||
mainPanelPosition: (state: IUiState) => state.mainPanelPosition,
|
||||
focusedMappableInput: (state: IUiState) => state.ndv.focusedMappableInput,
|
||||
isDraggableDragging: (state: IUiState) => state.draggable.isDragging,
|
||||
draggableType: (state: IUiState) => state.draggable.type,
|
||||
draggableData: (state: IUiState) => state.draggable.data,
|
||||
canDraggableDrop: (state: IUiState) => state.draggable.canDrop,
|
||||
draggableStickyPos: (state: IUiState) => state.draggable.stickyPosition,
|
||||
mappingTelemetry: (state: IUiState) => state.ndv.mappingTelemetry,
|
||||
},
|
||||
mutations: {
|
||||
setMode: (state: IUiState, params: {name: string, mode: string}) => {
|
||||
@@ -173,7 +190,39 @@ const module: Module<IUiState, IRootState> = {
|
||||
setMainPanelRelativePosition(state: IUiState, relativePosition: number) {
|
||||
state.mainPanelPosition = relativePosition;
|
||||
},
|
||||
|
||||
setMappableNDVInputFocus(state: IUiState, paramName: string) {
|
||||
Vue.set(state.ndv, 'focusedMappableInput', paramName);
|
||||
},
|
||||
draggableStartDragging(state: IUiState, {type, data}: {type: string, data: string}) {
|
||||
state.draggable = {
|
||||
isDragging: true,
|
||||
type,
|
||||
data,
|
||||
canDrop: false,
|
||||
stickyPosition: null,
|
||||
};
|
||||
},
|
||||
draggableStopDragging(state: IUiState) {
|
||||
state.draggable = {
|
||||
isDragging: false,
|
||||
type: '',
|
||||
data: '',
|
||||
canDrop: false,
|
||||
stickyPosition: null,
|
||||
};
|
||||
},
|
||||
setDraggableStickyPos(state: IUiState, position: XYPosition | null) {
|
||||
Vue.set(state.draggable, 'stickyPosition', position);
|
||||
},
|
||||
setDraggableCanDrop(state: IUiState, canDrop: boolean) {
|
||||
Vue.set(state.draggable, 'canDrop', canDrop);
|
||||
},
|
||||
setMappingTelemetry(state: IUiState, telemetery: {[key: string]: string | number | boolean}) {
|
||||
state.ndv.mappingTelemetry = {...state.ndv.mappingTelemetry, ...telemetery};
|
||||
},
|
||||
resetMappingTelemetry(state: IUiState) {
|
||||
state.ndv.mappingTelemetry = {};
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
openModal: async (context: ActionContext<IUiState, IRootState>, modalKey: string) => {
|
||||
|
||||
Reference in New Issue
Block a user