$scope.draftsEnabled = $attrs.draftsEnabled === 'true';
$scope.isUpdateDraft = Number($attrs.pageUpdateDraft) === 1;
$scope.isNewPageDraft = Number($attrs.pageNewDraft) === 1;
- $scope.commentsLoaded = false;
// Set initial header draft text
if ($scope.isUpdateDraft || $scope.isNewPageDraft) {
const MarkdownIt = require("markdown-it");
const md = new MarkdownIt({html: true});
let vm = this;
- $scope.errors = {};
vm.saveComment = function () {
let pageId = $scope.comment.pageId || $scope.pageId;
}]);
// Controller used to fetch all comments for a page
- ngApp.controller('CommentListController', ['$scope', '$http', '$timeout', function ($scope, $http, $timeout) {
+ ngApp.controller('CommentListController', ['$scope', '$http', '$timeout', '$location', function ($scope, $http, $timeout, $location) {
let vm = this;
$scope.errors = {};
// keep track of comment levels
if (vm.permissions[propOwn] && comment.created_by.id === vm.current_user_id) {
return true;
}
-
+
return false;
};
return vm.permissions.comment_create;
};
+ // check if there are is any direct linking
+ let linkedCommentId = $location.search().cm;
+
$timeout(function() {
$http.get(window.baseUrl(`/ajax/page/${$scope.pageId}/comments/`)).then(resp => {
if (!isCommentOpSuccess(resp)) {
vm.permissions = resp.data.permissions;
vm.current_user_id = resp.data.user_id;
setTotalCommentMsg();
+ if (!linkedCommentId) {
+ return;
+ }
+ $timeout(function() {
+ // wait for the UI to render.
+ focusLinkedComment(linkedCommentId);
+ });
}, checkError);
});
}
}
+ function focusLinkedComment(linkedCommentId) {
+ let comment = angular.element('#' + linkedCommentId);
+ if (comment.length === 0) {
+ return;
+ }
+
+ window.setupPageShow.goToText(linkedCommentId);
+ }
+
function checkError(response) {
let msg = null;
if (isCommentOpSuccess(response)) {