Skip to content
This repository was archived by the owner on Dec 15, 2019. It is now read-only.

Commit 518ee4d

Browse files
committed
Even better selection ux; Upgrade dependencies
1 parent e1b0a9c commit 518ee4d

File tree

4 files changed

+23
-23
lines changed

4 files changed

+23
-23
lines changed

package-lock.json

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
"dev": "vue-cli-service serve"
2626
},
2727
"dependencies": {
28-
"@fortawesome/fontawesome-free": "^5.9.0",
29-
"@simonwep/pickr": "^1.2.4",
28+
"@fortawesome/fontawesome-free": "^5.10.0",
29+
"@simonwep/pickr": "^1.2.6",
3030
"@simonwep/selection-js": "^1.1.1",
3131
"normalize.css": "^8.0.1",
3232
"register-service-worker": "^1.6.2",

src/vue/components/application/navigator/plugins/selectable.js

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -64,25 +64,25 @@ export default new Selection({
6464
},
6565

6666
onSelect({selectedElements, originalEvent, target}) {
67-
if (!originalEvent.ctrlKey && !originalEvent.metaKey) {
68-
store.commit('selection/clear');
69-
for (const el of selectedElements) {
70-
el.classList.remove('selected');
71-
}
67+
const targetHash = target.getAttribute('data-hash');
68+
const selectedNode = nodes.find(v => v.id === targetHash);
7269

73-
this.clearSelection();
74-
}
70+
if (selectedNode) {
71+
if (!originalEvent.ctrlKey && !originalEvent.metaKey) {
72+
store.commit('selection/clear');
7573

76-
const targetHash = target.getAttribute('data-hash');
77-
const selected = target.classList.contains('selected');
78-
if (selected && selection.length) {
79-
this.removeFromSelection(target);
80-
} else {
81-
const selectedNode = nodes.find(v => v.id === targetHash);
74+
for (const el of selectedElements) {
75+
el.classList.remove('selected');
76+
}
8277

83-
if (selectedNode) {
8478
store.commit('selection/append', [selectedNode]);
79+
target.classList.add('selected');
80+
this.clearSelection();
8581
this.keepSelection();
82+
} else if (target.classList.contains('selected')) {
83+
store.commit('selection/remove', [selectedNode]);
84+
target.classList.remove('selected');
85+
this.removeFromSelection(target);
8686
}
8787
}
8888
},

src/vue/ui/input/Pickr.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
},
7070
7171
destroyed() {
72-
this.pickr && this.pickr.destroy();
72+
this.pickr.destroyAndRemove(); // TODO: Mobile style broken
7373
},
7474
7575
methods: {

0 commit comments

Comments
 (0)