/**
* @license AngularJS v1.2.9
* (c) 2010-2014 Google, Inc. http://angularjs.org
* License: MIT
*/
(function(window, document, undefined) {'use strict';
/**
* @description
*
* This object provides a utility for producing rich Error messages within
* Angular. It can be called as follows:
*
* var exampleMinErr = minErr('example');
* throw exampleMinErr('one', 'This {0} is {1}', foo, bar);
*
* The above creates an instance of minErr in the example namespace. The
* resulting error will have a namespaced error code of example.one. The
* resulting error will replace {0} with the value of foo, and {1} with the
* value of bar. The object is not restricted in the number of arguments it can
* take.
*
* If fewer arguments are specified than necessary for interpolation, the extra
* interpolation markers will be preserved in the final string.
*
* Since data will be parsed statically during a build step, some restrictions
* are applied with respect to how minErr instances are created and called.
* Instances should have names of the form namespaceMinErr for a minErr created
* using minErr('namespace') . Error codes, namespaces and template strings
* should all be static strings, not variables or general expressions.
*
* @param {string} module The namespace to use for the new minErr instance.
* @returns {function(string, string, ...): Error} instance
*/
function minErr(module) {
return function () {
var code = arguments[0],
prefix = '[' + (module ? module + ':' : '') + code + '] ',
template = arguments[1],
templateArgs = arguments,
stringify = function (obj) {
if (typeof obj === 'function') {
return obj.toString().replace(/ \{[\s\S]*$/, '');
} else if (typeof obj === 'undefined') {
return 'undefined';
} else if (typeof obj !== 'string') {
return JSON.stringify(obj);
}
return obj;
},
message, i;
message = prefix + template.replace(/\{\d+\}/g, function (match) {
var index = +match.slice(1, -1), arg;
if (index + 2 < templateArgs.length) {
arg = templateArgs[index + 2];
if (typeof arg === 'function') {
return arg.toString().replace(/ ?\{[\s\S]*$/, '');
} else if (typeof arg === 'undefined') {
return 'undefined';
} else if (typeof arg !== 'string') {
return toJson(arg);
}
return arg;
}
return match;
});
message = message + '\nhttp://errors.angularjs.org/1.2.9/' +
(module ? module + '/' : '') + code;
for (i = 2; i < arguments.length; i++) {
message = message + (i == 2 ? '?' : '&') + 'p' + (i-2) + '=' +
encodeURIComponent(stringify(arguments[i]));
}
return new Error(message);
};
}
/* We need to tell jshint what variables are being exported */
/* global
-angular,
-msie,
-jqLite,
-jQuery,
-slice,
-push,
-toString,
-ngMinErr,
-_angular,
-angularModule,
-nodeName_,
-uid,
-lowercase,
-uppercase,
-manualLowercase,
-manualUppercase,
-nodeName_,
-isArrayLike,
-forEach,
-sortedKeys,
-forEachSorted,
-reverseParams,
-nextUid,
-setHashKey,
-extend,
-int,
-inherit,
-noop,
-identity,
-valueFn,
-isUndefined,
-isDefined,
-isObject,
-isString,
-isNumber,
-isDate,
-isArray,
-isFunction,
-isRegExp,
-isWindow,
-isScope,
-isFile,
-isBoolean,
-trim,
-isElement,
-makeMap,
-map,
-size,
-includes,
-indexOf,
-arrayRemove,
-isLeafNode,
-copy,
-shallowCopy,
-equals,
-csp,
-concat,
-sliceArgs,
-bind,
-toJsonReplacer,
-toJson,
-fromJson,
-toBoolean,
-startingTag,
-tryDecodeURIComponent,
-parseKeyValue,
-toKeyValue,
-encodeUriSegment,
-encodeUriQuery,
-angularInit,
-bootstrap,
-snake_case,
-bindJQuery,
-assertArg,
-assertArgFn,
-assertNotHasOwnProperty,
-getter,
-getBlockElements,
*/
////////////////////////////////////
/**
* @ngdoc function
* @name angular.lowercase
* @function
*
* @description Converts the specified string to lowercase.
* @param {string} string String to be converted to lowercase.
* @returns {string} Lowercased string.
*/
var lowercase = function(string){return isString(string) ? string.toLowerCase() : string;};
/**
* @ngdoc function
* @name angular.uppercase
* @function
*
* @description Converts the specified string to uppercase.
* @param {string} string String to be converted to uppercase.
* @returns {string} Uppercased string.
*/
var uppercase = function(string){return isString(string) ? string.toUpperCase() : string;};
var manualLowercase = function(s) {
/* jshint bitwise: false */
return isString(s)
? s.replace(/[A-Z]/g, function(ch) {return String.fromCharCode(ch.charCodeAt(0) | 32);})
: s;
};
var manualUppercase = function(s) {
/* jshint bitwise: false */
return isString(s)
? s.replace(/[a-z]/g, function(ch) {return String.fromCharCode(ch.charCodeAt(0) & ~32);})
: s;
};
// String#toLowerCase and String#toUpperCase don't produce correct results in browsers with Turkish
// locale, for this reason we need to detect this case and redefine lowercase/uppercase methods
// with correct but slower alternatives.
if ('i' !== 'I'.toLowerCase()) {
lowercase = manualLowercase;
uppercase = manualUppercase;
}
var /** holds major version number for IE or NaN for real browsers */
msie,
jqLite, // delay binding since jQuery could be loaded after us.
jQuery, // delay binding
slice = [].slice,
push = [].push,
toString = Object.prototype.toString,
ngMinErr = minErr('ng'),
_angular = window.angular,
/** @name angular */
angular = window.angular || (window.angular = {}),
angularModule,
nodeName_,
uid = ['0', '0', '0'];
/**
* IE 11 changed the format of the UserAgent string.
* See http://msdn.microsoft.com/en-us/library/ms537503.aspx
*/
msie = int((/msie (\d+)/.exec(lowercase(navigator.userAgent)) || [])[1]);
if (isNaN(msie)) {
msie = int((/trident\/.*; rv:(\d+)/.exec(lowercase(navigator.userAgent)) || [])[1]);
}
/**
* @private
* @param {*} obj
* @return {boolean} Returns true if `obj` is an array or array-like object (NodeList, Arguments,
* String ...)
*/
function isArrayLike(obj) {
if (obj == null || isWindow(obj)) {
return false;
}
var length = obj.length;
if (obj.nodeType === 1 && length) {
return true;
}
return isString(obj) || isArray(obj) || length === 0 ||
typeof length === 'number' && length > 0 && (length - 1) in obj;
}
/**
* @ngdoc function
* @name angular.forEach
* @function
*
* @description
* Invokes the `iterator` function once for each item in `obj` collection, which can be either an
* object or an array. The `iterator` function is invoked with `iterator(value, key)`, where `value`
* is the value of an object property or an array element and `key` is the object property key or
* array element index. Specifying a `context` for the function is optional.
*
* It is worth nothing that `.forEach` does not iterate over inherited properties because it filters
* using the `hasOwnProperty` method.
*
<pre>
var values = {name: 'misko', gender: 'male'};
var log = [];
angular.forEach(values, function(value, key){
this.push(key + ': ' + value);
}, log);
expect(log).toEqual(['name: misko', 'gender:male']);
</pre>
*
* @param {Object|Array} obj Object to iterate over.
* @param {Function} iterator Iterator function.
* @param {Object=} context Object to become context (`this`) for the iterator function.
* @returns {Object|Array} Reference to `obj`.
*/
function forEach(obj, itera
没有合适的资源?快使用搜索试试~ 我知道了~
angular-login
共288个文件
js:266个
map:8个
html:4个
需积分: 0 1 下载量 161 浏览量
2021-07-08
08:29:04
上传
评论
收藏 682KB ZIP 举报
温馨提示
角度登录 这是我的第二次提交
资源详情
资源评论
资源推荐
收起资源包目录
angular-login (288个子文件)
app.css 100KB
angular-csp.css 241B
.gitkeep 0B
.gitkeep 0B
angular.min.js.gzip 36KB
login.tpl.html 662B
index.html 576B
home.html 84B
login.html 65B
angular.js 709KB
angular.min.js 98KB
angular-animate.js 69KB
angular-route.js 32KB
angular-resource.js 23KB
angular-touch.js 20KB
angular-sanitize.js 20KB
angular-loader.js 14KB
angular-animate.min.js 9KB
angular-cookies.js 6KB
angular-sanitize.min.js 4KB
angular-route.min.js 4KB
angular-locale_en-dsrt-us.js 4KB
angular-locale_en-dsrt.js 4KB
angular-locale_ar-jo.js 3KB
angular-locale_ar-lb.js 3KB
angular-locale_ar-sy.js 3KB
angular-locale_ar-001.js 3KB
angular-locale_ar-ae.js 3KB
angular-locale_ar-kw.js 3KB
angular-locale_ar-qa.js 3KB
angular-locale_ar-sd.js 3KB
angular-locale_ar-om.js 3KB
angular-locale_ar-sa.js 3KB
angular-locale_ar-ye.js 3KB
angular-locale_ar-iq.js 3KB
angular-locale_ar-ly.js 3KB
angular-locale_ar-eg.js 3KB
angular-locale_ar-bh.js 3KB
angular-locale_ar.js 3KB
angular-locale_ar-tn.js 3KB
angular-locale_ar-ma.js 3KB
angular-locale_ar-dz.js 3KB
angular-locale_ru-ru.js 3KB
angular-locale_ru.js 3KB
angular-resource.min.js 3KB
angular-locale_ml-in.js 3KB
angular-locale_ml.js 3KB
angular-touch.min.js 3KB
angular-locale_uk-ua.js 3KB
angular-locale_uk.js 3KB
angular-locale_bn-in.js 3KB
angular-locale_bn-bd.js 3KB
angular-locale_bn.js 3KB
angular-locale_sr-cyrl-rs.js 3KB
angular-locale_sr.js 3KB
angular-locale_or-in.js 3KB
angular-locale_or.js 3KB
angular-locale_fa-ir.js 3KB
angular-locale_te-in.js 3KB
angular-locale_fa.js 3KB
angular-locale_te.js 3KB
angular-locale_el-cy.js 3KB
angular-locale_el-gr.js 3KB
angular-locale_el.js 3KB
angular-locale_hi-in.js 3KB
angular-locale_hi.js 3KB
angular-locale_fa-af.js 3KB
angular-locale_gu-in.js 3KB
angular-locale_gu.js 3KB
angular-locale_th-th.js 3KB
angular-locale_mr-in.js 3KB
angular-locale_kn-in.js 3KB
angular-locale_th.js 3KB
angular-locale_mr.js 3KB
angular-locale_kn.js 3KB
angular-locale_he-il.js 3KB
angular-locale_he.js 3KB
angular-locale_iw.js 3KB
angular-locale_bg-bg.js 3KB
angular-locale_bg.js 3KB
angular-locale_ur-pk.js 3KB
angular-locale_ur.js 3KB
angular-locale_ta-in.js 3KB
angular-locale_ta.js 3KB
angular-locale_am-et.js 2KB
angular-locale_am.js 2KB
angular-locale_ln-cd.js 2KB
angular-locale_ln.js 2KB
angular-locale_pl-pl.js 2KB
angular-locale_pl.js 2KB
angular-locale_hr-hr.js 2KB
angular-locale_hr.js 2KB
angular-locale_sr-latn-rs.js 2KB
angular-locale_lt-lt.js 2KB
angular-locale_lt.js 2KB
angular-locale_vi-vn.js 2KB
angular-locale_vi.js 2KB
angular-locale_mt-mt.js 2KB
angular-locale_mt.js 2KB
angular-locale_zh-hk.js 2KB
共 288 条
- 1
- 2
- 3
AR新视野
- 粉丝: 25
- 资源: 4651
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0