Skip to content

Commit fec76e5

Browse files
Refactoring
1 parent 201fa75 commit fec76e5

File tree

3 files changed

+26
-28
lines changed

3 files changed

+26
-28
lines changed

src/core/renderHelper.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ function computeChildrenAndNodes(slots) {
3636
};
3737
}
3838

39-
function solveTag(tag) {
39+
function resolveTag(tag) {
4040
const externalComponent = !isHtmlTag(tag) && !isTransitionName(tag);
4141
const realRoot = externalComponent ? resolveComponent(tag) : tag;
4242
return {
@@ -48,7 +48,7 @@ function solveTag(tag) {
4848

4949
function computeRenderContext({ $slots, tag }) {
5050
const childrenAndNodes = computeChildrenAndNodes($slots);
51-
const tagInformation = solveTag(tag);
51+
const tagInformation = resolveTag(tag);
5252

5353
return {
5454
...tagInformation,

src/vuedraggable.js

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,27 +9,31 @@ import {
99
import { computeRenderContext } from "./core/renderHelper";
1010
import { h, defineComponent, nextTick } from "vue";
1111

12-
function computeVmIndex(vNodes, element) {
12+
function computeVmIndex(vNodes, htmlElement) {
1313
const domElements = vNodes.map(({ el }) => el);
14-
const index = domElements.indexOf(element);
14+
const index = domElements.indexOf(htmlElement);
1515
if (index === -1) {
1616
throw new Error("node not found", {
1717
nodes: domElements,
18-
element
18+
htmlElement
1919
});
2020
}
2121
return index;
2222
}
2323

24-
function computeIndexes(vNodes, domChildren, isTransition, footerOffset) {
24+
function computeIndexes(
25+
vNodes,
26+
domChildren,
27+
{ transitionMode, offsets: { footer: footerOffset } }
28+
) {
2529
const domChildrenFromNodes = vNodes.map(({ el }) => el);
2630
const footerIndex = domChildren.length - footerOffset;
2731
const rawIndexes = [...domChildren].map((elt, idx) =>
2832
idx >= footerIndex
2933
? domChildrenFromNodes.length
3034
: domChildrenFromNodes.indexOf(elt)
3135
);
32-
return isTransition ? rawIndexes.filter(ind => ind !== -1) : rawIndexes;
36+
return transitionMode ? rawIndexes.filter(ind => ind !== -1) : rawIndexes;
3337
}
3438

3539
function emit(evtName, evtData) {
@@ -93,17 +97,9 @@ const draggableComponent = defineComponent({
9397

9498
props,
9599

96-
data() {
97-
return {
98-
noneFunctionalComponentMode: false
99-
};
100-
},
101-
102100
render() {
103101
const { $slots, $attrs, tag, componentData } = this;
104102
const renderContext = computeRenderContext({ $slots, tag });
105-
this.renderContext = renderContext;
106-
this.noneFunctionalComponentMode = renderContext.noneFunctional;
107103
const attributes = getComponentAttributes({ $attrs, componentData });
108104

109105
if (renderContext.noneFunctional && renderContext.transitionMode) {
@@ -112,6 +108,7 @@ const draggableComponent = defineComponent({
112108
);
113109
}
114110

111+
this.renderContext = renderContext;
115112
return h(renderContext.tag, attributes, renderContext.children);
116113
},
117114

@@ -193,13 +190,13 @@ const draggableComponent = defineComponent({
193190

194191
getChildrenNodes() {
195192
const {
196-
noneFunctionalComponentMode,
197193
renderContext: {
194+
noneFunctional,
198195
transitionMode,
199196
nodes: { default: defaultNodes }
200197
}
201198
} = this;
202-
if (noneFunctionalComponentMode) {
199+
if (noneFunctional) {
203200
//TODO check
204201
return defaultNodes[0].children;
205202
//return this.$children[0].$slots.default();
@@ -225,8 +222,7 @@ const draggableComponent = defineComponent({
225222
this.visibleIndexes = computeIndexes(
226223
this.getChildrenNodes(),
227224
this.rootContainer.children,
228-
this.renderContext.transitionMode,
229-
this.renderContext.offsets.footer
225+
this.renderContext
230226
);
231227
});
232228
},
@@ -366,8 +362,8 @@ const draggableComponent = defineComponent({
366362
};
367363
const sendEvent = {
368364
...evt,
369-
...{ relatedContext },
370-
...{ draggedContext }
365+
relatedContext,
366+
draggedContext
371367
};
372368
return move(sendEvent, originalEvent);
373369
},

tests/unit/vuedraggable.spec.js

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -196,9 +196,11 @@ describe("draggable.vue when initialized with list", () => {
196196
expect(wrapper.html()).toMatch(expectedRegex);
197197
});
198198

199-
it("set noneFunctionalComponentMode to false ", () => {
200-
const { noneFunctionalComponentMode } = vm;
201-
expect(noneFunctionalComponentMode).toBe(false);
199+
it("set noneFunctional to false ", () => {
200+
const {
201+
renderContext: { noneFunctional }
202+
} = vm;
203+
expect(noneFunctional).toBe(false);
202204
});
203205
});
204206

@@ -339,11 +341,11 @@ describe("draggable.vue when initialized with list", () => {
339341
}
340342
});
341343
const {
342-
vm: { noneFunctionalComponentMode }
344+
vm: {
345+
renderContext: { noneFunctional }
346+
}
343347
} = wrapper;
344-
expect(noneFunctionalComponentMode).toBe(
345-
expectedNoneFunctionalComponentMode
346-
);
348+
expect(noneFunctional).toBe(expectedNoneFunctionalComponentMode);
347349
}
348350
);
349351
});

0 commit comments

Comments
 (0)