Prechádzať zdrojové kódy

Merge pull request #4941 from helioguardabaxo/add-list-with-position

Added conditional to show after list field only if board has at least…
Lauri Ojansivu 2 rokov pred
rodič
commit
3fbf9ab98f

+ 5 - 4
client/components/swimlanes/swimlanes.jade

@@ -51,10 +51,11 @@ template(name="addListForm")
           +inlinedForm(autoclose=false)
             input.list-name-input.full-line(type="text" placeholder="{{_ 'add-list'}}"
               autocomplete="off" autofocus)
-            | {{_ 'add-after-list'}}
-            select.list-position-input.full-line
-              each currentBoard.lists
-                option(value="{{_id}}") {{title}}
+            if currentBoard.getLastList
+              | {{_ 'add-after-list'}}
+              select.list-position-input.full-line
+                each currentBoard.lists
+                  option(value="{{_id}}" selected=currentBoard.getLastList.title) {{title}}
             .edit-controls.clearfix
               button.primary.confirm(type="submit") {{_ 'save'}}
               .fa.fa-times-thin.js-close-inlined-form

+ 12 - 4
client/components/swimlanes/swimlanes.js

@@ -256,12 +256,20 @@ BlazeComponent.extendComponent({
       {
         submit(evt) {
           evt.preventDefault();
+          const lastList = this.currentBoard.getLastList();
           const titleInput = this.find('.list-name-input');
           const title = titleInput.value.trim();
-          const positionInput = this.find('.list-position-input');
-          const position = positionInput.value.trim();
-          const ret = Lists.findOne({ boardId: Session.get('currentBoard'), _id: position, archived: false })
-          const sortIndex = JSON.stringify(ret['sort'])
+          let sortIndex = 0
+          if (lastList) {
+            const positionInput = this.find('.list-position-input');
+            const position = positionInput.value.trim();
+            const ret = Lists.findOne({ boardId: Session.get('currentBoard'), _id: position, archived: false })
+            sortIndex = parseInt(JSON.stringify(ret['sort']))
+            sortIndex = sortIndex+1
+          } else {
+            sortIndex = Utils.calculateIndexData(lastList, null).base;
+          }
+
           if (title) {
             Lists.insert({
               title,