"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);
}
};
}]);
}());