aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/resources/META-INF/resources/designer/lib/angular-highlightjs.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/resources/META-INF/resources/designer/lib/angular-highlightjs.js')
-rw-r--r--src/main/resources/META-INF/resources/designer/lib/angular-highlightjs.js380
1 files changed, 0 insertions, 380 deletions
diff --git a/src/main/resources/META-INF/resources/designer/lib/angular-highlightjs.js b/src/main/resources/META-INF/resources/designer/lib/angular-highlightjs.js
deleted file mode 100644
index 1ded24b6..00000000
--- a/src/main/resources/META-INF/resources/designer/lib/angular-highlightjs.js
+++ /dev/null
@@ -1,380 +0,0 @@
-/*! angular-highlightjs
-version: 0.4.1
-build date: 2015-02-03
-author: Chih-Hsuan Fan
-https://github.com/pc035860/angular-highlightjs.git */
-
-/* commonjs package manager support (eg componentjs) */
-if (typeof module !== "undefined" && typeof exports !== "undefined" && module.exports === exports){
- module.exports = 'hljs';
-}
-
-(function (window, angular, undefined) {
-/*global angular*/
-
-function shouldHighlightStatics(attrs) {
- var should = true;
- angular.forEach([
- 'source', 'include'
- ], function (name) {
- if (attrs[name]) {
- should = false;
- }
- });
- return should;
-}
-
-
-var ngModule = angular.module('hljs', []);
-
-/**
- * hljsService service
- */
-ngModule.provider('hljsService', function () {
- var _hljsOptions = {};
-
- return {
- setOptions: function (options) {
- angular.extend(_hljsOptions, options);
- },
- getOptions: function () {
- return angular.copy(_hljsOptions);
- },
- $get: ['$window', function ($window) {
- ($window.hljs.configure || angular.noop)(_hljsOptions);
- return $window.hljs;
- }]
- };
-});
-
-/**
- * hljsCache service
- */
-ngModule.factory('hljsCache', [
- '$cacheFactory',
-function ($cacheFactory) {
- return $cacheFactory('hljsCache');
-}]);
-
-/**
- * HljsCtrl controller
- */
-ngModule.controller('HljsCtrl', [
- 'hljsCache', 'hljsService',
-function HljsCtrl (hljsCache, hljsService) {
- var ctrl = this;
-
- var _elm = null,
- _lang = null,
- _code = null,
- _hlCb = null;
-
- ctrl.init = function (codeElm) {
- _elm = codeElm;
- };
-
- ctrl.setLanguage = function (lang) {
- _lang = lang;
-
- if (_code) {
- ctrl.highlight(_code);
- }
- };
-
- ctrl.highlightCallback = function (cb) {
- _hlCb = cb;
- };
-
- ctrl.highlight = function (code) {
- if (!_elm) {
- return;
- }
-
- var res, cacheKey;
-
- _code = code;
-
- if (_lang) {
- // language specified
- cacheKey = ctrl._cacheKey(_lang, _code);
- res = hljsCache.get(cacheKey);
-
- if (!res) {
- res = hljsService.highlight(_lang, hljsService.fixMarkup(_code), true);
- hljsCache.put(cacheKey, res);
- }
- }
- else {
- // language auto-detect
- cacheKey = ctrl._cacheKey(_code);
- res = hljsCache.get(cacheKey);
-
- if (!res) {
- res = hljsService.highlightAuto(hljsService.fixMarkup(_code));
- hljsCache.put(cacheKey, res);
- }
- }
-
- _elm.html(res.value);
- // language as class on the <code> tag
- _elm.addClass(res.language);
-
- if (_hlCb !== null && angular.isFunction(_hlCb)) {
- _hlCb();
- }
- };
-
- ctrl.clear = function () {
- if (!_elm) {
- return;
- }
- _code = null;
- _elm.text('');
- };
-
- ctrl.release = function () {
- _elm = null;
- };
-
- ctrl._cacheKey = function () {
- var args = Array.prototype.slice.call(arguments),
- glue = "!angular-highlightjs!";
- return args.join(glue);
- };
-}]);
-
-
-var hljsDir, languageDirFactory, sourceDirFactory, includeDirFactory;
-
-/**
- * hljs directive
- */
-hljsDir = ['$compile', '$parse', function ($compile, $parse) {
- return {
- restrict: 'EA',
- controller: 'HljsCtrl',
- compile: function(tElm, tAttrs, transclude) {
- // get static code
- // strip the starting "new line" character
- var staticHTML = tElm[0].innerHTML.replace(/^(\r\n|\r|\n)/m, ''),
- staticText = tElm[0].textContent.replace(/^(\r\n|\r|\n)/m, '');
-
- // put template
- tElm.html('<pre><code class="hljs"></code></pre>');
-
- return function postLink(scope, iElm, iAttrs, ctrl) {
- var compileCheck, escapeCheck;
-
- if (angular.isDefined(iAttrs.compile)) {
- compileCheck = $parse(iAttrs.compile);
- }
-
- if (angular.isDefined(iAttrs.escape)) {
- escapeCheck = $parse(iAttrs.escape);
- } else if (angular.isDefined(iAttrs.noEscape)) {
- escapeCheck = $parse('false');
- }
-
- ctrl.init(iElm.find('code'));
-
- if (iAttrs.onhighlight) {
- ctrl.highlightCallback(function () {
- scope.$eval(iAttrs.onhighlight);
- });
- }
-
- if ((staticHTML || staticText) && shouldHighlightStatics(iAttrs)) {
-
- var code;
-
- // Auto-escape check
- // default to "true"
- if (escapeCheck && !escapeCheck(scope)) {
- code = staticText;
- }
- else {
- code = staticHTML;
- }
-
- ctrl.highlight(code);
-
- // Check if the highlight result needs to be compiled
- if (compileCheck && compileCheck(scope)) {
- // compile the new DOM and link it to the current scope.
- // NOTE: we only compile .childNodes so that
- // we don't get into infinite loop compiling ourselves
- $compile(iElm.find('code').contents())(scope);
- }
- }
-
- scope.$on('$destroy', function () {
- ctrl.release();
- });
- };
- }
- };
-}];
-
-/**
- * language directive
- */
-languageDirFactory = function (dirName) {
- return [function () {
- return {
- require: '?hljs',
- restrict: 'A',
- link: function (scope, iElm, iAttrs, ctrl) {
- if (!ctrl) {
- return;
- }
- iAttrs.$observe(dirName, function (lang) {
- if (angular.isDefined(lang)) {
- ctrl.setLanguage(lang);
- }
- });
- }
- };
- }];
-};
-
-/**
- * source directive
- */
-sourceDirFactory = function (dirName) {
- return ['$compile', '$parse', function ($compile, $parse) {
- return {
- require: '?hljs',
- restrict: 'A',
- link: function(scope, iElm, iAttrs, ctrl) {
- var compileCheck;
-
- if (!ctrl) {
- return;
- }
-
- if (angular.isDefined(iAttrs.compile)) {
- compileCheck = $parse(iAttrs.compile);
- }
-
- scope.$watch(iAttrs[dirName], function (newCode, oldCode) {
- if (newCode) {
- ctrl.highlight(newCode);
-
- // Check if the highlight result needs to be compiled
- if (compileCheck && compileCheck(scope)) {
- // compile the new DOM and link it to the current scope.
- // NOTE: we only compile .childNodes so that
- // we don't get into infinite loop compiling ourselves
- $compile(iElm.find('code').contents())(scope);
- }
- }
- else {
- ctrl.clear();
- }
- });
- }
- };
- }];
-};
-
-/**
- * include directive
- */
-includeDirFactory = function (dirName) {
- return [
- '$http', '$templateCache', '$q', '$compile', '$parse',
- function ($http, $templateCache, $q, $compile, $parse) {
- return {
- require: '?hljs',
- restrict: 'A',
- compile: function(tElm, tAttrs, transclude) {
- var srcExpr = tAttrs[dirName];
-
- return function postLink(scope, iElm, iAttrs, ctrl) {
- var changeCounter = 0, compileCheck;
-
- if (!ctrl) {
- return;
- }
-
- if (angular.isDefined(iAttrs.compile)) {
- compileCheck = $parse(iAttrs.compile);
- }
-
- scope.$watch(srcExpr, function (src) {
- var thisChangeId = ++changeCounter;
-
- if (src && angular.isString(src)) {
- var templateCachePromise, dfd;
-
- templateCachePromise = $templateCache.get(src);
- if (!templateCachePromise) {
- dfd = $q.defer();
- $http.get(src, {
- cache: $templateCache,
- transformResponse: function(data, headersGetter) {
- // Return the raw string, so $http doesn't parse it
- // if it's json.
- return data;
- }
- }).success(function (code) {
- if (thisChangeId !== changeCounter) {
- return;
- }
- dfd.resolve(code);
- }).error(function() {
- if (thisChangeId === changeCounter) {
- ctrl.clear();
- }
- dfd.resolve();
- });
- templateCachePromise = dfd.promise;
- }
-
- $q.when(templateCachePromise)
- .then(function (code) {
- if (!code) {
- return;
- }
-
- // $templateCache from $http
- if (angular.isArray(code)) {
- // 1.1.5
- code = code[1];
- }
- else if (angular.isObject(code)) {
- // 1.0.7
- code = code.data;
- }
-
- code = code.replace(/^(\r\n|\r|\n)/m, '');
- ctrl.highlight(code);
-
- // Check if the highlight result needs to be compiled
- if (compileCheck && compileCheck(scope)) {
- // compile the new DOM and link it to the current scope.
- // NOTE: we only compile .childNodes so that
- // we don't get into infinite loop compiling ourselves
- $compile(iElm.find('code').contents())(scope);
- }
- });
- }
- else {
- ctrl.clear();
- }
- });
- };
- }
- };
- }];
-};
-
-/**
- * Add directives
- */
-ngModule
-.directive('hljs', hljsDir)
-.directive('language', languageDirFactory('language'))
-.directive('source', sourceDirFactory('source'))
-.directive('include', includeDirFactory('include'));
-})(window, window.angular); \ No newline at end of file