diff options
author | amadilsons <joao.amado.95@gmail.com> | 2017-10-04 11:12:52 +0200 |
---|---|---|
committer | amadilsons <joao.amado.95@gmail.com> | 2017-10-04 11:12:52 +0200 |
commit | 089dbf0cf6a3e144d0271a8666d58e689f8c8dba (patch) | |
tree | c77d1063e881065f5faf70fe397fd14bbfc8f368 /client/components/lists | |
parent | a918d36533bd61765f954f60c0e3af78b014907a (diff) | |
download | wekan-089dbf0cf6a3e144d0271a8666d58e689f8c8dba.tar.gz wekan-089dbf0cf6a3e144d0271a8666d58e689f8c8dba.tar.bz2 wekan-089dbf0cf6a3e144d0271a8666d58e689f8c8dba.zip |
on its way
Diffstat (limited to 'client/components/lists')
-rw-r--r-- | client/components/lists/list.styl | 5 | ||||
-rw-r--r-- | client/components/lists/listHeader.jade | 26 | ||||
-rw-r--r-- | client/components/lists/listHeader.js | 77 |
3 files changed, 95 insertions, 13 deletions
diff --git a/client/components/lists/list.styl b/client/components/lists/list.styl index 4c6c792f..f426b243 100644 --- a/client/components/lists/list.styl +++ b/client/components/lists/list.styl @@ -113,7 +113,7 @@ #js-wip-limit-edit padding-top: 2% - + p margin-bottom: 0 @@ -123,3 +123,6 @@ .wip-limit-value width: 20% margin-right: 5% + + .wip-limit-error + display: none diff --git a/client/components/lists/listHeader.jade b/client/components/lists/listHeader.jade index 5d352b2e..97dbf1c8 100644 --- a/client/components/lists/listHeader.jade +++ b/client/components/lists/listHeader.jade @@ -6,9 +6,9 @@ template(name="listHeader") h2.list-header-name( class="{{#if currentUser.isBoardMember}}js-open-inlined-form is-editable{{/if}}") = title - if hasWipLimit + if isWipLimitEnabled span - | (#{wipLimit}) + | (#{wipLimit.value}) if showCardsCountForList cards.count = cards.count span.lowercase @@ -37,7 +37,7 @@ template(name="listActionPopup") li: a.js-select-cards {{_ 'list-select-cards'}} hr ul.pop-over-list - li: a.js-set-wip-limit {{#if hasWipLimit}}{{_ 'edit-wip-limit'}}{{else}}{{_ 'setWipLimitPopup-title'}}{{/if}} + li: a.js-set-wip-limit {{#if isWipLimitEnabled }}EDIT{{else}}{{_ 'setWipLimitPopup-title'}}{{/if}} hr ul.pop-over-list li: a.js-close-list {{_ 'archive-list'}} @@ -74,6 +74,20 @@ template(name="listDeletePopup") template(name="setWipLimitPopup") #js-wip-limit-edit lable {{_ 'set-wip-limit-value'}} - p - input.wip-limit-value(type="number" value="#{wipLimit}" min="0" max="99" onkeydown="return false") - input.wip-limit-apply(type="submit" value="{{_ 'apply'}}") + {{one}} + ul.pop-over-list + li: a.js-enable-wip-limit Enable WIP Limit + if isWipLimitEnabled + i.fa.fa-check + + if isWipLimitEnabled + p + input.wip-limit-value(type="number" value="#{wipLimit.value}" min="1" max="99" onkeydown="return false") + input.wip-limit-apply(type="submit" value="{{_ 'apply'}}") + input.wip-limit-error + +template(name="wipLimitErrorPopup") + .wip-limit-invalid + p The number of tasks in this list is higher than the WIP limit you've defined. + p Please move some tasks out of this list, or set a higher WIP limit. + button.full.js-back-view(type="submit") {{_ 'cancel'}} diff --git a/client/components/lists/listHeader.js b/client/components/lists/listHeader.js index 0dc15315..9ae2c1fe 100644 --- a/client/components/lists/listHeader.js +++ b/client/components/lists/listHeader.js @@ -8,8 +8,9 @@ BlazeComponent.extendComponent({ } }, - hasWipLimit() { - return this.currentData().wipLimit > 0 ? true : false; + isWipLimitEnabled() { + const limit = this.currentData().wipLimit + return limit.enabled && limit.value > 0; }, isWatching() { @@ -41,10 +42,9 @@ BlazeComponent.extendComponent({ }).register('listHeader'); Template.listActionPopup.helpers({ - hasWipLimit() { - return this.wipLimit > 0 ? true : false; + isWipLimitEnabled() { + return Lists.findOne(this.data()._id, { 'wipLimit.enabled': 1 }).wipLimit.enabled; }, - isWatching() { return this.findWatcher(Meteor.userId()); }, @@ -73,12 +73,77 @@ Template.listActionPopup.events({ 'click .js-more': Popup.open('listMore'), }); +Template.setWipLimitPopup.helpers({ + one() { + //console.log(this) + //console.log(Template.instance()) + } +}); + +BlazeComponent.extendComponent({ + onCreated() { + this.wipEnabled = new ReactiveVar(Template.currentData().wipLimit.enabled); + }, + + toggleWipEnabled() { + const list = Lists.findOne(this.data()._id); + list.wipLimit.enabled ? list.setWipLimitDisabled() : list.setWipLimitEnabled() + }, + + isWipLimitEnabled() { + return Lists.findOne(this.data()._id, { 'wipLimit.enabled': 1 }).wipLimit.enabled; + }, + events() { + return [{ + 'click .js-enable-wip-limit'(_, instance) { + //By default wipLimit.enabled is false or undefined. First click will always be to enable wip limiting + this.wipEnabled.set(!this.wipEnabled.get()); + //console.log(Template.parentData(2)) + //Template.parentData(2).data.toggleWipLimit(!Template.currentData().wipLimit.enabled); //If wipLimit.enabled is not yet definied, the negation of "undefined" is "true" + this.toggleWipEnabled() + }, + 'click .wip-limit-apply'(_, instance) { + const list = Template.currentData(); + const limit = Template.instance().$('.wip-limit-value').val(); + + if(limit < list.allCards().count()){ + Template.instance().$('.wip-limit-error').click(); + } else { + list.setWipLimit(limit); + } + }, + 'click .wip-limit-error': Popup.open('wipLimitError'), + }]; + }, +}).register('setWipLimitPopup'); + + +/* +Template.setWipLimitPopup.helpers({ + isWipLimitEnabled(instance) { + console.log(this); + console.log(Template.currentData()); + console.log(instance); + return Template.currentData().wipLimit.enabled; + }, +}); + Template.setWipLimitPopup.events({ + 'click .js-enable-wip-limit'(_, instance) { + //By default wipLimit.enabled is false or undefined. First click will always be to enable wip limiting + instance.wipEnabled.set(!instance.wipEnabled.get()) + // list.toggleWipLimit(!list.wipLimit.enabled); //If wipLimit.enabled is not yet definied, the negation of "undefined" is "true" + }, 'click .wip-limit-apply'(_, instance) { const limit = instance.$('.wip-limit-value').val(); + if(limit < this.allCards().count()){ + instance.$('.wip-limit-error').click(); //open popup with invisible button click + return; + } this.setWipLimit(limit); }, -}); + 'click .wip-limit-error': Popup.open('wipLimitError'), +});*/ Template.listMorePopup.events({ 'click .js-delete': Popup.afterConfirm('listDelete', function () { |