From 7ec6a73242e3d16494768ab9782230c34c511c53 Mon Sep 17 00:00:00 2001 From: Rohit Tanwar <31792358+kriadmin@users.noreply.github.com> Date: Wed, 7 Mar 2018 18:52:36 +0530 Subject: [PATCH] Update Tag.js --- src/js/components/Tag.js | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/src/js/components/Tag.js b/src/js/components/Tag.js index e7632f600..9393bf9b4 100644 --- a/src/js/components/Tag.js +++ b/src/js/components/Tag.js @@ -3,16 +3,35 @@ import { select, selectAll, on } from '../deps/utils' const tagButtons = selectAll('button.tags__tag') let isShiftSelected = false; const onClick = function() { - if(isShiftSelected){ - document.querySelector.classList.remove('is-active') + let currentElements = [...document.querySelector('button.tags__tag.is-active')] + if(isShiftSelected && this.dataset.type === 'all'){ + tagButtons.forEach(button => button.classList.remove('is-active')) } - else{ - tagButtons.forEach(button => button.classList.remove('is-active')) + else if(isShiftSelected){ + document.querySelector('button[type=all]').classList.remove('is-active') + } + else { + tagButtons.forEach(button => button.classList.remove('is-active')) + } + if(this.classList.contains('is-active') && this.dataset.type === 'all'){ + this.classList.add('is-active') + currentElements = [this] + } + else if(this.classList.contains('is-active')){ + this.classList.remove('is-active') + currentElements.splice(currentElements.indexOf(this),1) + } + else { + this.classList.add('is-active'); + if(isShiftSelected){ + currentElements.push(this) + } + else{ + currentElements = [this] + } } - this.classList.add('is-active') - EventHub.emit('Tag.click', { - type: this.dataset.type + type: currentElements.map(el => el.dataset.type) }) } onkeydown = e => (