Commit 266ce040 authored by bingchuan's avatar bingchuan

[dev] version 2.18.4

parent db54ffc9
/*! /*!
* angular-translate - v2.13.1 - 2016-12-06 * angular-translate - v2.18.4 - 2021-01-14
* *
* Copyright (c) 2016 The angular-translate team, Pascal Precht; Licensed MIT * Copyright (c) 2021 The angular-translate team, Pascal Precht; Licensed MIT
*/ */
(function (root, factory) { (function (root, factory) {
if (typeof define === 'function' && define.amd) { if (typeof define === 'function' && define.amd) {
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
define([], function () { define([], function () {
return (factory()); return (factory());
}); });
} else if (typeof exports === 'object') { } else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but // Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports, // only CommonJS-like environments that support module.exports,
// like Node. // like Node.
...@@ -19,105 +19,105 @@ ...@@ -19,105 +19,105 @@
} }
}(this, function () { }(this, function () {
$translateLocalStorageFactory.$inject = ['$window', '$translateCookieStorage']; $translateLocalStorageFactory.$inject = ['$window', '$translateCookieStorage'];
angular.module('pascalprecht.translate') angular.module('pascalprecht.translate')
/**
* @ngdoc object
* @name pascalprecht.translate.$translateLocalStorage
* @requires $window
* @requires $translateCookieStorage
*
* @description
* Abstraction layer for localStorage. This service is used when telling angular-translate
* to use localStorage as storage.
*
*/
.factory('$translateLocalStorage', $translateLocalStorageFactory);
function $translateLocalStorageFactory($window, $translateCookieStorage) {
'use strict';
// Setup adapter
var localStorageAdapter = (function(){
var langKey;
return {
/** /**
* @ngdoc function * @ngdoc object
* @name pascalprecht.translate.$translateLocalStorage#get * @name pascalprecht.translate.$translateLocalStorage
* @methodOf pascalprecht.translate.$translateLocalStorage * @requires $window
* @requires $translateCookieStorage
* *
* @description * @description
* Returns an item from localStorage by given name. * Abstraction layer for localStorage. This service is used when telling angular-translate
* to use localStorage as storage.
* *
* @param {string} name Item name
* @return {string} Value of item name
*/ */
get: function (name) { .factory('$translateLocalStorage', $translateLocalStorageFactory);
if(!langKey) {
langKey = $window.localStorage.getItem(name);
}
return langKey; function $translateLocalStorageFactory($window, $translateCookieStorage) {
},
/** 'use strict';
* @ngdoc function
* @name pascalprecht.translate.$translateLocalStorage#set // Setup adapter
* @methodOf pascalprecht.translate.$translateLocalStorage var localStorageAdapter = (function(){
* var langKey;
* @description return {
* Sets an item in localStorage by given name. /**
* * @ngdoc function
* @deprecated use #put * @name pascalprecht.translate.$translateLocalStorage#get
* * @methodOf pascalprecht.translate.$translateLocalStorage
* @param {string} name Item name *
* @param {string} value Item value * @description
*/ * Returns an item from localStorage by given name.
set: function (name, value) { *
langKey=value; * @param {string} name Item name
$window.localStorage.setItem(name, value); * @return {string} Value of item name
}, */
/** get: function (name) {
* @ngdoc function if(!langKey) {
* @name pascalprecht.translate.$translateLocalStorage#put langKey = $window.localStorage.getItem(name);
* @methodOf pascalprecht.translate.$translateLocalStorage }
*
* @description
* Sets an item in localStorage by given name.
*
* @param {string} name Item name
* @param {string} value Item value
*/
put: function (name, value) {
langKey=value;
$window.localStorage.setItem(name, value);
}
};
}());
var hasLocalStorageSupport = 'localStorage' in $window; return langKey;
if (hasLocalStorageSupport) { },
var testKey = 'pascalprecht.translate.storageTest'; /**
try { * @ngdoc function
// this check have to be wrapped within a try/catch because on * @name pascalprecht.translate.$translateLocalStorage#set
// a SecurityError: Dom Exception 18 on iOS * @methodOf pascalprecht.translate.$translateLocalStorage
if ($window.localStorage !== null) { *
$window.localStorage.setItem(testKey, 'foo'); * @description
$window.localStorage.removeItem(testKey); * Sets an item in localStorage by given name.
hasLocalStorageSupport = true; *
} else { * @deprecated use #put
*
* @param {string} name Item name
* @param {string} value Item value
*/
set: function (name, value) {
langKey=value;
$window.localStorage.setItem(name, value);
},
/**
* @ngdoc function
* @name pascalprecht.translate.$translateLocalStorage#put
* @methodOf pascalprecht.translate.$translateLocalStorage
*
* @description
* Sets an item in localStorage by given name.
*
* @param {string} name Item name
* @param {string} value Item value
*/
put: function (name, value) {
langKey=value;
$window.localStorage.setItem(name, value);
}
};
}());
var hasLocalStorageSupport = 'localStorage' in $window;
if (hasLocalStorageSupport) {
var testKey = 'pascalprecht.translate.storageTest';
try {
// this check have to be wrapped within a try/catch because on
// a SecurityError: Dom Exception 18 on iOS
if ($window.localStorage !== null) {
$window.localStorage.setItem(testKey, 'foo');
$window.localStorage.removeItem(testKey);
hasLocalStorageSupport = true;
} else {
hasLocalStorageSupport = false;
}
} catch (e){
hasLocalStorageSupport = false; hasLocalStorageSupport = false;
} }
} catch (e){
hasLocalStorageSupport = false;
} }
var $translateLocalStorage = hasLocalStorageSupport ? localStorageAdapter : $translateCookieStorage;
return $translateLocalStorage;
} }
var $translateLocalStorage = hasLocalStorageSupport ? localStorageAdapter : $translateCookieStorage;
return $translateLocalStorage;
}
$translateLocalStorageFactory.displayName = '$translateLocalStorageFactory'; $translateLocalStorageFactory.displayName = '$translateLocalStorageFactory';
return 'pascalprecht.translate'; return 'pascalprecht.translate';
})); }));
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment