"use strict"; /** * Created by viktor.shevchenko on 7/22/2014. */ (function () { 'use strict'; angular.module('knowledgeArticleModule') .directive('processKaContent', ['$location', '$anchorScroll', '$compile', function ($location, $anchorScroll, $compile) { return { restrict: 'A', link: function (scope, iElement, iAttr) { var snippet = iAttr.processKaContent, content = $('
').append($.parseHTML(snippet)), links = content.find('a'), anchorRegEx = /^#[\w\d]/; scope.scrollToAnchor = function (event, anchor) { $location.hash(anchor); $anchorScroll(); event.preventDefault(); event.stopPropagation(); }; if (links.length) { $.each(links, function (i, elm) { var link = $(elm), href = link.attr('href'); if (anchorRegEx.test(href)) { link.attr('ng-click', 'scrollToAnchor($event, "' + href.replace(/^#/, '') + '")'); $compile(link)(scope); } }); } iElement.append(content); } }; }]); }());