]> BookStack Code Mirror - bookstack/commitdiff
Merge branch 'master' of git://github.com/Abijeet/BookStack into Abijeet-master
authorDan Brown <redacted>
Sat, 2 Sep 2017 16:36:58 +0000 (17:36 +0100)
committerDan Brown <redacted>
Sat, 2 Sep 2017 16:36:58 +0000 (17:36 +0100)
1  2 
resources/assets/js/directives.js

index 8813eb88183383c57f01923ad6d86d9d30276904,eb7d2776be831dc7179b8dadc1ae7564794247ca..1f28673e1d080f0a9ad34e9e319ba0e2652397ef
@@@ -386,128 -386,152 +386,4 @@@ module.exports = function (ngApp, event
              }
          }
      }]);
--
-     ngApp.directive('commentReply', [function () {
 -    ngApp.directive('entityLinkSelector', [function($http) {
--        return {
-             restrict: 'E',
-             templateUrl: 'comment-reply.html',
-             scope: {
-               pageId: '=',
-               parentId: '=',
-               parent: '='
-             },
-             link: function (scope, element) {
-                 scope.isReply = true;
-                 element.find('textarea').focus();
-                 scope.$on('evt.comment-success', function (event) {
-                     // no need for the event to do anything more.
-                     event.stopPropagation();
-                     event.preventDefault();
-                     scope.closeBox();
 -            restrict: 'A',
 -            link: function(scope, element, attrs) {
 -
 -                const selectButton = element.find('.entity-link-selector-confirm');
 -                let callback = false;
 -                let entitySelection = null;
 -
 -                // Handle entity selection change, Stores the selected entity locally
 -                function entitySelectionChange(entity) {
 -                    entitySelection = entity;
 -                    if (entity === null) {
 -                        selectButton.attr('disabled', 'true');
 -                    } else {
 -                        selectButton.removeAttr('disabled');
 -                    }
 -                }
 -                events.listen('entity-select-change', entitySelectionChange);
 -
 -                // Handle selection confirm button click
 -                selectButton.click(event => {
 -                    hide();
 -                    if (entitySelection !== null) callback(entitySelection);
--                });
--
-                 scope.closeBox = function () {
-                     element.remove();
-                     scope.$destroy();
-                 };
-             }
-         };
-     }]);
 -                // Show selector interface
 -                function show() {
 -                    element.fadeIn(240);
 -                }
--
-     ngApp.directive('commentEdit', [function () {
-          return {
-             restrict: 'E',
-             templateUrl: 'comment-reply.html',
-             scope: {
-               comment: '='
-             },
-             link: function (scope, element) {
-                 scope.isEdit = true;
-                 element.find('textarea').focus();
-                 scope.$on('evt.comment-success', function (event, commentId) {
-                    // no need for the event to do anything more.
-                    event.stopPropagation();
-                    event.preventDefault();
-                    if (commentId === scope.comment.id && !scope.isNew) {
-                        scope.closeBox();
-                    }
 -                // Hide selector interface
 -                function hide() {
 -                    element.fadeOut(240);
 -                }
 -                scope.hide = hide;
 -
 -                // Listen to confirmation of entity selections (doubleclick)
 -                events.listen('entity-select-confirm', entity => {
 -                    hide();
 -                    callback(entity);
--                });
--
-                 scope.closeBox = function () {
-                     element.remove();
-                     scope.$destroy();
 -                // Show entity selector, Accessible globally, and store the callback
 -                window.showEntityLinkSelector = function(passedCallback) {
 -                    show();
 -                    callback = passedCallback;
--                };
 -
--            }
--        };
--    }]);
--
--
-     ngApp.directive('commentReplyLink', ['$document', '$compile', function ($document, $compile) {
 -    ngApp.directive('entitySelector', ['$http', '$sce', function ($http, $sce) {
--        return {
-             scope: {
-                 comment: '='
-             },
-             link: function (scope, element, attr) {
-                 element.on('$destroy', function () {
-                     element.off('click');
-                     scope.$destroy();
-                 });
 -            restrict: 'A',
 -            scope: true,
 -            link: function (scope, element, attrs) {
 -                scope.loading = true;
 -                scope.entityResults = false;
 -                scope.search = '';
--
-                 element.on('click', function (e) {
-                     e.preventDefault();
-                     var $container = element.parents('.comment-actions').first();
-                     if (!$container.length) {
-                         console.error('commentReplyLink directive should be placed inside a container with class comment-box!');
-                         return;
-                     }
-                     if (attr.noCommentReplyDupe) {
-                         removeDupe();
-                     }
 -                // Add input for forms
 -                const input = element.find('[entity-selector-input]').first();
--
-                     compileHtml($container, scope, attr.isReply === 'true');
 -                // Detect double click events
 -                let lastClick = 0;
 -                function isDoubleClick() {
 -                    let now = Date.now();
 -                    let answer = now - lastClick < 300;
 -                    lastClick = now;
 -                    return answer;
 -                }
 -
 -                // Listen to entity item clicks
 -                element.on('click', '.entity-list a', function(event) {
 -                    event.preventDefault();
 -                    event.stopPropagation();
 -                    let item = $(this).closest('[data-entity-type]');
 -                    itemSelect(item, isDoubleClick());
--                });
-             }
-         };
 -                element.on('click', '[data-entity-type]', function(event) {
 -                    itemSelect($(this), isDoubleClick());
 -                });
--
-         function compileHtml($container, scope, isReply) {
-             let lnkFunc = null;
-             if (isReply) {
-                 lnkFunc = $compile('<comment-reply page-id="comment.pageId" parent-id="comment.id" parent="comment"></comment-reply>');
-             } else {
-                 lnkFunc = $compile('<comment-edit comment="comment"></comment-add>');
-             }
-             var compiledHTML = lnkFunc(scope);
-             $container.append(compiledHTML);
-         }
 -                // Select entity action
 -                function itemSelect(item, doubleClick) {
 -                    let entityType = item.attr('data-entity-type');
 -                    let entityId = item.attr('data-entity-id');
 -                    let isSelected = !item.hasClass('selected') || doubleClick;
 -                    element.find('.selected').removeClass('selected').removeClass('primary-background');
 -                    if (isSelected) item.addClass('selected').addClass('primary-background');
 -                    let newVal = isSelected ? `${entityType}:${entityId}` : '';
 -                    input.val(newVal);
--
-         function removeDupe() {
-             let $existingElement = $document.find('.comments-list comment-reply, .comments-list comment-edit');
-             if (!$existingElement.length) {
-                 return;
-             }
 -                    if (!isSelected) {
 -                        events.emit('entity-select-change', null);
 -                    }
--
-             $existingElement.remove();
-         }
-     }]);
 -                    if (!doubleClick && !isSelected) return;
--
-     ngApp.directive('commentDeleteLink', ['$window', function ($window) {
-         return {
-             controller: 'CommentDeleteController',
-             scope: {
-                 comment: '='
-             },
-             link: function (scope, element, attr, ctrl) {
 -                    let link = item.find('.entity-list-item-link').attr('href');
 -                    let name = item.find('.entity-list-item-name').text();
--
-                 element.on('click', function(e) {
-                     e.preventDefault();
-                     var resp = $window.confirm(trans('entities.comment_delete_confirm'));
-                     if (!resp) {
-                         return;
 -                    if (doubleClick) {
 -                        events.emit('entity-select-confirm', {
 -                            id: Number(entityId),
 -                            name: name,
 -                            link: link
 -                        });
--                    }
--
-                     ctrl.delete(scope.comment);
 -                    if (isSelected) {
 -                        events.emit('entity-select-change', {
 -                            id: Number(entityId),
 -                            name: name,
 -                            link: link
 -                        });
 -                    }
 -                }
 -
 -                // Get search url with correct types
 -                function getSearchUrl() {
 -                    let types = (attrs.entityTypes) ? encodeURIComponent(attrs.entityTypes) : encodeURIComponent('page,book,chapter');
 -                    return window.baseUrl(`/ajax/search/entities?types=${types}`);
 -                }
 -
 -                // Get initial contents
 -                $http.get(getSearchUrl()).then(resp => {
 -                    scope.entityResults = $sce.trustAsHtml(resp.data);
 -                    scope.loading = false;
--                });
 -
 -                // Search when typing
 -                scope.searchEntities = function() {
 -                    scope.loading = true;
 -                    input.val('');
 -                    let url = getSearchUrl() + '&term=' + encodeURIComponent(scope.search);
 -                    $http.get(url).then(resp => {
 -                        scope.entityResults = $sce.trustAsHtml(resp.data);
 -                        scope.loading = false;
 -                    });
 -                };
--            }
--        };
--    }]);
  };