浏览代码

Show description on minicard

helioguardabaxo 3 年之前
父节点
当前提交
db4421c7b8

+ 7 - 2
client/components/cards/minicard.jade

@@ -114,8 +114,9 @@ template(name="minicard")
             //span.badge-comment.badge-text
             //|  {{_ 'comment'}}
       if getDescription
-        .badge.badge-state-image-only(title=getDescription)
-          span.badge-icon.fa.fa-align-left
+        unless currentBoard.allowsDescriptionTextOnMinicard
+          .badge.badge-state-image-only(title=getDescription)
+            span.badge-icon.fa.fa-align-left
       if getVoteQuestion
         .badge.badge-state-image-only(title=getVoteQuestion)
           span.badge-icon.fa.fa-thumbs-up(class="{{#if voteState}}text-green{{/if}}")
@@ -144,6 +145,10 @@ template(name="minicard")
         .badge
           span.badge-icon.fa.fa-sort
           span.badge-text.check-list-sort {{ sort }}
+    if currentBoard.allowsDescriptionTextOnMinicard
+      if getDescription
+        .minicard-description
+          | {{ getDescription }}
 
 template(name="editCardSortOrderPopup")
   input.js-edit-card-sort-popup(type='text' autofocus value=sort dir="auto")

+ 10 - 0
client/components/cards/minicard.styl

@@ -201,6 +201,16 @@
   .minicard-assignees:empty
     display: none
 
+  .minicard-description {
+    padding: 6px 0 6px 8px
+    background-color: #eee
+    width: 100%
+    margin-bottom: 2px
+    margin-left: -4px
+    border-radius: 3px
+    display: inline-block
+  }
+
   &.minicard-composer
     margin-bottom: 10px
 

+ 6 - 0
client/components/sidebar/sidebar.jade

@@ -236,6 +236,12 @@ template(name="boardCardSettingsPopup")
           i.fa.fa-align-left
           | {{_ 'description'}}
           | {{_ 'custom-field-text'}}
+    div.check-div
+      a.flex.js-field-has-description-text-on-minicard(class="{{#if allowsDescriptionTextOnMinicard}}is-checked{{/if}}")
+        .materialCheckBox(class="{{#if allowsDescriptionTextOnMinicard}}is-checked{{/if}}")
+        span
+          i.fa.fa-align-left
+          | {{_ 'description-on-minicard'}}
     div.check-div
       a.flex.js-field-has-checklists(class="{{#if allowsChecklists}}is-checked{{/if}}")
         .materialCheckBox(class="{{#if allowsChecklists}}is-checked{{/if}}")

+ 20 - 0
client/components/sidebar/sidebar.js

@@ -859,6 +859,10 @@ BlazeComponent.extendComponent({
     return this.currentBoard.allowsDescriptionText;
   },
 
+  allowsDescriptionTextOnMinicard() {
+    return this.currentBoard.allowsDescriptionTextOnMinicard;
+  },
+
   isBoardSelected() {
     return this.currentBoard.dateSettingsDefaultBoardID;
   },
@@ -1142,6 +1146,22 @@ BlazeComponent.extendComponent({
             this.currentBoard.allowsDescriptionText,
           );
         },
+        'click .js-field-has-description-text-on-minicard'(evt) {
+          evt.preventDefault();
+          this.currentBoard.allowsDescriptionTextOnMinicard = !this.currentBoard
+            .allowsDescriptionTextOnMinicard;
+          this.currentBoard.setallowsDescriptionTextOnMinicard(
+            this.currentBoard.allowsDescriptionTextOnMinicard,
+          );
+          $(`.js-field-has-description-text-on-minicard ${MCB}`).toggleClass(
+            CKCLS,
+            this.currentBoard.allowsDescriptionTextOnMinicard,
+          );
+          $('.js-field-has-description-text-on-minicard').toggleClass(
+            CKCLS,
+            this.currentBoard.allowsDescriptionTextOnMinicard,
+          );
+        },
         'click .js-field-has-checklists'(evt) {
           evt.preventDefault();
           this.currentBoard.allowsChecklists = !this.currentBoard

+ 1 - 0
i18n/en.i18n.json

@@ -706,6 +706,7 @@
   "deposit-subtasks-board": "Deposit subtasks to this board:",
   "deposit-subtasks-list": "Landing list for subtasks deposited here:",
   "show-parent-in-minicard": "Show parent in minicard:",
+  "description-on-minicard": "Description on minicard",
   "prefix-with-full-path": "Prefix with full path",
   "prefix-with-parent": "Prefix with parent",
   "subtext-with-full-path": "Subtext with full path",

+ 11 - 0
models/boards.js

@@ -376,6 +376,13 @@ Boards.attachSchema(
       type: Boolean,
       defaultValue: true,
     },
+    allowsDescriptionTextOnMinicard: {
+      /**
+       * Does the board allows description text?
+       */
+      type: Boolean,
+      defaultValue: false,
+    },
 
     allowsCardNumber: {
       /**
@@ -1415,6 +1422,10 @@ Boards.mutations({
     return { $set: { allowsDescriptionText } };
   },
 
+  setallowsDescriptionTextOnMinicard(allowsDescriptionTextOnMinicard) {
+    return { $set: { allowsDescriptionTextOnMinicard } };
+  },
+
   setAllowsActivities(allowsActivities) {
     return { $set: { allowsActivities } };
   },

+ 16 - 0
server/migrations.js

@@ -1034,6 +1034,22 @@ Migrations.add('add-description-text-allowed', () => {
   );
 });
 
+Migrations.add('add-description-text-allowed-on-minicard', () => {
+  Boards.update(
+    {
+      allowsDescriptionTextOnMinicard: {
+        $exists: false,
+      },
+    },
+    {
+      $set: {
+        allowsDescriptionTextOnMinicard: true,
+      },
+    },
+    noValidateMulti,
+  );
+});
+
 Migrations.add('add-sort-field-to-boards', () => {
   Boards.find().forEach((board, index) => {
     if (!board.hasOwnProperty('sort')) {