From b185a4c409e8140cbd11f9574d17d0d485815b86 Mon Sep 17 00:00:00 2001 From: Eugen Ciur <eugen@papermerge.com> Date: Sat, 29 Jan 2022 08:23:18 +0100 Subject: [PATCH] add basic ui select modifier --- app/components/commander/index.hbs | 5 +++- app/modifiers/ui_select.js | 47 ++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 app/modifiers/ui_select.js diff --git a/app/components/commander/index.hbs b/app/components/commander/index.hbs index ec5b188..e18a28e 100644 --- a/app/components/commander/index.hbs +++ b/app/components/commander/index.hbs @@ -1,7 +1,10 @@ <div class="panel commander col m-2 p-2" {{droppable onDrop=this.onDrop - onDragOver=this.onDragOver }}> + onDragOver=this.onDragOver }} + + {{uiSelect}}> + <div class="d-flex justify-content-between"> <Commander::ActionButtons @openNewFolderModal={{this.openNewFolderModal}} diff --git a/app/modifiers/ui_select.js b/app/modifiers/ui_select.js new file mode 100644 index 0000000..21020e9 --- /dev/null +++ b/app/modifiers/ui_select.js @@ -0,0 +1,47 @@ +import { action } from '@ember/object'; +import Modifier from 'ember-modifier'; + + +export default class UISelectModifier extends Modifier { + + ui_select = undefined; + + addEventListener() { + this.element.addEventListener('mousedown', this.onMouseDown); + this.element.addEventListener('mouseup', this.onMouseUp); + this.element.addEventListener('mousemove', this.onMouseMove); + } + + removeEventListener() { + this.element.removeEventListener('mousedown', this.onMouseDown); + this.element.removeEventListener('mouseup', this.onMouseUp); + this.element.removeEventListener('mousemove', this.onMouseMove); + } + + // lifecycle hooks + didReceiveArguments() { + this.removeEventListener(); + this.addEventListener(); + } + + willDestroy() { + this.removeEventListener(); + } + + @action + onMouseMove(event) { + if (this.ui_select) { + console.log('on mouse move'); + } + } + + @action + onMouseUp(event) { + this.ui_select = false; + } + + @action + onMouseDown(event) { + this.ui_select = true; + } +} \ No newline at end of file -- GitLab