aboutsummaryrefslogtreecommitdiffstats
path: root/vnfmarket/common/thirdparty/angular-translate-loader-static-files/angular-translate-loader-static-files.js
diff options
context:
space:
mode:
Diffstat (limited to 'vnfmarket/common/thirdparty/angular-translate-loader-static-files/angular-translate-loader-static-files.js')
-rw-r--r--vnfmarket/common/thirdparty/angular-translate-loader-static-files/angular-translate-loader-static-files.js112
1 files changed, 112 insertions, 0 deletions
diff --git a/vnfmarket/common/thirdparty/angular-translate-loader-static-files/angular-translate-loader-static-files.js b/vnfmarket/common/thirdparty/angular-translate-loader-static-files/angular-translate-loader-static-files.js
new file mode 100644
index 00000000..8a8c47ac
--- /dev/null
+++ b/vnfmarket/common/thirdparty/angular-translate-loader-static-files/angular-translate-loader-static-files.js
@@ -0,0 +1,112 @@
+/*!
+ * angular-translate - v2.14.0 - 2017-02-11
+ *
+ * Copyright (c) 2017 The angular-translate team, Pascal Precht; Licensed MIT
+ */
+(function (root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD. Register as an anonymous module unless amdModuleId is set
+ define([], function () {
+ return (factory());
+ });
+ } else if (typeof exports === 'object') {
+ // Node. Does not work with strict CommonJS, but
+ // only CommonJS-like environments that support module.exports,
+ // like Node.
+ module.exports = factory();
+ } else {
+ factory();
+ }
+}(this, function () {
+
+$translateStaticFilesLoader.$inject = ['$q', '$http'];
+angular.module('pascalprecht.translate')
+/**
+ * @ngdoc object
+ * @name pascalprecht.translate.$translateStaticFilesLoader
+ * @requires $q
+ * @requires $http
+ *
+ * @description
+ * Creates a loading function for a typical static file url pattern:
+ * "lang-en_US.json", "lang-de_DE.json", etc. Using this builder,
+ * the response of these urls must be an object of key-value pairs.
+ *
+ * @param {object} options Options object, which gets prefix, suffix, key, and fileMap
+ */
+.factory('$translateStaticFilesLoader', $translateStaticFilesLoader);
+
+function $translateStaticFilesLoader($q, $http) {
+
+ 'use strict';
+
+ return function (options) {
+
+ if (!options || (!angular.isArray(options.files) && (!angular.isString(options.prefix) || !angular.isString(options.suffix)))) {
+ throw new Error('Couldn\'t load static files, no files and prefix or suffix specified!');
+ }
+
+ if (!options.files) {
+ options.files = [{
+ prefix: options.prefix,
+ suffix: options.suffix
+ }];
+ }
+
+ var load = function (file) {
+ if (!file || (!angular.isString(file.prefix) || !angular.isString(file.suffix))) {
+ throw new Error('Couldn\'t load static file, no prefix or suffix specified!');
+ }
+
+ var fileUrl = [
+ file.prefix,
+ options.key,
+ file.suffix
+ ].join('');
+
+ if (angular.isObject(options.fileMap) && options.fileMap[fileUrl]) {
+ fileUrl = options.fileMap[fileUrl];
+ }
+
+ return $http(angular.extend({
+ url: fileUrl,
+ method: 'GET'
+ }, options.$http))
+ .then(function(result) {
+ return result.data;
+ }, function () {
+ return $q.reject(options.key);
+ });
+ };
+
+ var promises = [],
+ length = options.files.length;
+
+ for (var i = 0; i < length; i++) {
+ promises.push(load({
+ prefix: options.files[i].prefix,
+ key: options.key,
+ suffix: options.files[i].suffix
+ }));
+ }
+
+ return $q.all(promises)
+ .then(function (data) {
+ var length = data.length,
+ mergedData = {};
+
+ for (var i = 0; i < length; i++) {
+ for (var key in data[i]) {
+ mergedData[key] = data[i][key];
+ }
+ }
+
+ return mergedData;
+ });
+ };
+}
+
+$translateStaticFilesLoader.displayName = '$translateStaticFilesLoader';
+return 'pascalprecht.translate';
+
+}));