From 85c2910738dd105e01f828451245e546fa934af8 Mon Sep 17 00:00:00 2001 From: James Allen Date: Mon, 13 Feb 2017 09:49:51 +0100 Subject: [PATCH 1/4] Don't animate review panel entries on toggle and resize --- .../controllers/ReviewPanelController.coffee | 4 ++-- .../review-panel/directives/reviewPanelSorted.coffee | 10 +++++++--- .../public/stylesheets/app/editor/review-panel.less | 6 ++++++ 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/services/web/public/coffee/ide/review-panel/controllers/ReviewPanelController.coffee b/services/web/public/coffee/ide/review-panel/controllers/ReviewPanelController.coffee index 36c56890cc..c36c881e3c 100644 --- a/services/web/public/coffee/ide/review-panel/controllers/ReviewPanelController.coffee +++ b/services/web/public/coffee/ide/review-panel/controllers/ReviewPanelController.coffee @@ -33,7 +33,7 @@ define [ $scope.$on "layout:pdf:resize", (event, state) -> $scope.reviewPanel.layoutToLeft = (state.east?.size < 220 || state.east?.initClosed) - $scope.$broadcast "review-panel:layout" + $scope.$broadcast "review-panel:layout", false $scope.$on "expandable-text-area:resize", (event) -> $timeout () -> @@ -154,7 +154,7 @@ define [ return if !reviewPanelOpen? $timeout () -> $scope.$broadcast "review-panel:toggle" - $scope.$broadcast "review-panel:layout" + $scope.$broadcast "review-panel:layout", false regenerateTrackChangesId = (doc) -> old_id = getChangeTracker(doc.doc_id).getIdSeed() diff --git a/services/web/public/coffee/ide/review-panel/directives/reviewPanelSorted.coffee b/services/web/public/coffee/ide/review-panel/directives/reviewPanelSorted.coffee index 2bd66c723e..4028406713 100644 --- a/services/web/public/coffee/ide/review-panel/directives/reviewPanelSorted.coffee +++ b/services/web/public/coffee/ide/review-panel/directives/reviewPanelSorted.coffee @@ -6,7 +6,11 @@ define [ link: (scope, element, attrs) -> previous_focused_entry_index = 0 - layout = () -> + layout = (animate = true) -> + if animate + element.removeClass("no-animate") + else + element.addClass("no-animate") sl_console.log "LAYOUT" if scope.ui.reviewPanelOpen PADDING = 8 @@ -101,9 +105,9 @@ define [ scope.$applyAsync () -> layout() - scope.$on "review-panel:layout", () -> + scope.$on "review-panel:layout", (e, animate = true) -> scope.$applyAsync () -> - layout() + layout(animate) scope.$watch "reviewPanel.rendererData.lineHeight", () -> layout() diff --git a/services/web/public/stylesheets/app/editor/review-panel.less b/services/web/public/stylesheets/app/editor/review-panel.less index 1bac7faf6f..65875af6ac 100644 --- a/services/web/public/stylesheets/app/editor/review-panel.less +++ b/services/web/public/stylesheets/app/editor/review-panel.less @@ -184,6 +184,9 @@ color: #FFF; cursor: pointer; transition: top 0.3s, left 0.1s, right 0.1s; + .no-animate & { + transition: none; + } &-focused { left: 0px; @@ -277,6 +280,9 @@ border-radius: 3px; background-color: #FFF; transition: top 0.3s, left 0.1s, right 0.1s; + .no-animate & { + transition: none; + } &-insert { border-color: @rp-green; From d7c40fa6efd1cefa5a73d442d5aa427810732701 Mon Sep 17 00:00:00 2001 From: James Allen Date: Mon, 13 Feb 2017 10:05:48 +0100 Subject: [PATCH 2/4] Run comments through same URL linking filter as chat --- services/web/app/views/project/editor/review-panel.pug | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/web/app/views/project/editor/review-panel.pug b/services/web/app/views/project/editor/review-panel.pug index 43a854b591..c09f2a1e0b 100644 --- a/services/web/app/views/project/editor/review-panel.pug +++ b/services/web/app/views/project/editor/review-panel.pug @@ -201,7 +201,7 @@ script(type='text/ng-template', id='commentEntryTemplate') span.rp-entry-user( style="color: hsl({{ comment.user.hue }}, 70%, 40%);", ) {{ comment.user.name }}:  - | {{ comment.content }} + span(ng-bind-html="comment.content | linky:'_blank'") textarea.rp-comment-input( expandable-text-area ng-if="comment.editing" @@ -272,7 +272,7 @@ script(type='text/ng-template', id='resolvedCommentEntryTemplate') style="color: hsl({{ comment.user.hue }}, 70%, 40%);" ng-if="$first || comment.user.id !== thread.messages[$index - 1].user.id" ) {{ comment.user.name }}:  - | {{ comment.content }} + span(ng-bind-html="comment.content | linky:'_blank'") .rp-entry-metadata | {{ comment.timestamp | date : 'MMM d, y h:mm a' }} .rp-comment.rp-comment-resolver From f590b9c97a9e366a237add19ce7d9df094a11232 Mon Sep 17 00:00:00 2001 From: James Allen Date: Mon, 13 Feb 2017 10:09:35 +0100 Subject: [PATCH 3/4] Scroll when long words would overflow comment entry --- services/web/public/stylesheets/app/editor/review-panel.less | 1 + 1 file changed, 1 insertion(+) diff --git a/services/web/public/stylesheets/app/editor/review-panel.less b/services/web/public/stylesheets/app/editor/review-panel.less index 65875af6ac..657a9f4ffe 100644 --- a/services/web/public/stylesheets/app/editor/review-panel.less +++ b/services/web/public/stylesheets/app/editor/review-panel.less @@ -423,6 +423,7 @@ .rp-comment-content { margin: 0; color: @rp-type-darkgrey; + overflow-x: auto; // Long words, like links can overflow without this. } .rp-comment-resolver { From a9c89635bdcafc4b4a912b0e4ac760f5435c44d2 Mon Sep 17 00:00:00 2001 From: James Allen Date: Mon, 13 Feb 2017 10:16:16 +0100 Subject: [PATCH 4/4] Also scroll long deletes and insertions if would overflow --- services/web/public/stylesheets/app/editor/review-panel.less | 1 + 1 file changed, 1 insertion(+) diff --git a/services/web/public/stylesheets/app/editor/review-panel.less b/services/web/public/stylesheets/app/editor/review-panel.less index 657a9f4ffe..e39df0fbc6 100644 --- a/services/web/public/stylesheets/app/editor/review-panel.less +++ b/services/web/public/stylesheets/app/editor/review-panel.less @@ -345,6 +345,7 @@ // We need to set any low-enough flex base size (0px), making it growable (1) and non-shrinkable (0). // This is needed to ensure that IE makes the element fill the available space. flex: 1 0 1px; + overflow-x: auto; .rp-state-overview & { margin-left: 0;