diff --git a/src/directive/translate.js b/src/directive/translate.js index 81402ab62..dc6f50f31 100644 --- a/src/directive/translate.js +++ b/src/directive/translate.js @@ -90,6 +90,7 @@ angular.module('pascalprecht.translate') return { restrict: 'AE', scope: true, + priority: $translate.directivePriority(), compile: function (tElement, tAttr) { var translateValuesExist = (tAttr.translateValues) ? diff --git a/src/service/translate.js b/src/service/translate.js index 74bfcb3bf..7692f9083 100644 --- a/src/service/translate.js +++ b/src/service/translate.js @@ -31,7 +31,8 @@ angular.module('pascalprecht.translate').provider('$translate', ['$STORAGE_KEY', $notFoundIndicatorRight, $postCompilingEnabled = false, NESTED_OBJECT_DELIMITER = '.', - loaderCache; + loaderCache, + directivePriority = 0; var version = 'x.y.z'; @@ -761,6 +762,28 @@ angular.module('pascalprecht.translate').provider('$translate', ['$STORAGE_KEY', return this; }; + /** + * @ngdoc function + * @name pascalprecht.translate.$translateProvider#directivePriority + * @methodOf pascalprecht.translate.$translateProvider + * + * @description + * Sets the default priority of the translate directive. The standard value is `0`. + * Calling this function without an argument will return the current value. + * + * @param {number} priority for the translate-directive + */ + this.directivePriority = function (priority) { + if (priority === undefined) { + // getter + return directivePriority; + } else { + // setter with chaining + directivePriority = priority; + return this; + } + }; + /** * @ngdoc object * @name pascalprecht.translate.$translate @@ -1757,6 +1780,11 @@ angular.module('pascalprecht.translate').provider('$translate', ['$STORAGE_KEY', return loaderCache; }; + // internal purpose only + $translate.directivePriority = function () { + return directivePriority; + }; + if ($loaderFactory) { // If at least one async loader is defined and there are no