Переглянути джерело

- Fix Card URL https://github.com/wekan/wekan/pull/1932/files

Thanks to schulz !
Lauri Ojansivu 6 роки тому
батько
коміт
2206c5c84c

+ 7 - 0
client/components/boards/boardBody.js

@@ -147,6 +147,13 @@ BlazeComponent.extendComponent({
     });
   },
 
+  scrollTop(position = 0) {
+    const swimlanes = this.$('.js-swimlanes');
+    swimlanes && swimlanes.animate({
+      scrollTop: position,
+    });
+  },
+
 }).register('boardBody');
 
 BlazeComponent.extendComponent({

+ 19 - 1
client/components/cards/cardDetails.js

@@ -69,6 +69,20 @@ BlazeComponent.extendComponent({
     if (offset) {
       bodyBoardComponent.scrollLeft(cardContainerScroll + offset);
     }
+
+    //Scroll top
+    const cardViewStartTop = $cardView.offset().top;
+    const cardContainerScrollTop = $cardContainer.scrollTop();
+    let topOffset = false;
+    if(cardViewStartTop < 0){
+      topOffset = 0;
+    } else if(cardViewStartTop - cardContainerScrollTop > 100) {
+      topOffset = cardViewStartTop - cardContainerScrollTop - 100;
+    }
+    if(topOffset !== false) {
+      bodyBoardComponent.scrollTop(topOffset);
+    }
+
   },
 
   presentParentTask() {
@@ -96,7 +110,11 @@ BlazeComponent.extendComponent({
   },
 
   onRendered() {
-    if (!Utils.isMiniScreen()) this.scrollParentContainer();
+    if (!Utils.isMiniScreen()) {
+      Meteor.setTimeout(() => {
+        this.scrollParentContainer();
+      }, 500);
+    }
     const $checklistsDom = this.$('.card-checklist-items');
 
     $checklistsDom.sortable({

+ 4 - 1
client/components/main/editor.js

@@ -38,7 +38,10 @@ Blaze.Template.registerHelper('mentions', new Template('mentions', function() {
   const view = this;
   const currentBoard = Boards.findOne(Session.get('currentBoard'));
   const knowedUsers = currentBoard.members.map((member) => {
-    member.username = Users.findOne(member.userId).username;
+    const u = Users.findOne(member.userId);
+    if(u){
+      member.username = u.username;
+    }
     return member;
   });
   const mentionRegex = /\B@([\w.]*)/gi;