From ee06e4f6de14f0df89b44f80dca254c178a607ef Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Wed, 22 Sep 2021 12:14:42 +0300 Subject: [PATCH] Toggle opened card Custom Fields layout between Grid and one per row. Thanks to xet7 ! --- client/components/cards/cardDetails.jade | 11 ++++++++++- client/components/cards/cardDetails.js | 8 ++++++++ models/users.js | 24 ++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index b9f051151..931eae3c9 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -227,8 +227,17 @@ template(name="cardDetails") //.card-details-items if customFieldsWD - each customFieldsWD + .material-toggle-switch(title="{{_ 'change'}} {{_ 'custom-fields'}} {{_ 'layout'}}") + if customFieldsGrid + input.toggle-switch(type="checkbox" id="toggleCustomFieldsGridButton" checked="checked") + else + input.toggle-switch(type="checkbox" id="toggleCustomFieldsGridButton") + label.toggle-label(for="toggleCustomFieldsGridButton") + unless customFieldsGrid hr + each customFieldsWD + if customFieldsGrid + hr .card-details-item.card-details-item-customfield h3.card-details-item-title i.fa.fa-list-alt diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js index a3a2b1794..fd12733fd 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -61,6 +61,11 @@ BlazeComponent.extendComponent({ return Meteor.user().hasHiddenSystemMessages(); }, + customFieldsGrid() { + return Meteor.user().hasCustomFieldsGrid(); + }, + + cardMaximized() { return Meteor.user().hasCardMaximized(); }, @@ -419,6 +424,9 @@ BlazeComponent.extendComponent({ 'click #toggleButton'() { Meteor.call('toggleSystemMessages'); }, + 'click #toggleCustomFieldsGridButton'() { + Meteor.call('toggleCustomFieldsGrid'); + }, 'click .js-maximize-card-details'() { Meteor.call('toggleCardMaximized'); autosize($('.card-details')); diff --git a/models/users.js b/models/users.js index 2954e71e1..bb95711af 100644 --- a/models/users.js +++ b/models/users.js @@ -184,6 +184,13 @@ Users.attachSchema( type: Boolean, optional: true, }, + 'profile.customFieldsGrid': { + /** + * has user at card Custom Fields have Grid (false) or one per row (true) layout? + */ + type: Boolean, + optional: true, + }, 'profile.hiddenSystemMessages': { /** * does the user want to hide system messages? @@ -652,6 +659,11 @@ Users.helpers({ return profile.hiddenSystemMessages || false; }, + hasCustomFieldsGrid() { + const profile = this.profile || {}; + return profile.customFieldsGrid || false; + }, + hasCardMaximized() { const profile = this.profile || {}; return profile.cardMaximized || false; @@ -809,6 +821,14 @@ Users.mutations({ }; }, + toggleFieldsGrid(value = false) { + return { + $set: { + 'profile.customFieldsGrid': !value, + }, + }; + }, + toggleCardMaximized(value = false) { return { $set: { @@ -911,6 +931,10 @@ Meteor.methods({ const user = Meteor.user(); user.toggleSystem(user.hasHiddenSystemMessages()); }, + toggleCustomFieldsGrid() { + const user = Meteor.user(); + user.toggleFieldsGrid(user.hasCustomFieldsGrid()); + }, toggleCardMaximized() { const user = Meteor.user(); user.toggleCardMaximized(user.hasCardMaximized());